Releases: odhondt/eo_tools
Releases · odhondt/eo_tools
2025.6.1
2025.6.0
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
coherencewithwrite_coherence) - Fixed some output paths in test scripts to match the processor outputs
- Upgraded dependencies
2025.4.0
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_mergefunction to handle file names without polarimetry such asalpha_iw1.tif - Unit tests for H-Alpha components including a single mechanism simulation.
- Change tooltips to popups in
show_all_s1_on_map.pyallowing copy and paste product names. - Update environment to use the latest
rioxarraysince the bug in0.18.0has been fixed. - Force using
pyroSAR==0.29.0to process Sentinel-1C data.
2025.2.0
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,dirandpathin them have been renamed following the modelxxx_{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_prefixparameter tooutput_dirand remove unpacking from search return. - Force using
rioxarray 0.17.0until the bug with>=0.18.0is fixed. - Docker only: functions using TiTiler now show the error message returned by the endpoint request instead of a
KeyErrorexception. 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
identifynot recognizing the products).
2025.1.1
New feature
- New
dem_nameparameter 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-30Copernicus DEM 30m andcop-dem-glo-90Copernicus 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=Truebefore 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-30DEM based insar processing - Test script comparing SLC processing for all available DEMs
- Fix: use
max_burst_instead ofmax_burstin burst geometry filtering (fetch_demfunction) - Remove unused
dem_profileoutput fromgeocode_burst - DEM files now have a special tag
COMPOSITE_CRSencoding both lat-lon and vertical reference coordinate system. This tag is added byfetch_dem, extracted byload_dem_coordsand used bylla_to_ecefto convert the DEM to ECEF coordinates.
2025.1.0-build2
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
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
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
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
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 byS1.process.geocode_and_merge_iw. This way users can compare several phase filtering methods easily.
Bugfixes
- Correct options for orbit retrieval
['POE', 'RES']usingpyrosar - In
S2.process_tiles,baseline > 4replaced bybaseline >= 4 - In
S1.process.coherenceoutput is tiled like input
Misc
S1.process.coherencewith manually fixed chunk size is faster.