SNAPHU: Statistical-Cost, Network-Flow Algorithm for Phase Unwrapping


Two-dimensional phase unwrapping is the process of recovering unambiguous phase data from a 2-D array of phase values known only modulo 2pi rad. SNAPHU is an implementation of the Statistical-cost, Network-flow Algorithm for Phase Unwrapping proposed by Chen and Zebker (see references below). This algorithm poses phase unwrapping as a maximum a posteriori probability (MAP) estimation problem, the objective of which is to compute the most likely unwrapped solution given the observable input data. Because the statistics relating the input data to the solution depend on the measured quantity, SNAPHU incorporates three built-in statistical models, for topography data, deformation data, and smooth generic data. The posed optimization problem is solved approximately with use of network-flow techniques. SNAPHU always produces complete unwrapped solutions, and, in our tests, its accuracy is comparable to or better than that of other available algorithms. As SNAPHU uses an iterative optimization procedure, its execution time depends on the difficulty of the interferogram. In single-tile mode the required memory is on the order of 100 MB per 1,000,000 pixels in the input interferogram. The software is written in C and should run on most Unix/Linux platforms. It is freely available to the public, subject to the conditions outlined in the README file included with the distribution.

The latest version of the code is 2.0.4 (August 2020).


Download the full source distribution here: snaphu-v2.0.4.tar.gz (gzipped tar file, 170 kB, August 2020)

The following files are included in the full distribution, but are listed separately here as well for convenience:
Distribution README file: README (text, 5 kB)
Text version of man page: snaphu_man1.txt (text, 33 kB)
HTML version of man page: snaphu_man1.html (text, 38 kB)
Full template runtime configuration file: snaphu.conf.full (text, 28 kB)
Brief template runtime configuration file: snaphu.conf.brief (text, 17 kB)
Description of changes in this release: README_releasenotes.txt (text, 7 kB)

Legacy source distributions are available here:
snaphu-v1.4.2.tar.gz (gzipped tar file, 140 kB, January 2003)
snaphu-v2.0.0.tar.gz (gzipped tar file, 167 kB, March 2019)
snaphu-v2.0.1.tar.gz (gzipped tar file, 168 kB, August 2019)
snaphu-v2.0.2.tar.gz (gzipped tar file, 169 kB, October 2019)
snaphu-v2.0.3.tar.gz (gzipped tar file, 169 kB, November 2019)


C. W. Chen and H. A. Zebker, ``Network approaches to two-dimensional phase unwrapping: intractability and two new algorithms,'' Journal of the Optical Society of America A, vol. 17, pp. 401-414 (2000).

C. W. Chen and H. A. Zebker, ``Two-dimensional phase unwrapping with use of statistical models for cost functions in nonlinear optimization,'' Journal of the Optical Society of America A, vol. 18, pp. 338-351 (2001).

C. W. Chen and H. A. Zebker, ``Phase unwrapping for large SAR interferograms: Statistical segmentation and generalized network models,'' IEEE Transactions on Geoscience and Remote Sensing, vol. 40, pp. 1709-1719 (2002).

Stanford Radar Interferometry Research Group Home Page