How to Apply D-InSAR with python (not time-series such as SBAS)

And it is much faster - GMTSAR is some times slower on small datasets and is not able to complete SBAS processing on large series when PyGMTSAR does it well on a common laptop. See continues integration (CI) tests in the github repository to compare GMTSAR vs PyGMTSAR processing on a small dataset plus DockerHub image for a large dataset (using 15m processing and output resolution for two stitched scenes). SNAP even cannot be installed on hosts where PyGMTSAR processes thousands of interferogram in a few hours.

1 Like

@MBG

From what I have confirmed, MintPy requires creating the interferogram stack using other tools before processing, whereas PyGMTSAR allows both tasks to be performed within the same library.

Is that correct?

@gjustin PyGMTSAR is an InSAR processor that performs the full pipeline. It starts from specified Sentinel-1 SLC scenes with automatic downloading of orbits, DEM and landmask, and creation of an image stack. It then calculates the Amplitude Dispersion Index (ADI) for PS analysis, creates SBAS baseline pairs, and computes interferograms using an ADI-weighted algorithm. This is followed by unwrapping using amplitude and phase stability (ADI and stack coherence) and detrending using Gaussian filtering and regression to fit DEM and coordinates. Finally, it calculates the SBAS least-squares solution to mitigate atmospheric effects, projects vertical and east-west components, and produces trend and seasonal components.
As you can see, InSAR processors such as JPL ISCE, SNAP, and GMTSAR are very limited in their capabilities compared to PyGMTSAR. MintPy and some others are not true InSAR processors but are merely post-processors, and they do not support comprehensive analysis. MintPy loads a pre-calculated stack of interferograms and can only process Line-Of-Sight (LOS) displacement, without the Amplitude Dispersion Index (ADI) and coherence weighted unwrapping, displacement components calculation, seasonal trend analysis, and all other features available in PyGMTSAR. Moreover, PyGMTSAR uses delayed big data computations, which means you can perform SBAS analysis even on a host with only 4GB RAM (with no swapfile) and it operates quickly. This makes PyGMTSAR well-suited to free cloud environments like Google Colab Jupyter notebooks, GitHub Runners, and Docker containers. If you need to process hundreds or even thousands of interferograms with high resolution (15m) for stitched scenes, PyGMTSAR can accomplish this in a Docker container with 16GB RAM (without swapfile). In contrast, GMTSAR stalls halfway through the same task on a 64-core, 512GB workstation. An example Docker image specifically designed for this use case is shared on DockerHub.
At the end of the day, you are able to produce GRD results and coherence maps with arbitrary resolution as well. PS-SBAS analysis uses stable scatterers to enhance SBAS time-series analysis, and it would be impossible to achieve the same result in any other way. It provides complete area coverage as SBAS does, but with the original high-resolution grid of Sentinel-1, similar to PSI analysis.

1 Like