Thanks for mentioning PyGMTSAR! To give a brief comparison:
- EO-Tools relies entirely on Python packages (though some, like GDAL, may have C/C++ core functions), while PyGMTSAR depends on GMTSAR, which is a specialized InSAR software fully written in C, although it only uses specific functions from it.
- The two tools serve different purposes. EO-Tools is designed as a general-purpose tool for pre-processing SAR data, making it easy to combine with other sensors like optical data (there’s even basic Sentinel-2 functionality included). It focuses on providing analysis-ready data, including SAR phase-related information such as interferometric coherence and (in the future) dual-polarimetric features. Users can easily insert their own pre-processing routines, like speckle filters or feature extractors, and geocode the results using lookup tables produced by the tool. On the other hand, PyGMTSAR focuses more on advanced InSAR techniques like PSI (Persistent Scatterer Interferometry) and SBAS (Small Baseline Subset), which are widely used in geoscience research.
The long-term goal of EO-Tools is to allow users to extract as much information as possible from Single Look Complex (SLC) products for their specific applications. A good example is using interferometric coherence as a vegetation index for crop monitoring. For instance, this study, Multi-Annual Evaluation of Time Series of Sentinel-1 Interferometric Coherence as a Tool for Crop Monitoring, explores how polarimetric backscatter and InSAR coherence complement each other in this context. I believe there’s huge potential in combining these approaches with machine learning.
I hope this helps clarify the scope of EO-Tools