Esempio n. 1
0
def woffles_ard(ard, dsm, masking_filter=fmask_filter):
    water = classify_ard(ard) | eo_filter(ard) | masking_filter(ard.fmask) | \
        terrain_filter(dsm, ard.rename({"nbart_blue": "blue"}))

    _fix_nodata_to_single_value(water)

    assert water.dtype == np.uint8

    return water
Esempio n. 2
0
def woffles(source, pq, dsm):
    """Generate a Water Observation Feature Layer from NBAR, PQ and surface elevation inputs."""

    water = classifier.classify(source.to_array(dim='band')) \
            | filters.eo_filter(source) \
            | filters.pq_filter(pq.pqa) \
            | filters.terrain_filter(dsm, source)

    assert water.dtype == np.uint8

    return water
Esempio n. 3
0
def woffles(nbar, pq, dsm):
    """Generate a Water Observation Feature Layer from NBAR, PQ and surface elevation inputs."""

    water = classifier.classify(nbar.to_array(dim='band')) \
        | filters.eo_filter(nbar) \
        | filters.pq_filter(pq.pqa) \
        | filters.terrain_filter(dsm, nbar)

    _fix_nodata_to_single_value(water)

    assert water.dtype == np.uint8

    return water
Esempio n. 4
0
def woffles_usgs_c2(c2, dsm):
    """Generate a Water Observation Feature Layer from USGS Collection 2 and surface elevation inputs."""
    nbar_bands = spectral_bands(c2)
    water = classifier.classify(nbar_bands) \
        | eo_filter(c2) \
        | c2_filter(c2.fmask)
    if dsm is not None:
        # terrain_filter arbitrarily expects a band named 'blue'
        water |= terrain_filter(dsm, c2.rename({"nbart_blue": "blue"}))

    _fix_nodata_to_single_value(water)

    assert water.dtype == np.uint8

    return water
Esempio n. 5
0
def woffles_ard(ard, dsm):
    """Generate a Water Observation Feature Layer from ARD (NBART and FMASK) and surface elevation inputs."""
    nbar_bands = spectral_bands(ard)
    water = classifier.classify(nbar_bands) \
        | eo_filter(ard) \
        | fmask_filter(ard.fmask)

    if dsm is not None:
        # terrain_filter arbitrarily expects a band named 'blue'
        water |= terrain_filter(dsm, ard.rename({"nbart_blue": "blue"}))

    _fix_nodata_to_single_value(water)

    assert water.dtype == np.uint8

    return water