Feedback on EOReader opensource python library

Hello everyone,

I am trying to simplify a lot the management of satellite data (both optical and SAR).
In order to achieve that, I have coded EOReader, a remote-sensing open source python library reading optical and SAR sensors, loading and stacking bands, clouds, DEM and index in a sensor-agnostic way. The lib is constructed on top of the beautiful libs geopandas, xarrays (through rioxarray). You can find the github here:

For example, I mapped the optical bands together (on Sentinel-2 pattern) to use them in a easier way

I know it is a bit ambitious, but it is kind of vital for us at work as we use almost daily a wide variety of sensors, from Very High Resolution data (i.e. Pleiades) to Middle Range Resolution data (ie. Sentinel-3). Thanks to those products, we extract floods, wildfires… at various scales (I am working for the Copernicus Emergency Management Service for those who know what it is)

I coded a lot of this lib under the hood, but we decided to go open source a while ago.
If you are interested about that, could you have a look to the lib and give me some feedback?
I hope this could benefit to the majority :slight_smile:

Best Regards,

RĂ©mi

2 Likes

Thanks for sharing! I haven’t had a chance to try your library out yet, but there might be some room for collaboration with other projects that (IIUC) are trying to do similar things:

Both of those rely on having STAC metadata for the datasets.

Thanks for the answer :slight_smile:

The goal of EOReader is to manipulate every product the same way (i.e. to create agnostically some index that can be loaded easily), but without any notion of temporality, multi-product process, cataloging etc.
I focus on opening canonical products (downloaded one way or another, could be through a STAC catalog or other conventional methods) but I have uncorrelated my work from STAC catalogs.

I don’t think it is exactly the same purpose than the libs you pointed out, but you are right some synergies could be found.
For example, EOReader could be a great help to generate a STAC catalog from raw products (actually this is kind of a project in my company)

Hello @remi-braun! I’m excited to explore your repo, as (as you note) aligning remote sensing datasets is a perpetual task. In the meantime, I wanted to share some additional ongoing efforts I’m aware of:

1 Like

I have currently had free access to ICEYE data thanks to a ESA EOHelp project :slight_smile:
So I plan to add the support of ICEYE data really soon, as we may need them in rapid mapping !
I also need to look at your lib closely, maybe we could collaborate on this task ! :star_struck:

1 Like

Hello there,

Just a quick update to say that we added the support of some new sensors since last time :slight_smile:

  • Optical:
    • Vision-1
    • Pleiades-Neo (only ORTO products as the RPCs are not currently handled by rasterio)
  • SAR (using SNAP to calibrate and orthorectify):
    • PAZ SAR
    • ICEYE
    • COSMO-SkyMed 2nd Generation
    • SAOCOM

And all optical sensors are now SNAP free as we are processing Sentinel-3 without it.

You can find the ressources here:

Feel free to give any feedback :wink:

Best,

RĂ©mi

1 Like

Hello everybody,

Let me add a summer update :slight_smile:

A quick summary of last new features :rocket::

  • With EOReader, you can now create a STAC item from your raw data stored on disk (see the tutorial here). You can now find EOReader and this tutorial on STACindex :star_struck:
  • SkySat products are now supported
  • You can plot the quicklook (if existing) with the .plot() function
  • Other changes can be seen :point_right: here

Hello Remi,

thank you in advance for this useful library. I’m getting started with it and I wonder if it is possible to clip the image to any given geometry (geopandas dataframe) when using the “load” function, so the computing time can be reduced. Thank you very much! I appreciate your answer.

Best,

1 Like

Hello Diego,

Unfortunately, this is an identified enhancement, but I haven’t had the time to investiguate it (as we don’t really need it in Copernicus Emergecy Management Service activations).

Feel free to enrich the existing issue related to this topic! :wink:

Best,

Oh, thank you for pointing me to the issue!

I’ll see what I can do :slight_smile: