FOSS4G 2023

EOReader - Remote-sensing opensource python library for optical and SAR sensors
2023-06-29, 16:00–16:30 (Europe/Tirane), Lumbardhi

EOReader is a remote-sensing opensource python library reading optical
and SAR constellations, loading and stacking bands, clouds, DEM and spectral indices in a sensor-agnostic way.

Optical SAR
Sentinel-2 and Sentinel-2 Theia
Sentinel-3 OLCI and SLSTR
Landsat 1 to 9
Harmonized Landsat-Sentinel
PlanetScope, SkySat and RapidEye
Pleiades and Pleiades-Neo
SPOT-6/7
SPOT-4/5
Vision-1
Maxar
SuperView-1
GEOSAT-2
Sentinel-1
COSMO-Skymed
TerraSAR-X, TanDEM-X and PAZ SAR
RADARSAT-2 and RADARSAT-Constellation
ICEYE
SAOCOM
Capella

It also implements sensor-agnostic features, such as load and stack many bands:
- satellite bands (optical or SAR)
- spectral indices
- clouds
- DEM

Context

As one of the Copernicus Emergency Management Service Rapid Mapping and Risk and Recovery Mapping operators,
SERTIT needs to deliver geoinformation (such as flood or fire delineation, landslides mapping, etc.) based on multiple EO constellations.

In rapid mapping, it is important to have access to various sensor types, resolutions, and satellites. Indeed, SAR sensors are able to detect through clouds and during nighttime while optical sensors benefit from of multi spectral bands to better analyze and classify the crisis information.

This is why SERTIT decided to decouple the sensor handling from the extraction algorithms: the latter should be able to ingest semantic bands without worrying about how to load the specific sensor band or in what unit it is.
The assumption was made that all the spectral bands from optical sensors could be mapped bands between each other, in addition to the natural mapping between SAR bands.

Examples


EOReader is a remote-sensing opensource python library reading optical and SAR sensors, loading and stacking bands, clouds, DEM and index in a sensor-agnostic way.

The main goal of EOReader is to simplify the access to a numerous offer of remote sensing data, providing easy to understand and sensor-agnostic functions to read, load and stack multiple bands and indices (and even DEM or cloud bands).

For example, one important feature of EOReader is the mapping of optical bands in order to access them sensor-agnostically (i.e. with RED band, you can access the band number 4 of Sentinel-2, 8 of SENTINEL-3 OLCI, 1 of Pleiades, see here for more information)

We wanted also to eliminate tricky steps such as orthorectification or geocoding for SAR and Sentinel-3 data. By automating it, we allow more users to develop applications with remote-sensing data.

Last but not least, we want to provide an opensource library using cutting-edge technology, this is why we are using xarrays and support dask.

The Github repo can be found here. The API documentation can be found here.

Head of Software Development at ICube-SERTIT.
Cycling and volcano enthusiast 🌋🚵‍♂️