Skip to content

Overview of Dolphin

Dolphin processes coregistered single-look complex (SLC) radar images into a time series of surface displacement. The software has an end-to-end surface displacement processing workflow, accessible through a command line tool, which calls core algorithms for PS/DS processing:

  • The shp subpackage estimates the SAR backscatter distribution to find neighborhoods of statistically homogeneous pixels (SHPs) using the generalized likelihood ratio test from Parizzi and Brcic, 2011 or the Kolmogorov-Smirnov test from Ferretti et al., 2011.
  • The phase_link subpackage processes the complex SAR covariance matrix into a time series of wrapped phase using the CAESAR algorithm [Fornaro et al., 2015], the eigenvalue-based maximum likelihood estimator of interferometric phase (EMI) [Ansari et al., 2018], or the combined phase linking (CPL) approach from Mirzaee et al., 2023.
  • The ps module selects persistent scatterer pixels from the full-resolution SLCs to be integrated into the wrapped interferograms [Ferretti et al., 2001].
  • The unwrap subpackage exposes multiple phase unwrapping algorithms, including the Statistical-cost, Network-flow Algorithm for Phase Unwrapping (SNAPHU) [Chen and Zebker, 2001], the PHASS algorithm (available in the InSAR Scientific Computing Environment [Rosen et al., 2018]), and the Extended Minimum Cost Flow (EMCF) 3D phase unwrapping algorithm via the spurt library. Dolphin has pre- and post-processing options, including Goldstein filtering [Goldstein and Werner, 1998] or interferogram masking and interpolation [Chen et al., 2015].
  • The timeseries module contains basic functionality to invert an overdetermined network of unwrapped interferograms into a time series and estimate the average surface velocity. The outputs of Dolphin are also compatible with the Miami INsar Time-series software for users who are already comfortable with MintPy [Yunjun et al., 2019].

To meet the computational demands of large-scale InSAR processing, Dolphin leverages Just-in-time (JIT) compilation, maintaining the readability of Python while matching the speed of compiled languages. The software's compute-intensive routines use the XLA compiler within JAX [Bradbury et al., 2018] for efficient CPU or GPU processing. Users with compatible GPUs can see 5-20x speedups by simply installing additional packages. Dolphin manages memory efficiently through batch processing and multi-threaded I/O, allowing it to handle datasets larger than available memory while typically using a few gigabytes for most processing stages. These optimizations enable Dolphin to process hundreds of full-frame Sentinel-1 images with minimal configuration, making it well-suited for large-scale projects such as OPERA.

Overview of main workflow to generate surface displacement. Rectangular stacks indicate input or intermediate raster images. Arrows show the flow of data through the configurable submodules of Dolphin.

For more on running the dolphin command line tool, see the walkthroughs on the Tutorials page.

Fornaro et al., 2015

Fornaro G., Verde S., Reale D. and Pauciullo A., 2015. CAESAR: An Approach Based on Covariance Matrix Decomposition to Improve Multibaseline--Multitemporal Interferometric SAR Processing. IEEE Transactions on Geoscience and Remote Sensing. 53, pp.2050--2065. 10.1109/TGRS.2014.2352853

Ansari et al., 2018

Ansari H., De F. and Bamler R., 2018. Efficient Phase Estimation for Interferogram Stacks. IEEE Transactions on Geoscience and Remote Sensing. 56, pp.4109--4125. 10.1109/TGRS.2018.2826045

Ferretti et al., 2001

Ferretti A., Prati C. and Rocca F., 2001. Permanent Scatters in SAR Interferometry. IEEE Transactions on Geoscience and Remote Sensing. 39, pp.8--20. 10.1109/36.898661

Chen and Zebker, 2001

Chen C.W. and Zebker H.A., 2001. Two-Dimensional Phase Unwrapping with Use of Statistical Models for Cost Functions in Nonlinear Optimization. Journal of the Optical Society of America A. 18, pp.338. 10.1364/JOSAA.18.000338

Rosen et al., 2018

Rosen P.A., Gurrola E.M., Agram P., Cohen J., Lavalle M., Riel B.V., Fattahi H., Aivazis M.A., Simons M. and Buckley S.M., 2018. The InSAR Scientific Computing Environment 3.0: A Flexible Framework for NISAR Operational and User-Led Science Processing. 10.1109/IGARSS.2018.8517504

Goldstein and Werner, 1998

Goldstein R.M. and Werner C.L., 1998. Radar Interferogram Filtering for Geophysical Applications. Geophysical Research Letters. 25, pp.4035--4038. 10.1029/1998GL900033

Chen et al., 2015

Chen J., Zebker H.A. and Knight R., 2015. A Persistent Scatterer Interpolation for Retrieving Accurate Ground Deformation over InSAR-decorrelated Agricultural Fields. Geophysical Research Letters. 42, pp.9294--9301. 10.1002/2015GL065031

Yunjun et al., 2019

Yunjun Z., Fattahi H. and Amelung F., 2019. Small Baseline InSAR Time Series Analysis: Unwrapping Error Correction and Noise Reduction. Computers \& Geosciences. 133, pp.104331. 10.1016/j.cageo.2019.104331

Bradbury et al., 2018

Bradbury J., Frostig R., Hawkins P., Johnson M.J., Leary C., Maclaurin D., Necula G., Paszke A., VanderPlas J., Wanderman-Milne S. and Zhang Q., 2018. JAX: Composable Transformations of Python+NumPy Programs.