Latest Threat Research:SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains.Details
Socket
Book a DemoSign in
Socket

enpt

Package Overview
Dependencies
Maintainers
1
Versions
71
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

enpt - pypi Package Compare versions

Comparing version
1.0.5
to
1.1.0
+24
-15
.zenodo.json
{
"title": "EnPT - EnMAP Processing Tool",
"description": "The EnPT Python package is an automated pre-processing pipeline for the new EnMAP hyperspectral satellite data. It provides free and open-source features to transform EnMAP Level-1B data to Level-2A. The package has been developed at the GFZ Helmholtz Centre for Geosciences, Germany, as an alternative to the processing chain of the EnMAP Ground Segment.",
"notes": "This software was developed within the context of the EnMAP project supported by the DLR Space Administration with funds of the German Federal Ministry of Economic Affairs and Energy (on the basis of a decision by the German Bundestag: 50 EE 1529) and contributions from DLR, GFZ and OHB System AG.",
"access_right": "open",
"license": "GPL-3.0+",

@@ -19,3 +21,4 @@ "upload_type": "software",

"affiliation": "GFZ Helmholtz Centre for Geosciences, Section 1.4 - Remote Sensing and Geoinformatics",
"orcid": "0000-0003-4106-8928"
"orcid": "0000-0003-4106-8928",
"type": "Researcher"
},

@@ -25,3 +28,4 @@ {

"affiliation": "GFZ Helmholtz Centre for Geosciences, Section 1.4 - Remote Sensing and Geoinformatics",
"orcid": "0000-0003-4078-886X"
"orcid": "0000-0003-4078-886X",
"type": "Researcher"
},

@@ -31,7 +35,10 @@ {

"affiliation": "GFZ Helmholtz Centre for Geosciences, Section 1.4 - Remote Sensing and Geoinformatics",
"orcid": "0000-0001-9805-9390"
"orcid": "0000-0001-9805-9390",
"type": "Researcher"
},
{
"name": "Segl, Karl",
"affiliation": "GFZ Helmholtz Centre for Geosciences, Section 1.4 - Remote Sensing and Geoinformatics"
"affiliation": "GFZ Helmholtz Centre for Geosciences, Section 1.4 - Remote Sensing and Geoinformatics",
"orcid": "0000-0001-8909-1006",
"type": "WorkPackageLeader"
}

@@ -61,2 +68,3 @@ ],

"affiliation": "GFZ Helmholtz Centre for Geosciences, Section 1.4 - Remote Sensing and Geoinformatics",
"orcid": "0000-0001-8909-1006",
"type": "WorkPackageLeader"

@@ -71,5 +79,7 @@ },

],
"references": [
"Scheffler, D., Brell, M., Bohn, N., Alvarado, L., Soppa, M., Segl, K., Bracher, A., Chabrillat, S. (2023): EnPT - an Alternative Pre-Processing Chain for Hyperspectral EnMAP Data. Proceedings of IGARSS 2023 - International Geoscience and Remote Sensing Symposium (Pasadena, CA 2023). https://doi.org/10.1109/IGARSS52108.2023.10281805"
],
"related_identifiers": [
{
"scheme": "url",
"identifier": "https://git.gfz-potsdam.de/EnMAP/GFZ_Tools_EnMAP_BOX/EnPT",

@@ -80,3 +90,2 @@ "relation": "isSupplementTo",

{
"scheme": "url",
"identifier": "https://enmap.git-pages.gfz-potsdam.de/GFZ_Tools_EnMAP_BOX/EnPT/doc",

@@ -87,14 +96,14 @@ "relation": "isDocumentedBy",

{
"scheme": "url",
"identifier": "https://www.enmap.org/data_tools/enmapbox/",
"relation": "isPartOf"
"relation": "isPartOf",
"resource_type": "software"
}
],
"grants": [
{
"code": "50 EE 1529",
"funder": "German Federal Ministry of Economic Affairs and Energy (on the basis of a decision by the German Bundestag)",
"title": "EnMAP"
}
]
"custom": {
"code:programmingLanguage": [
{"id": "python"}
],
"code:codeRepository": "https://git.gfz-potsdam.de/EnMAP/GFZ_Tools_EnMAP_BOX/EnPT",
"code:developmentStatus": {"id": "active"}
}
}

@@ -119,3 +119,3 @@ .. highlight:: shell

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -122,0 +122,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -6,3 +6,3 @@ #!/usr/bin/env python

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -9,0 +9,0 @@ # Stephane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -121,4 +121,4 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

not (os.path.exists(path_enmap_image) and zipfile.is_zipfile(path_enmap_image)):
raise ValueError("The parameter 'path_enmap_image' must be a directory or the path to an existing zip "
"archive. Received %s." % path_enmap_image)
raise ValueError(f"The parameter 'path_enmap_image' must be a directory or the path to an existing zip "
f"archive. Received {path_enmap_image}")

@@ -125,0 +125,0 @@ # extract L1B image archive if needed

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -83,2 +83,5 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

self._deadpixelmap = None
self._sicor_cwv = None
self._sicor_liq = None
self._sicor_ice = None
self._isofit_atm_state = None

@@ -319,2 +322,56 @@ self._isofit_uncertainty = None

@property
def sicor_cwv(self) -> GeoArray:
"""Return SICOR's column water vapor output.
:return: geoarray.GeoArray
"""
return self._sicor_cwv
@sicor_cwv.setter
def sicor_cwv(self, *geoArr_initArgs):
self._sicor_cwv = (
self._get_geoarray_with_datalike_geometry(
geoArr_initArgs,
'sicor_cwv',
nodataVal=-9999)
)
self._sicor_cwv.bandnames = ['column water vapor']
@property
def sicor_liq(self) -> GeoArray:
"""Return SICOR's liquid water content output.
:return: geoarray.GeoArray
"""
return self._sicor_liq
@sicor_liq.setter
def sicor_liq(self, *geoArr_initArgs):
self._sicor_liq = (
self._get_geoarray_with_datalike_geometry(
geoArr_initArgs,
'sicor_liq',
nodataVal=-9999)
)
self._sicor_liq.bandnames = ['path length of liquid water / canopy water content']
@property
def sicor_ice(self) -> GeoArray:
"""Return SICOR's ice content output.
:return: geoarray.GeoArray
"""
return self._sicor_ice
@sicor_ice.setter
def sicor_ice(self, *geoArr_initArgs):
self._sicor_ice = (
self._get_geoarray_with_datalike_geometry(
geoArr_initArgs,
'sicor_ice',
nodataVal=-9999)
)
self._sicor_ice.bandnames = ['path length of ice']
@property
def isofit_atm_state(self) -> GeoArray:

@@ -321,0 +378,0 @@ """Return ISOFIT's atmospheric state output which contains the estimated aerosol optical depth and water vapour.

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -37,2 +37,3 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

from os import path, makedirs
import shutil

@@ -305,2 +306,3 @@ import numpy as np

'mask_cirrus', 'quicklook_vnir', 'quicklook_swir', 'deadpixelmap',
'sicor_cwv', 'sicor_liq', 'sicor_ice',
'isofit_atm_state', 'isofit_uncertainty',

@@ -314,3 +316,3 @@ 'polymer_logchl', 'polymer_logfb', 'polymer_rgli', 'polymer_rnir', 'polymer_bitmask']:

if attrName.startswith('polymer_') or attrName.startswith('isofit_'):
if attrName.startswith('sicor_') or attrName.startswith('isofit_') or attrName.startswith('polymer_'):
ext = \

@@ -328,2 +330,5 @@ 'TIF' if self.cfg.output_format == 'GTiff' else \

polymer_bitmask=f'{self.meta.scene_basename}-ACOUT_POLYMER_BITMASK.{ext}',
sicor_cwv=f'{self.meta.scene_basename}-ACOUT_SICOR_CWV.{ext}',
sicor_liq=f'{self.meta.scene_basename}-ACOUT_SICOR_LIQ.{ext}',
sicor_ice=f'{self.meta.scene_basename}-ACOUT_SICOR_ICE.{ext}',
isofit_atm_state=f'{self.meta.scene_basename}-ACOUT_ISOFIT_ATM_STATE.{ext}',

@@ -374,2 +379,5 @@ isofit_uncertainty=f'{self.meta.scene_basename}-ACOUT_ISOFIT_UNCERTAINTY.{ext}'

# move logfile to output folder and rename to L2A format
shutil.move(self.logger.path_logfile, path.join(product_dir, f'{self.meta.scene_basename}-ENPT_LOG.log'))
return product_dir

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -162,3 +162,3 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

# dof (degrees of freedom), information_content, retrieval_noise, smoothing_error
# -> SWIR geometry (?) # FIXME
# -> SWIR geometry # FIXME
boa_ref_vnir, boa_ref_swir, land_additional_results = \

@@ -199,3 +199,3 @@ sicor_ac_enmap(enmap_l1b=enmap_ImageL1,

def _run_ac__water_mode(self, enmap_ImageL1: EnMAPL1Product_SensorGeo
) -> (np.ndarray, np.ndarray):
) -> (np.ndarray, np.ndarray, dict):
"""Run atmospheric correction in 'water' mode, i.e., use ACWater/Polymer for water surfaces only.

@@ -243,3 +243,3 @@

enmap_ImageL1: EnMAPL1Product_SensorGeo
) -> (np.ndarray, np.ndarray, dict):
) -> (np.ndarray, np.ndarray, dict, dict):
"""Run atmospheric corr. in 'combined' mode, i.e., use SICOR for land and ACWater/Polymer for water surfaces.

@@ -332,3 +332,4 @@

# set initial value water_additional_results
# set initial values
land_additional_results = None
water_additional_results = None

@@ -384,4 +385,8 @@

# FIXME: Consider to also join SICOR's land_additional_results
# (contains three phases of water maps and several retrieval uncertainty measures)
# join three phases of water maps from SICOR (output is in SWIR geometry)
if land_additional_results:
# TODO: Consider to also join SICOR's retrieval uncertainty measures
enmap_ImageL1.swir.sicor_cwv = np.nan_to_num(land_additional_results['cwv_model'], nan=-9999)
enmap_ImageL1.swir.sicor_liq = np.nan_to_num(land_additional_results['liq_model'], nan=-9999)
enmap_ImageL1.swir.sicor_ice = np.nan_to_num(land_additional_results['ice_model'], nan=-9999)

@@ -388,0 +393,0 @@ # join additional results from ACwater/Polymer

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -164,4 +164,10 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

for attrName in ['mask_landwater', 'mask_clouds', 'mask_cloudshadow', 'mask_haze', 'mask_snow', 'mask_cirrus',
'sicor_cwv', 'sicor_liq', 'sicor_ice',
'polymer_logchl', 'polymer_logfb', 'polymer_rgli', 'polymer_rnir', 'polymer_bitmask']:
attr = getattr(enmap_ImageL1.vnir, attrName)
if attrName.startswith('sicor_'):
attr = getattr(enmap_ImageL1.swir, attrName) # SICOR attributes are stored in SWIR geometry
_lons, _lats = lons_swir, lats_swir
else:
attr = getattr(enmap_ImageL1.vnir, attrName)
_lons, _lats = lons_vnir, lats_vnir

@@ -175,4 +181,4 @@ if attr is not None:

GT = Geometry_Transformer(
lons=lons_vnir if lons_vnir.ndim == 2 else lons_vnir[:, :, 0],
lats=lats_vnir if lats_vnir.ndim == 2 else lats_vnir[:, :, 0],
lons=_lons if _lons.ndim == 2 else _lons[:, :, 0],
lats=_lats if _lats.ndim == 2 else _lats[:, :, 0],
**kw_init_attr)

@@ -195,3 +201,6 @@

for attr_gA in [L2_obj.mask_landwater, L2_obj.mask_clouds, L2_obj.mask_cloudshadow, L2_obj.mask_haze,
L2_obj.mask_snow, L2_obj.mask_cirrus]:
L2_obj.mask_snow, L2_obj.mask_cirrus,
L2_obj.sicor_cwv, L2_obj.sicor_liq, L2_obj.sicor_ice,
L2_obj.polymer_logchl, L2_obj.polymer_logfb, L2_obj.polymer_rgli,
L2_obj.polymer_rnir, L2_obj.polymer_bitmask]:
if attr_gA is not None:

@@ -198,0 +207,0 @@ attr_gA[~mask_nodata_common] = attr_gA.nodata

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -305,8 +305,8 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

msg = 'Coordinate normalization yields significantly out-of-range values for %s. ' \
'Check the coordinates and RPC coefficients.'
# for llh, name in zip([lon_norm, lat_norm, height_norm], ['longitudes', 'latitudes', 'heights']):
for llh, name in zip([lon_norm, lat_norm, height_norm], ['longitudes', 'latitudes']):
if llh.min() < -1.1 or llh.max() > 1.1:
raise RuntimeError((llh.min(), llh.max()), msg % name)
raise RuntimeError((llh.min(), llh.max()),
f'Coordinate normalization yields significantly out-of-range values for {name}. '
f'Check the coordinates and RPC coefficients.')

@@ -313,0 +313,0 @@ return lon_norm, lat_norm, height_norm

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -67,3 +67,3 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

self.fmt_suffix = fmt_suffix
self.path_logfile = path_logfile
self.path_logfile = os.path.abspath(path_logfile) if path_logfile else None
self.log_level = log_level

@@ -70,0 +70,0 @@

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -31,4 +31,4 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

__version__ = '1.0.5'
__versionalias__ = '20250616.01'
__version__ = '1.1.0'
__versionalias__ = '20250904.01'
__author__ = 'Daniel Scheffler'

@@ -5,6 +5,16 @@ =======

1.1.0 (2025-09-04)
------------------
* !119: Added GitLeaks CI job.
* !120: Updated copyright.
* Updated Zenodo metadata due to upstream changes in the Zenodo API.
* !121: Added SICOR's three phases of water retrieval maps (water vapor, liquid water, ice) to EnPT's L2A output.
* !122: Fixed issue of EnPT log file not being moved to output folder.
1.0.5 (2025-06-16)
------------------
!117: Fixed OverflowError when transforming LUT into ISOFIT format.
* !117: Fixed OverflowError when transforming LUT into ISOFIT format.

@@ -11,0 +21,0 @@

@@ -15,3 +15,3 @@ `EnPT` is distributed under the GNU General Public License, version 3 (GPLv3).

EnMAP PT
Copyright (C) 2018-2024 Karl Segl
Copyright (C) 2018–2025 Karl Segl

@@ -18,0 +18,0 @@ This program is free software: you can redistribute it and/or modify

Metadata-Version: 2.4
Name: enpt
Version: 1.0.5
Version: 1.1.0
Summary: EnMAP Processing Tool

@@ -5,0 +5,0 @@ Project-URL: Source code, https://git.gfz-potsdam.de/EnMAP/GFZ_Tools_EnMAP_BOX/EnPT

@@ -5,3 +5,3 @@ # -*- coding: utf-8 -*-

#
# Copyright (C) 2018-2024 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# Copyright (C) 2018–2025 Karl Segl (GFZ Potsdam, segl@gfz.de), Daniel Scheffler
# (GFZ Potsdam, danschef@gfz.de), Niklas Bohn (GFZ Potsdam, nbohn@gfz.de),

@@ -8,0 +8,0 @@ # Stéphane Guillaso (GFZ Potsdam, stephane.guillaso@gfz.de)

Sorry, the diff of this file is too big to display