enpt.processors.atmospheric_correction package
Submodules
enpt.processors.atmospheric_correction.atmospheric_correction module
EnPT atmospheric correction module.
Performs the atmospheric correction of EnMAP L1B data.
- class enpt.processors.atmospheric_correction.atmospheric_correction.AtmosphericCorrector(config: EnPTConfig = None)[source]
Bases:
object
Class for performing atmospheric correction of EnMAP L1 images using SICOR.
Create an instance of AtmosphericCorrector.
- _get_sicor_options(enmap_ImageL1: EnMAPL1Product_SensorGeo, land_only=False) dict [source]
Get a dictionary containing the SICOR options.
- Parameters:
enmap_ImageL1 – EnMAP Level 1 product in sensor geometry
land_only – True: SICOR is applied to land only; False: SICOR is applied to all pixels
- Returns:
dictionary of SICOR options
- _is_acwater_operable(logger: Logger)[source]
Return True if ACWater/Polymer is operable, else raise a warning and return False.
- _run_ac__combined_mode(enmap_ImageL1: ~enpt.model.images.images_sensorgeo.EnMAPL1Product_SensorGeo) -> (<class 'numpy.ndarray'>, <class 'numpy.ndarray'>, <class 'dict'>)[source]
Run atmospheric corr. in ‘combined’ mode, i.e., use SICOR for land and ACWater/Polymer for water surfaces.
- NOTE:
- The output radiometric units are:
‘surface reflectance’ for land surfaces
‘water leaving reflectance’ for water surfaces
There might be visible edge effects, e.g., at coastlines.
- _run_ac__land_mode(enmap_ImageL1: ~enpt.model.images.images_sensorgeo.EnMAPL1Product_SensorGeo) -> (<class 'numpy.ndarray'>, <class 'numpy.ndarray'>, <class 'dict'>)[source]
Run atmospheric correction in ‘land’ mode, i.e., use SICOR for all surfaces.
- _run_ac__water_mode(enmap_ImageL1: ~enpt.model.images.images_sensorgeo.EnMAPL1Product_SensorGeo) -> (<class 'numpy.ndarray'>, <class 'numpy.ndarray'>)[source]
Run atmospheric correction in ‘water’ mode, i.e., use ACWater/Polymer for water surfaces only.
- NOTE:
Land surfaces are NOT included in the EnMAP L2A product.
The output radiometric unit for water surfaces is ‘water leaving reflectance’.
- static _validate_ac_results(reflectance_vnir: ndarray, reflectance_swir: ndarray, logger: Logger)[source]
- run_ac(enmap_ImageL1: EnMAPL1Product_SensorGeo) EnMAPL1Product_SensorGeo [source]
Run atmospheric correction according to the specified ‘mode_ac’ parameter.
- Parameters:
enmap_ImageL1 – input EnMAP image containing TOA reflectance (an instance EnMAPL1Product_SensorGeo)
- Returns:
atmospherically corrected output EnMAP image containing BOA reflectance / water leaving reflectance (an instance EnMAPL1Product_SensorGeo)
Module contents
EnPT ‘atmospheric correction module.
- class enpt.processors.atmospheric_correction.AtmosphericCorrector(config: EnPTConfig = None)[source]
Bases:
object
Class for performing atmospheric correction of EnMAP L1 images using SICOR.
Create an instance of AtmosphericCorrector.
- _get_sicor_options(enmap_ImageL1: EnMAPL1Product_SensorGeo, land_only=False) dict [source]
Get a dictionary containing the SICOR options.
- Parameters:
enmap_ImageL1 – EnMAP Level 1 product in sensor geometry
land_only – True: SICOR is applied to land only; False: SICOR is applied to all pixels
- Returns:
dictionary of SICOR options
- _is_acwater_operable(logger: Logger)[source]
Return True if ACWater/Polymer is operable, else raise a warning and return False.
- _run_ac__combined_mode(enmap_ImageL1: ~enpt.model.images.images_sensorgeo.EnMAPL1Product_SensorGeo) -> (<class 'numpy.ndarray'>, <class 'numpy.ndarray'>, <class 'dict'>)[source]
Run atmospheric corr. in ‘combined’ mode, i.e., use SICOR for land and ACWater/Polymer for water surfaces.
- NOTE:
- The output radiometric units are:
‘surface reflectance’ for land surfaces
‘water leaving reflectance’ for water surfaces
There might be visible edge effects, e.g., at coastlines.
- _run_ac__land_mode(enmap_ImageL1: ~enpt.model.images.images_sensorgeo.EnMAPL1Product_SensorGeo) -> (<class 'numpy.ndarray'>, <class 'numpy.ndarray'>, <class 'dict'>)[source]
Run atmospheric correction in ‘land’ mode, i.e., use SICOR for all surfaces.
- _run_ac__water_mode(enmap_ImageL1: ~enpt.model.images.images_sensorgeo.EnMAPL1Product_SensorGeo) -> (<class 'numpy.ndarray'>, <class 'numpy.ndarray'>)[source]
Run atmospheric correction in ‘water’ mode, i.e., use ACWater/Polymer for water surfaces only.
- NOTE:
Land surfaces are NOT included in the EnMAP L2A product.
The output radiometric unit for water surfaces is ‘water leaving reflectance’.
- static _validate_ac_results(reflectance_vnir: ndarray, reflectance_swir: ndarray, logger: Logger)[source]
- run_ac(enmap_ImageL1: EnMAPL1Product_SensorGeo) EnMAPL1Product_SensorGeo [source]
Run atmospheric correction according to the specified ‘mode_ac’ parameter.
- Parameters:
enmap_ImageL1 – input EnMAP image containing TOA reflectance (an instance EnMAPL1Product_SensorGeo)
- Returns:
atmospherically corrected output EnMAP image containing BOA reflectance / water leaving reflectance (an instance EnMAPL1Product_SensorGeo)