{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Normalize L1C scenes radiometrically\n", "\n", "Each EO-product should include a **pre-processing step** in the beginning for masking out clouds, radiometric corrections and in order to avoid unnecessary artefacts in the final product. One of the most basic pre-processing methods is a radiometric adjustment in order to obtain the Bottom-Of-Atmosphere reflectance.\n", "\n", "In contrast to this absolute radiometric correction which is often done using Sen2cor, also a relative radiometric normalization can be done. This approach normalizes an image on a temporal basis by analyzing a time-series. As a result, influences of recorded reflectances such as the sun's azimuth angle, elevation and atmospheric conditions can be rectified to a certain extent.\n", "\n", "Using the `eo-learn` library of Sentinel Hub simplifies this approach significantly. For an AOI and time interval of choice, Sentinel-2 data will be downloaded in form of an `EOPatch`. This `EOPatch` gets manipulated in a sequence of `EOTasks` chained in an `EOWorkflow`.\n", "\n", "---\n", "\n", "In this example the final workflow to radiometrically normalize Sentinel-2 scenes is a sequence of the following tasks:\n", "1. Create an `EOPatch` by filling it with L1C data including every band\n", "2. Validate pixels using Sen2Cor's scene classification map\n", "3. Calculate coverage of valid pixels\n", "4. Mask the `EOPatch` with the valid data mask\n", "5. Select scenes with highest fraction of valid pixels as reference scenes\n", "6. Create a composite of the reference scenes\n", "7. Remove temporary EOPatch layers\n", "8. Perform a histogram match\n", "\n", "\n", "**Contributor:** \n", "_Johannes Schmid \n", "[GeoVille Information Systems GmbH](www.geoville.com) \n", "2018_ " ] }, { "cell_type": "markdown", "metadata": { "toc": true }, "source": [ "