Source code for rastervision.core.rv_pipeline.utils

import numpy as np


[docs]def nodata_below_threshold(chip: np.ndarray, threshold: float, nodata_val: int = 0) -> bool: """Check if proportion of nodata pixels is below the threshold. Args: chip (np.ndarray): Raster as (H, W) or (H, W, C) numpy array. threshold (float): Threshold to check the fraction of NODATA pixels against. nodata_val (int, optional): Value that represents NODATA pixels. Defaults to 0. Returns: bool: Whether the fraction of NODATA pixels is below the given threshold. """ if chip.ndim == 3: # (H, W, C) --> (H, W) chip = chip.sum(axis=-1) nodata_prop = (chip == nodata_val).mean() return nodata_prop < threshold