From ba473de1f3041079a790627cc24661ac66b49b2a Mon Sep 17 00:00:00 2001 From: Leonardo Alvarado Date: Tue, 12 Apr 2022 01:08:57 +0200 Subject: [PATCH 1/3] additional outputs added --- .../atmospheric_correction.py | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/enpt/processors/atmospheric_correction/atmospheric_correction.py b/enpt/processors/atmospheric_correction/atmospheric_correction.py index d16bf93..2e7fa9b 100644 --- a/enpt/processors/atmospheric_correction/atmospheric_correction.py +++ b/enpt/processors/atmospheric_correction/atmospheric_correction.py @@ -135,12 +135,15 @@ class AtmosphericCorrector(object): # run ACWater/Polymer for water surfaces only # NOTE: polymer_ac_enmap() returns masked (nan) values for land - wl_ref_vnir, wl_ref_swir = \ + # - res: a dictionary containing retrieval maps with several additional retrieval measures + # -> chla, bitmask, bbs, Rnir, Rgli + + wl_ref_vnir, wl_ref_swir, water_additional_results = \ polymer_ac_enmap(enmap_l1b=enmap_ImageL1, config=self.cfg, detector='merge') - return wl_ref_vnir, wl_ref_swir + return wl_ref_vnir, wl_ref_swir, water_additional_results def _run_AC__combined_mode(self, enmap_ImageL1: EnMAPL1Product_SensorGeo @@ -169,7 +172,7 @@ class AtmosphericCorrector(object): # run ACWater/Polymer for water surfaces only # NOTE: polymer_ac_enmap() returns masked (nan) values for land - wl_ref_vnir_water, wl_ref_swir_water = \ + wl_ref_vnir_water, wl_ref_swir_water, water_additional_results = \ polymer_ac_enmap(enmap_l1b=enmap_ImageL1, config=self.cfg, detector='merge') @@ -181,8 +184,15 @@ class AtmosphericCorrector(object): wlboa_ref_swir = np.where((enmap_ImageL1.swir.mask_landwater[:] == 2)[:, :, None], wl_ref_swir_water, boa_ref_swir_land) + waterboa_additional_results = np.where((enmap_ImageL1.vnir.mask_landwater[:] == 2)[:, :, None], + water_additional_results, + boa_ref_vnir_land) + from geoarray import GeoArray + GeoArray(waterboa_additional_results).save( + '/home/alvarado/repositories/acwater/tests/data/output/EnPT_Chla.tif', fmt='GTiff') + data_geoarray = waterboa_additional_results - return wlboa_ref_vnir, wlboa_ref_swir, land_additional_results + return wlboa_ref_vnir, wlboa_ref_swir, waterboa_additional_results, land_additional_results @staticmethod def _validate_AC_results(reflectance_vnir: np.ndarray, @@ -225,11 +235,11 @@ class AtmosphericCorrector(object): else: if self.cfg.mode_ac == 'combined': - reflectance_vnir, reflectance_swir, land_additional_results = \ + reflectance_vnir, reflectance_swir, water_additional_results, land_additional_results = \ self._run_AC__combined_mode(enmap_ImageL1) elif self.cfg.mode_ac == 'water': - reflectance_vnir, reflectance_swir = \ + reflectance_vnir, reflectance_swir, water_additional_results = \ self._run_AC__water_mode(enmap_ImageL1) elif self.cfg.mode_ac == 'land': -- GitLab From b48b47bad04153f363ab2860252b6ecc31155284 Mon Sep 17 00:00:00 2001 From: Leonardo Alvarado Date: Tue, 12 Apr 2022 02:18:21 +0200 Subject: [PATCH 2/3] additional outputs added --- .../atmospheric_correction/atmospheric_correction.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/enpt/processors/atmospheric_correction/atmospheric_correction.py b/enpt/processors/atmospheric_correction/atmospheric_correction.py index 2e7fa9b..718ef8d 100644 --- a/enpt/processors/atmospheric_correction/atmospheric_correction.py +++ b/enpt/processors/atmospheric_correction/atmospheric_correction.py @@ -187,10 +187,10 @@ class AtmosphericCorrector(object): waterboa_additional_results = np.where((enmap_ImageL1.vnir.mask_landwater[:] == 2)[:, :, None], water_additional_results, boa_ref_vnir_land) - from geoarray import GeoArray - GeoArray(waterboa_additional_results).save( - '/home/alvarado/repositories/acwater/tests/data/output/EnPT_Chla.tif', fmt='GTiff') - data_geoarray = waterboa_additional_results + #from geoarray import GeoArray + #GeoArray(waterboa_additional_results[1]).save( + # '/home/alvarado/repositories/acwater/tests/data/output/EnPT_Chla_new.tif', fmt='GTiff') + #data_geoarray = waterboa_additional_results return wlboa_ref_vnir, wlboa_ref_swir, waterboa_additional_results, land_additional_results -- GitLab From 2dd5935e9084a8e000aa6d329c3d86954177b589 Mon Sep 17 00:00:00 2001 From: Leonardo Alvarado Date: Tue, 12 Apr 2022 14:47:34 +0200 Subject: [PATCH 3/3] change detector to VNIR --- .../atmospheric_correction/atmospheric_correction.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/enpt/processors/atmospheric_correction/atmospheric_correction.py b/enpt/processors/atmospheric_correction/atmospheric_correction.py index 718ef8d..333c30f 100644 --- a/enpt/processors/atmospheric_correction/atmospheric_correction.py +++ b/enpt/processors/atmospheric_correction/atmospheric_correction.py @@ -141,7 +141,7 @@ class AtmosphericCorrector(object): wl_ref_vnir, wl_ref_swir, water_additional_results = \ polymer_ac_enmap(enmap_l1b=enmap_ImageL1, config=self.cfg, - detector='merge') + detector='vnir') return wl_ref_vnir, wl_ref_swir, water_additional_results @@ -175,7 +175,7 @@ class AtmosphericCorrector(object): wl_ref_vnir_water, wl_ref_swir_water, water_additional_results = \ polymer_ac_enmap(enmap_l1b=enmap_ImageL1, config=self.cfg, - detector='merge') + detector='vnir') # use mask value 2 for replacing water corrected pixels wlboa_ref_vnir = np.where((enmap_ImageL1.vnir.mask_landwater[:] == 2)[:, :, None], -- GitLab