diff --git a/sen2chain/tiles.py b/sen2chain/tiles.py index eee87c2662e3a801264ace2ff2fd8ae0650d909c..b497f4b28677b21884b526f703c7dc926e92befd 100644 --- a/sen2chain/tiles.py +++ b/sen2chain/tiles.py @@ -170,6 +170,7 @@ class ProductsList: self, cover_min: int = 0, cover_max: int = 100, + select_none: bool = True, ) -> "ProductsList": """Filters products list with a cloud coverage range. @@ -180,13 +181,13 @@ class ProductsList: """ filtered = ProductsList() for k, v in self._dict.items(): - if v["cloud_cover"] >= 0: + if not v["cloud_cover"] is None: if cover_min <= v["cloud_cover"] <= cover_max: filtered[k] = { "date": v["date"], "cloud_cover": v["cloud_cover"], } - else: + elif select_none: filtered[k] = { "date": v["date"], "cloud_cover": v["cloud_cover"], @@ -2293,6 +2294,7 @@ class Tile: remove: bool = False, cloudcover_above: int = 0, cloudcover_below: int = 100, + select_none: bool = False, dates_after: str = "2015-01-01", dates_before: str = "9999-12-31", ): @@ -2333,6 +2335,7 @@ class Tile: prod_list_filtered = prod_list.filter_clouds( cover_min = cloudcover_above, cover_max = cloudcover_below, + select_none = select_none, ).filter_dates( date_min = dates_after, date_max = dates_before, @@ -2377,6 +2380,7 @@ class Tile: remove: bool = False, cloudcover_above: int = 0, cloudcover_below: int = 100, + select_none:bool = False, dates_after: str = "2015-01-01", dates_before: str = "9999-12-31", ): @@ -2419,6 +2423,7 @@ class Tile: prod_list_filtered = prod_list.filter_clouds( cover_min = cloudcover_above, cover_max = cloudcover_below, + select_none = select_none, ).filter_dates( date_min = dates_after, date_max = dates_before, @@ -2480,6 +2485,7 @@ class Tile: remove: bool = False, cloudcover_above: int = 0, cloudcover_below: int = 100, + select_none:bool = False, dates_after: str = "2015-01-01", dates_before: str = "9999-12-31", cm_strings: list = [], @@ -2491,6 +2497,8 @@ class Tile: ).filter_clouds( cover_min = cloudcover_above, cover_max = cloudcover_below, + select_none = select_none, + ).filter_dates( date_min = dates_after, date_max = dates_before, @@ -2536,6 +2544,7 @@ class Tile: indice_list: list = [], cloudcover_above: int = 0, cloudcover_below: int = 100, + select_none: bool = False, dates_after: str = "2015-01-01", dates_before: str = "9999-12-31", cm_strings: list = [], @@ -2552,6 +2561,7 @@ class Tile: ).filter_clouds( cover_min = cloudcover_above, cover_max = cloudcover_below, + select_none = select_none, ).filter_dates( date_min = dates_after, date_max = dates_before,