Skip to content
Snippets Groups Projects
Commit 1050fd6e authored by TGermain's avatar TGermain
Browse files

option to filter TimeSeries extractions by CloudMasks

parent bdcee6f2
No related branches found
No related tags found
No related merge requests found
Pipeline #1497 passed
......@@ -80,6 +80,13 @@ class TimeSeries:
field_names: str = None,
multiproc: int = 0,
getstat: bool = True,
cm_version: str = "CM001",
probability: int = 1,
iterations: int = 5,
cld_shad: bool = True,
cld_med_prob: bool = True,
cld_hi_prob: bool = True,
thin_cir: bool = True,
) -> None:
self._vectors_file = Path(vectors_file)
......@@ -90,6 +97,13 @@ class TimeSeries:
self._field_names = field_names
self._multiproc = multiproc
self._out_path = Config().get("time_series_path")
self.cm_version = cm_version
self.probability = probability
self.iterations = iterations
self.cld_shad = cld_shad
self.cld_med_prob = cld_med_prob
self.cld_hi_prob = cld_hi_prob
self.thin_cir = thin_cir
if indices is None:
self._indices_list = IndicesCollection.list
......@@ -150,6 +164,13 @@ class TimeSeries:
date_max: str,
cover_min: int,
cover_max: int,
cm_version: str = "CM001",
probability: int = 1,
iterations: int = 5,
cld_shad: bool = True,
cld_med_prob: bool = True,
cld_hi_prob: bool = True,
thin_cir: bool = True,
) -> ProductsList:
"""Filters tile's indices products.
......@@ -160,9 +181,17 @@ class TimeSeries:
:param cover_min: minimum cloud coverage.
:param cover_max: maximum cloud coverage.
"""
products = vars(tile)[
#test filtering with cm
products = getattr(vars(tile)[
indice.lower()
].masks.cm001 ##########"" Ajouter ici un truc pour choisir le CM !!!!!
].masks,cm_version).params(
probability = probability,
iterations = iterations,
cld_shad = cld_shad,
cld_med_prob = cld_med_prob,
cld_hi_prob = cld_hi_prob,
thin_cir = thin_cir
)
filt = products.filter_dates(date_min, date_max).filter_clouds(
cover_min, cover_max
)
......@@ -283,6 +312,13 @@ class TimeSeries:
self._date_max,
self._cover_min,
self._cover_max,
self.cm_version,
self.probability,
self.iterations,
self.cld_shad,
self.cld_med_prob,
self.cld_hi_prob,
self.thin_cir,
)
for index1, prod in enumerate(products):
......@@ -387,7 +423,7 @@ class TimeSeries:
result_dict[prop] = features[fid]["properties"][prop]
shared_list.append(result_dict)
def _get_stats_multiproc(self) -> None:
def _get_stats_multiproc(self,) -> None:
start = time.time()
"""Compute stats in polygons."""
with fiona.open(str(self._vectors_file), "r") as vectors:
......@@ -424,6 +460,13 @@ class TimeSeries:
self._date_max,
self._cover_min,
self._cover_max,
self.cm_version,
self.probability,
self.iterations,
self.cld_shad,
self.cld_med_prob,
self.cld_hi_prob,
self.thin_cir,
)
proc_list = list(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment