Example #1
0
def snow_procedure_filter(observations, quality, dates, proc_params):
    """
    Filter for initial stages of the snow procedure

    Clear or Water
    and Snow

    Args:
        observations: 2-d ndarray, spectral observations
        quality: 1-d ndarray quality information
        dates: 1-d ndarray ordinal observation dates
        thermal_idx: int value identifying the thermal band in the observations
        proc_params: dictionary of processing parameters

    Returns:
        1-d boolean ndarray
    """
    thermal_idx = proc_params.THERMAL_IDX
    clear = proc_params.QA_CLEAR
    water = proc_params.QA_WATER
    snow = proc_params.QA_SNOW

    mask = ((mask_value(quality, water) | mask_value(quality, clear))
            & filter_thermal_celsius(observations[thermal_idx])
            & filter_saturated(observations)) | mask_value(quality, snow)

    date_mask = mask_duplicate_values(dates[mask])

    mask[mask] = date_mask

    return mask
Example #2
0
def standard_procedure_filter(observations, quality, dates, proc_params):
    """
    Filter for the initial stages of the standard procedure.

    Clear or Water
    and Unsaturated

    Temperatures are expected to be in celsius
    Args:
        observations: 2-d ndarray, spectral observations
        quality: 1-d ndarray observation quality information
        dates: 1-d ndarray ordinal observation dates
        proc_params: dictionary of processing parameters

    Returns:
        1-d boolean ndarray
    """
    thermal_idx = proc_params.THERMAL_IDX
    clear = proc_params.QA_CLEAR
    water = proc_params.QA_WATER

    mask = ((mask_value(quality, water) | mask_value(quality, clear))
            & filter_thermal_celsius(observations[thermal_idx])
            & filter_saturated(observations))

    date_mask = mask_duplicate_values(dates[mask])

    mask[mask] = date_mask

    return mask
Example #3
0
def count_total(quality, fill):
    """
    Count non-fill data.

    Useful for determining ratio of clear:total pixels.

    Arguments:
        quality: quality band values.
        fill: value that represents fill

    Returns:
        int
    """
    return np.sum(~mask_value(quality, fill))