Skip to content

Releases: odhondt/eo_tools

2025.6.1

24 Jun 16:50
41b8485

Choose a tag to compare

Minor changes

  • Updated dependencies
  • Now using pyproj 3.7.1, pre-downloading geoid grids to avoid concurrency issues in converting DEM coordinates to ECEF
  • Display DEM name in log messages at download

2025.6.0

05 Jun 09:29

Choose a tag to compare

Minor improvements and fixes

  • Added a sample EODAG config file.
  • Added an orbit directory parameter to each processing function.
  • Fixed some type hints where types were wrong or incomplete
  • Updated type hints to adopt a more modern convention
  • Fixed some parameter checks at the beginning of processing functions (e.g. replaced coherence with write_coherence)
  • Fixed some output paths in test scripts to match the processor outputs
  • Upgraded dependencies

2025.4.0

23 Apr 09:59
6d0b628

Choose a tag to compare

New features

  • Introducing the H-Alpha dual-polarimetric decomposition from SLC images.
  • Added tutorial notebooks for the docker, conda versions and docs.
  • The new examples demonstrate EO-Tools ability to process Sentinel-1C products.

Other (improvements, bugfixes, refactoring, maintenance)

  • Adapted the geocode_and_merge function to handle file names without polarimetry such as alpha_iw1.tif
  • Unit tests for H-Alpha components including a single mechanism simulation.
  • Change tooltips to popups in show_all_s1_on_map.py allowing copy and paste product names.
  • Update environment to use the latest rioxarray since the bug in 0.18.0 has been fixed.
  • Force using pyroSAR==0.29.0 to process Sentinel-1C data.

2025.2.0

10 Feb 12:10

Choose a tag to compare

This version does not introduce any new features but adds fixes and improvements.

Breaking change

  • Improved parameter name consistency. All variable and parameters that had file, dir and path in them have been renamed following the model xxx_{file|dir|path}. This means some function calls have changed. Please refer to the API reference page in the docs to see the updated parameters.

Other

  • Use EODAG latest version, changed outputs_prefix parameter to output_dir and remove unpacking from search return.
  • Force using rioxarray 0.17.0 until the bug with >=0.18.0 is fixed.
  • Docker only: functions using TiTiler now show the error message returned by the endpoint request instead of a KeyError exception. This makes debugging easier.
  • Test script that checks if EODAG search and download requests work.
  • Preparing Sentinel1-C support by changing regex in burst processor (although for now S1C processing is not working due to pyrosar identify not recognizing the products).

2025.1.1

14 Jan 10:35
618760b

Choose a tag to compare

New feature

  • New dem_name parameter for SLC and InSAR processors which allows to choose from a list of publicly available DEMs (nasadem: SRTM, alos-dem: ALOS World 3D, cop-dem-glo-30 Copernicus DEM 30m and cop-dem-glo-90 Copernicus DEM 90m)
  • Important note: because of changes in DEM metadata, it is recommended to clean all auto-downloaded DEM files or use dem_force_download=True before reprocessing any data after upgrading to this version.

Bug fixes and improvements

  • Add some more tests for S1.core functions (deramping, burst overlap, phi topo,)
  • Test script for cop-dem-glo-30 DEM based insar processing
  • Test script comparing SLC processing for all available DEMs
  • Fix: use max_burst_ instead of max_burst in burst geometry filtering (fetch_dem function)
  • Remove unused dem_profile output from geocode_burst
  • DEM files now have a special tag COMPOSITE_CRS encoding both lat-lon and vertical reference coordinate system. This tag is added by fetch_dem, extracted by load_dem_coords and used by lla_to_ecef to convert the DEM to ECEF coordinates.

2025.1.0-build2

10 Jan 08:41

Choose a tag to compare

Bug Fix:

  • Fixed a bug in the shadow detector: an offset needed to be added to indices when projecting in the ground geometry to avoid kernel crash.

Details:

  • This is the second build of version 2025.1.0. The first build (2025.1.0-1) involved an update to the Conda recipe without code changes.

2025.1.0

02 Jan 18:01

Choose a tag to compare

New features

  • Radiometric terrain correction (or flattening) is now available in the SLC processor
  • Our algorithm differs from the SNAP implementation. This is actually a modified version of the radiometric normalization algorithm described in SNAP's terrain correction documentation (see https://step.esa.int/main/wp-content/help/versions/9.0.0/snap-toolboxes/org.esa.s1tbx.s1tbx.op.sar.processing.ui/operators/RangeDopplerGeocodingOp.html). Two things are different:
    • Instead of the sine of the projected incidence angle, the tangent is computed to comply with the gamma nought convention (as in Small's algorithm).
    • The simulated backscatter is regridded and accumulated in the SAR geometry to account for the many-to-one and one-to-many relationships.
  • Shadows are detected and set to NaNs in the normalized image.
  • Added tutorial notebooks to demonstrate feature usage.

Bugfixes and improvements

  • Add libgdal jpeg dependency to work with the new version of rasterio.
  • Temporary fix: latest pyproj version was introducing a bug in the computation of the DEM XYZ coordinates. Force to use the previous version.
  • Refactored both InSAR and SLC processors: we do not use child processes anymore and set the GDAL_CACHEMAX value to a small number. Benchmarks showed smaller memory usage than previously and no performance loss.
  • Fixed some exceptions in the processors (the raise keyword was missing leading the exception to not be triggered).

2024.10.1

12 Oct 11:54

Choose a tag to compare

New features

  • Better S1 coherence estimator
    • Multilooking is performed prior to coherence computation
    • It is applied to Each individual term in the coherence expression
    • This way larger sample sizes can be collected even with small boxcar windows
    • It avoids averaging the coherence itself (theoretically sounder)
    • Binary erosion is applied to mitigate discontinuities at subswath borders
    • Default multilook is still [1, 4] but coherence window size is now [3, 3]

Bugfixes

  • Fixed an error with DEM download due to Planetary Computer now requiring signed urls

Other

  • Upgraded dependencies

2024.10.0

07 Oct 07:28
89b30dc

Choose a tag to compare

New features

  • Sentinel-1 zipped products are now handled (updated all notebooks accordingly).
  • InSAR processing of partially overlapping products, for instance between S1A and S1B, as long as share the same orbit.

Other

  • Refactored block processing utility to handle larger overlap.
  • Goldstein filter now uses different block size (32) and overlap results in smaller final block size.
  • Added Etna notebook to illustrate partial overlap in InSAR (docker version only)
  • Simple script that shows all S1 products located in a directory on a map (not part of the conda package)

2024.9.2

29 Sep 13:27
0ddc458

Choose a tag to compare

New features

  • New function S1.process.goldstein: the Goldstein interferometric filter is an adaptive method that allows to reduce noise on phase.
  • Tutorial notebooks on how to use the function
  • All file names like "ifg*" are now treated as interferograms by S1.process.geocode_and_merge_iw. This way users can compare several phase filtering methods easily.

Bugfixes

  • Correct options for orbit retrieval ['POE', 'RES'] using pyrosar
  • In S2.process_tiles, baseline > 4 replaced by baseline >= 4
  • In S1.process.coherence output is tiled like input

Misc

  • S1.process.coherence with manually fixed chunk size is faster.