EnPT issueshttps://git.gfz-potsdam.de/EnMAP/GFZ_Tools_EnMAP_BOX/EnPT/-/issues2020-09-21T13:24:53+02:00https://git.gfz-potsdam.de/EnMAP/GFZ_Tools_EnMAP_BOX/EnPT/-/issues/69Improve co-registration algorithm2020-09-21T13:24:53+02:00Daniel SchefflerImprove co-registration algorithmto be improved:
* [ ] make the EnMAP band to be used for co-registration configurable (currently band 40, hardcoded)
* [ ] post-process the mis-registration array, e.g., handle shifts exceeding the maximum allowed shift after interpolat...to be improved:
* [ ] make the EnMAP band to be used for co-registration configurable (currently band 40, hardcoded)
* [ ] post-process the mis-registration array, e.g., handle shifts exceeding the maximum allowed shift after interpolating
* [ ] better evaluate different interpolation algorithms to create the mis-registration array
* [ ] allow spatial reference images with less than 100% overlap
* [ ] improve the documentation of the co-registration featureAdd geometry processorsDaniel SchefflerDaniel Schefflerhttps://git.gfz-potsdam.de/EnMAP/GFZ_Tools_EnMAP_BOX/EnPT/-/issues/49Provide a method to transform L1B masks from VNIR to SWIR sensor geometry.2020-04-20T18:47:54+02:00Daniel SchefflerProvide a method to transform L1B masks from VNIR to SWIR sensor geometry.Since SICOR runs all retrievals on the SWIR and all L1B masks are provided in VNIR sensor geometry (see below), a method is needed to convert the masks into SWIR sensor geometry. This is needed to apply SICOR to land pixels only.
![imag...Since SICOR runs all retrievals on the SWIR and all L1B masks are provided in VNIR sensor geometry (see below), a method is needed to convert the masks into SWIR sensor geometry. This is needed to apply SICOR to land pixels only.
![image](/uploads/b798c97af3ae928a980555b5e014f91a/image.png)Add separate AC for water surfacesDaniel SchefflerDaniel Schefflerhttps://git.gfz-potsdam.de/EnMAP/GFZ_Tools_EnMAP_BOX/EnPT/-/issues/47Use Polymer-based atmospheric correction for water surfaces.2021-06-15T13:13:59+02:00Daniel SchefflerUse Polymer-based atmospheric correction for water surfaces.AWI Bremerhaven is developing an atmospheric correction for water surfaces based on Polymer. This has to be implemented into EnPT. So far, SICOR is running for all pixels of the input image, regardless of whether they contain land or wat...AWI Bremerhaven is developing an atmospheric correction for water surfaces based on Polymer. This has to be implemented into EnPT. So far, SICOR is running for all pixels of the input image, regardless of whether they contain land or water surfaces.
Steps to be done:
* [x] implement water AC provided as an external Python package
* [x] check ability of SICOR / water-AC to apply the algorithm only to pixels selected by a binary mask
* [x] use water masks provided by the ground segment to decide which AC has to be applied where
* [x] implement an algorithm to fuse the results of SICOR and the water AC to a single reflectance product
* [x] provide config parameters to run EnPT in 3 modes: water+land, land-only, water-only
* [x] include the new config parameters into the EnPT GUI
* [x] decide which radiometric unit will be contained in the L2A product for water surfaces (water leaving radiance/reflectance, surface reflectance) -> ground segment L2A product contains surface reflectance but this is not a commonly used rad. unit in the water community
* [x] add documentation on water AC (and possibly a radiometric output unit different to the L2A product of the ground segment)Add separate AC for water surfacesDaniel SchefflerNiklas BohnBrenner SilvaDaniel Schefflerhttps://git.gfz-potsdam.de/EnMAP/GFZ_Tools_EnMAP_BOX/EnPT/-/issues/33Add correction of spatial misregistrations2020-09-21T13:41:29+02:00Daniel SchefflerAdd correction of spatial misregistrationsNeeded functionality:
* [x] add CLI parameters allowing to provide a spatial reference dataset (e.g., a Sentinel-2 band or a vegetation index)
* [x] implement AROSICS to compute spatial misregistration between EnMAP and the user provide...Needed functionality:
* [x] add CLI parameters allowing to provide a spatial reference dataset (e.g., a Sentinel-2 band or a vegetation index)
* [x] implement AROSICS to compute spatial misregistration between EnMAP and the user provided reference
* [x] add an algorithm for interpolating the spatial misregistrations in space
* [x] update the geolayer based on the computed pixelwise misregistration
We should only allow shifts up to a few pixels. We should recommend sensors such as Sentinel-2 as reference image. Detection of misregistrations should use a red or NIR band. Karl suggested 710 nm.Add geometry processorsDaniel SchefflerDaniel Schefflerhttps://git.gfz-potsdam.de/EnMAP/GFZ_Tools_EnMAP_BOX/EnPT/-/issues/32Add keystone correction2024-02-09T17:20:06+01:00Daniel SchefflerAdd keystone correctionAdd geometry processorsDaniel SchefflerDaniel Schefflerhttps://git.gfz-potsdam.de/EnMAP/GFZ_Tools_EnMAP_BOX/EnPT/-/issues/28[Orthorectification] Incorrect L2A output extent.2019-10-15T22:47:19+02:00Daniel Scheffler[Orthorectification] Incorrect L2A output extent.L2A output is currently cut off like this:
![image](/uploads/12a8a1e162ea3c94a2b62919e4f87766/image.png)L2A output is currently cut off like this:
![image](/uploads/12a8a1e162ea3c94a2b62919e4f87766/image.png)Add geometry processorsDaniel SchefflerDaniel Schefflerhttps://git.gfz-potsdam.de/EnMAP/GFZ_Tools_EnMAP_BOX/EnPT/-/issues/27Add support for dead pixel correction based on 3D dead pixel map.2019-01-23T14:05:20+01:00Daniel SchefflerAdd support for dead pixel correction based on 3D dead pixel map.DLR provides the dead pixel maps as 3D arrays (rows x colmns x bands of each detector). The current version of DeadPixelCorrector is only compatible with 2D dead pixel maps (columns x bands).DLR provides the dead pixel maps as 3D arrays (rows x colmns x bands of each detector). The current version of DeadPixelCorrector is only compatible with 2D dead pixel maps (columns x bands).Provide a working L1B -> L2A processing chain for official DLR test data.Daniel SchefflerDaniel Schefflerhttps://git.gfz-potsdam.de/EnMAP/GFZ_Tools_EnMAP_BOX/EnPT/-/issues/26Add support for geolayer generation based on RPCs.2019-01-23T14:05:08+01:00Daniel SchefflerAdd support for geolayer generation based on RPCs.Needed functionality:
- generation of geolayers from RPC coefficientsNeeded functionality:
- generation of geolayers from RPC coefficientsProvide a working L1B -> L2A processing chain for official DLR test data.Daniel SchefflerDaniel Schefflerhttps://git.gfz-potsdam.de/EnMAP/GFZ_Tools_EnMAP_BOX/EnPT/-/issues/25Update L1B reader to match DLR L1B format.2019-01-23T14:04:08+01:00Daniel SchefflerUpdate L1B reader to match DLR L1B format.The current L1B reader is not yet compatible with the final L1B format as provided by DLR. We need to update it to make it read the DLR L1B test data.The current L1B reader is not yet compatible with the final L1B format as provided by DLR. We need to update it to make it read the DLR L1B test data.Provide a working L1B -> L2A processing chain for official DLR test data.Daniel SchefflerStephane Guillasostephane@gfz-potsdam.deDaniel Schefflerhttps://git.gfz-potsdam.de/EnMAP/GFZ_Tools_EnMAP_BOX/EnPT/-/issues/24Add output writer for EnMAP Level-2 data.2019-01-23T14:04:56+01:00Daniel SchefflerAdd output writer for EnMAP Level-2 data.L2 data specification needs to be discussed.
* Which image files will be included?
* DLR L2 test data as template for metadata?L2 data specification needs to be discussed.
* Which image files will be included?
* DLR L2 test data as template for metadata?Provide a working L1B -> L2A processing chain for official DLR test data.Daniel SchefflerDaniel Schefflerhttps://git.gfz-potsdam.de/EnMAP/GFZ_Tools_EnMAP_BOX/EnPT/-/issues/23Add metadata class for EnMAP Level-2 data.2019-01-23T14:04:30+01:00Daniel SchefflerAdd metadata class for EnMAP Level-2 data.Needed for generating Level-2 data with Orthorectifier module.Needed for generating Level-2 data with Orthorectifier module.Provide a working L1B -> L2A processing chain for official DLR test data.Daniel SchefflerDaniel Schefflerhttps://git.gfz-potsdam.de/EnMAP/GFZ_Tools_EnMAP_BOX/EnPT/-/issues/22Add support for 3D geometry layers.2019-01-23T13:45:27+01:00Daniel SchefflerAdd support for 3D geometry layers.So far, the transformation between sensor and map geometry uses 2D coordinate layers. The geolayers provided by DLR will have band-wise 3D coordinate layers.
Those are currently not supported but needed for
* spatial optimization (c...So far, the transformation between sensor and map geometry uses 2D coordinate layers. The geolayers provided by DLR will have band-wise 3D coordinate layers.
Those are currently not supported but needed for
* spatial optimization (co-registration and keystone correction)
* orthorectification.Add geometry processorsDaniel SchefflerDaniel Schefflerhttps://git.gfz-potsdam.de/EnMAP/GFZ_Tools_EnMAP_BOX/EnPT/-/issues/21Improve DEM processor2019-01-21T15:17:34+01:00Daniel SchefflerImprove DEM processor* [x] add overlap check
* [x] add geographic datum check
* [ ] add gap filling algorithm
* [ ] add computation of slopes
* [ ] add computation of aspects* [x] add overlap check
* [x] add geographic datum check
* [ ] add gap filling algorithm
* [ ] add computation of slopes
* [ ] add computation of aspectsProvide a working L1B -> L2A processing chain for official DLR test data.Daniel SchefflerDaniel Schefflerhttps://git.gfz-potsdam.de/EnMAP/GFZ_Tools_EnMAP_BOX/EnPT/-/issues/20Add orthorectification module2020-03-17T18:29:35+01:00Daniel SchefflerAdd orthorectification module* [x] specify EnPT L2 output format
* metadata format according to official DLR L2A data
* [x] add image class for EnMAP L2 data in map geometry
* [x] add metadata class for EnMAP L2, map geometry metadata (DLR test data as templa...* [x] specify EnPT L2 output format
* metadata format according to official DLR L2A data
* [x] add image class for EnMAP L2 data in map geometry
* [x] add metadata class for EnMAP L2, map geometry metadata (DLR test data as template)
* [x] add output writer module for EnMAP L2, map geometry data
* [x] define a workflow for fusing the overlapping VNIR/SWIR bands
* gradually weighting of both sensors?
* [x] add Orthorectifier class for transformation of EnMAP L1 sensor geometry objects to L2 map geometry
(includes array transformation and metadata adjustment)Add geometry processorsDaniel SchefflerDaniel Schefflerhttps://git.gfz-potsdam.de/EnMAP/GFZ_Tools_EnMAP_BOX/EnPT/-/issues/19Add DEM processor2018-12-13T23:36:31+01:00Daniel SchefflerAdd DEM processorWe need a processor for DEM data.
**Needed functionalities:**
* [x] input validation (geographic datum, overlap)
* [x] transformation from map to sensor geometry (comes in map geometry, AC need sensor geometry)
* [ ] computation of s...We need a processor for DEM data.
**Needed functionalities:**
* [x] input validation (geographic datum, overlap)
* [x] transformation from map to sensor geometry (comes in map geometry, AC need sensor geometry)
* [ ] computation of slopes?Add geometry processorsDaniel SchefflerDaniel Schefflerhttps://git.gfz-potsdam.de/EnMAP/GFZ_Tools_EnMAP_BOX/EnPT/-/issues/18Add module for geometric transformation between sensor and map geometry.2018-12-13T23:35:49+01:00Daniel SchefflerAdd module for geometric transformation between sensor and map geometry.We need a module for transforming sensor geometry data to map geometry and vice versa.We need a module for transforming sensor geometry data to map geometry and vice versa.Add geometry processorsDaniel SchefflerDaniel Schefflerhttps://git.gfz-potsdam.de/EnMAP/GFZ_Tools_EnMAP_BOX/EnPT/-/issues/12Correct for 20px shift between VNIR and SWIR before passing TOA radiance to S...2019-10-17T19:48:02+02:00Daniel SchefflerCorrect for 20px shift between VNIR and SWIR before passing TOA radiance to SICOR.VNIR and SWIR do not match geometrically but have an along-track shift of 20px and an across-track shift of ~1px depending on the geographic position. This has to be corrected before passing the TOA radiance to SICOR AC. Otherwise SICOR ...VNIR and SWIR do not match geometrically but have an along-track shift of 20px and an across-track shift of ~1px depending on the geographic position. This has to be corrected before passing the TOA radiance to SICOR AC. Otherwise SICOR will applies the retrieved atmospheric parameters (retrieved in SWIR) to the wrong VNIR pixels.
The shift is included in the RPC-coefficients, so we need to:
* [ ] determine the along-/across-track shift between VNIR and SWIR based on the RPC-coefficients
* [ ] crop the VNIR and SWIR data in sensor geometry so that the spatial shift is corrected (avoid resampling)
* [ ] respect along-/across-track shift in the geolayers used in downstream products
Add geometry processorsDaniel SchefflerDaniel Schefflerhttps://git.gfz-potsdam.de/EnMAP/GFZ_Tools_EnMAP_BOX/EnPT/-/issues/138Implement ISOFIT as alternative atmospheric correction approach.2024-03-06T18:04:43+01:00Daniel SchefflerImplement ISOFIT as alternative atmospheric correction approach.ISOFIT provides a couple of advantages and may resolve some shortcomings of SICOR. The implementation of ISOFIT in EnPT is planned for 2024.ISOFIT provides a couple of advantages and may resolve some shortcomings of SICOR. The implementation of ISOFIT in EnPT is planned for 2024.Daniel SchefflerDaniel Schefflerhttps://git.gfz-potsdam.de/EnMAP/GFZ_Tools_EnMAP_BOX/EnPT/-/issues/137Replace legacy scipy.interpolation.interp1d.2024-03-05T15:38:57+01:00Daniel SchefflerReplace legacy scipy.interpolation.interp1d.`scipy.interpolation.interp1d` is considered as legacy code in the scipy docs and won't receive updates anymore. In https://github.com/EnMAP-Box/enmap-box/issues/804, importing it on a Mac seems to cause a QGIS crash. Thus, it should be ...`scipy.interpolation.interp1d` is considered as legacy code in the scipy docs and won't receive updates anymore. In https://github.com/EnMAP-Box/enmap-box/issues/804, importing it on a Mac seems to cause a QGIS crash. Thus, it should be replaced.Daniel SchefflerDaniel Schefflerhttps://git.gfz-potsdam.de/EnMAP/GFZ_Tools_EnMAP_BOX/EnPT/-/issues/136Some pixels with large negative values near coastline when running combined A...2024-01-04T18:35:01+01:00Daniel SchefflerSome pixels with large negative values near coastline when running combined AC mode.Here is an example:
![grafik](/uploads/5c2e1d4e146ef9eba9b7922531e015e7/grafik.png)
This might be due to a land pixel which is flagged as water by the land/water mask, which consequently gets the POLYMER AC result.Here is an example:
![grafik](/uploads/5c2e1d4e146ef9eba9b7922531e015e7/grafik.png)
This might be due to a land pixel which is flagged as water by the land/water mask, which consequently gets the POLYMER AC result.Daniel SchefflerDaniel Scheffler