def count_clear_or_water(quality, clear, water): """ Count clear or water data. Arguments: quality: quality band values. clear: value that represents clear water: value that represents water Returns: int """ return count_value(quality, clear) + count_value(quality, water)
def ratio_cloud(quality, fill, cloud): """ Calculate the ratio of observations that are cloud. Args: quality: 1-d ndarray of quality information, cannot be bitpacked fill: int value representing fill cloud: int value representing cloud Returns: float """ cloud_count = count_value(quality, cloud) total = count_total(quality, fill) return cloud_count / total
def ratio_water(quality, clear, water): """ Calculate the ratio of observations that are water. Args: quality: 1-d ndarray of quality information, cannot be bitpacked clear: int value representing clear water: int value representing water Returns: float """ clear_count = count_clear_or_water(quality, clear, water) water_count = count_value(quality, water) return water_count / (clear_count + 0.01)
def ratio_snow(quality, clear, water, snow): """Calculate ratio of snow to clear pixels; exclude fill and non-clear data. Useful for determining ratio of snow:clear pixels. Arguments: quality: CFMask quality band values. clear: value that represents clear water: value that represents water snow: value that represents snow Returns: float: Value between zero and one indicating amount of snow-observations. """ snowy_count = count_value(quality, snow) clear_count = count_clear_or_water(quality, clear, water) return snowy_count / (clear_count + snowy_count + 0.01)