Commit fe29853b authored by Daniel Scheffler's avatar Daniel Scheffler
Browse files

Added first version of a tutorial in the documentation.

Signed-off-by: Daniel Scheffler's avatarDaniel Scheffler <>
parent 2fa5aeda
Pipeline #5632 passed with stage
in 48 minutes and 32 seconds
.wy-nav-content {
max-width: 1200px !important;
/* inline markups*/
.menuselection {
border:1px dashed #7fbbe366;
padding:0px 3px;
margin:auto 2px
.. _algorithm_description:
Algorithm descriptions
......@@ -12,6 +12,7 @@ EnPT documentation
.. _installation:
From EnMAP Level-1B to Level-2A
In this tutorial, we generate EnMAP_ Level-2A from Level-1B data using the EnMAP processing tool (EnPT_).
Please refer to the overview about EnMAP data products `here <>`__ to learn more
about the differences between EnMAP processing levels.
As described in the :ref:`usage` section of this documentation, the input parameters of EnPT_ can be set using the
Python application programming interface (API), the command line interface (CLI) or the graphical userface (GUI) within
the EnMAP-Box_ in QGIS_. In this tutorial, we will use the GUI for simplicity. More information about the GUI can be
found `here <>`__.
.. _EnPT:
.. _EnMAP:
.. _EnMAP-Box:
.. _QGIS:
This tutorial requires some software to be installed on your machine:
- QGIS_ and the EnMAP-Box_
(see `here <>`__
for installation instructions)
- EnPT_ (see `here <>`__
for installation instructions)
- `EnPT EnMAP-Box App (GUI)`_ (see `here <
installation.html>`__ for installation instructions)
.. _`EnPT EnMAP-Box App (GUI)`:
You can download the input data for this tutorial
`here <
Inspect the Level-1B data
The downloaded zip-archive contains a subset of an EnMAP Level-1B dataset covering a rural region in Bavaria, Germany.
Extract the zip-archive on your local disk and inspect the extracted files. An explanation of all the contained files
is given `here <>`__.
.. image:: img/tut__contents_test_dataset.png
.. note::
The contents this zip-archive may change in future.
Open QGIS_, start the EnMAP-Box_ and load the :file:`ENMAP*L1B*-SPECTRAL_IMAGE_VNIR.GEOTIFF` and
:file:`ENMAP*L1B*-SPECTRAL_IMAGE_SWIR.GEOTIFF` image datasets. Some
general handling instructions regarding the EnMAP-Box_ are given in `Exercise A of the EnMAP-Box tutorials`_.
.. _`Exercise A of the EnMAP-Box tutorials`:
Unfold the respective entries in the **Data sources** panel to explore some metadata of both images. As apparent from
there, both images have 1000 x 100 pixels in x- and y-direction. The VNIR image contains 88 and the SWIR contains 130
spectral bands. Both images have no coordinate reference system (CRS). This is because EnMAP Level-1B data are provided
in sensor geometry.
To visualize the first spectral band of the VNIR hyperspectral image, unfold the **Bands** entry of the VNIR image in
the **Data sources** tab, right-click on **Band 01:B1** and press **Open in new map**. Then click the Spectral Library
icon in the EnMAP-Box toolbar to open a new Spectral Library window and click somewhere into the visualized image in
the Map window. This makes the corresponding spectral signature show up in the Spectral Library window.
.. image:: img/tut__enmapbox_l1b_vnir.png
Open the first band of the SWIR image and visualize any SWIR spectral signature as described above.
.. image:: img/tut__enmapbox_l1b_swir.png
With regard to the spectral signature plot, it is noted that EnMAP Level-1B data contain top-of atmosphere radiance
spectra whereas each spectral band is scaled according to specific gain and offset values given in the image metadata.
The visualized spectra can therefore NOT directly be interpreted as top-of-atmosphere radiance but have to be converted
first. Even if all bands were equally scaled, the spectra would not be comparable to other hyperspectral EO data
because they are still affected by numerous spatio-temporal varying effects, e.g., originating from the atmospheric
state at the acquisition time.
Right-click into Map #1 and press **Link with other maps**. Then zoom into the image and compare the VNIR and SWIR
images. At this point, a spatial offset between both images is clearly visible which means that the spectral
information of both EnMAP detectors cannot be interpreted together. Panning through the image also reveals some
vertical striping effects, i.e., dead image columns.
.. image:: img/tut__enmapbox_l1b_vnir_swir_shift_deadpix.png
To sum up, EnMAP Level-1B data cannot directly be used for downstream remote sensing applications due to the following
- separate VNIR and SWIR detector images
- images provided in sensor geometry, i.e., without coordinate reference system (CRS)
- spectral information represents top-of-atmosphere radiance, separately scaled for each band
- VNIR and SWIR images do not show the same spatial extent (offsets in along- and across-track direction)
- image artefacts such as vertical striping due to dead pixels
- spectral information is affected by various spatio-temporal effects, e.g., originating from the atmospheric state
Generate Level-2A data using EnPT
The EnMAP processing tool (EnPT) generates Level-2A from Level-1B data, i.e., processes the EnMAP data from the
raw format to geometrically and atmospherically corrected bottom-of-atmosphere reflectance. Please refer to the
:ref:`algorithm_description` section of this documentation for more information on the underlying algorithms.
Open the EnPT GUI to run the processing chain. You can find it here:
:menuselection:`QGIS 3.xx --> EnMAP-Box --> Processing Toolbox --> Pre-Processing --> EnMAP processing tools algorithm`.
.. image:: img/tut__screenshot_enpt_enmapboxapp.png
Select the :file:`` downloaded
above at the parameter **L1B EnMAP image** and check that the **Anaconda root directory** points to the correct
Anaconda directory which contains the `enpt` Python environment (see :ref:`installation`). All other parameters are
set to a default or not strictly needed to generate Level-2A data. However, they may improve the output quality.
Press the **Run** button to start the processing. The current status is shown in the **Log** panel. After processing,
the output directory is also indicated there.
Inspect the Level-2A data and compare them with Level-1B
The output folder contains the EnMAP Level-2A image data :file:`ENMAP*L2A*-SPECTRAL_IMAGE.GEOTIFF` and a couple of
other files, such as metadata, quality layers, etc.:
.. image:: img/tut__contents_l2a_output.png
.. note::
The output directory will contain additional layers in future.
the EnMAP-Box_. Unfold the entry in the **Data sources** panel to explore some metadata of the Level-2A EnMAP-image.
The image has a dimension of 959 x 311 pixels in x- and y-direction and contains 218 bands. The different image
dimensions compared with Level-1B data are due to the geometric correction / orthorectification applied by EnPT.
Furthermore, the image is projected in WGS84 / UTM zone 32N.
Visualize the first band of the image and open a Spectral Library window as described above. The spectral information
now contains atmospherically corrected bottom-of-atmosphere reflectance data. The two detector images have been merged
so that their spectral information can now be used together. Spatio-temporal variable disturbances to the spectra have
been corrected as far as possible.
.. image:: img/PLACEHOLDER
The generated EnMAP Level-2A data can now be used for subsequent remote sensing applications.
.. _usage:
......@@ -139,7 +141,7 @@ To install it in QGIS, please refer to the separate repository enpt_enmapboxapp_
Here is screenshot of the current version:
.. image:: img/screenshot_enpt_enmapboxapp_874x1047.png
.. image:: img/screenshot_enpt_enmapboxapp_874x1267.png
.. _enpt_enmapboxapp:
.. _enpt/options/options_default.json:
......@@ -93,7 +93,7 @@ config_for_testing_dlr = dict(
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment