Code covered by the BSD License  

Highlights from
2D phase unwrapping algorithms

3.9 | 8 ratings Rate this file 122 Downloads (last 30 days) File Size: 41.2 KB File ID: #22504

2D phase unwrapping algorithms


Bruce Spottiswoode


22 Dec 2008 (Updated )

Implementations of the phase quality path following method and Goldstein's branch cut method.

| Watch this File

File Information

Two 2D phase unwrapping approaches are included:
1. Phase quality guided path following method.
2. Goldstein's branch cut method.

The algorithms are described in:
D. C. Ghiglia and M. D. Pritt, Two-Dimensional Phase Unwrapping:
Theory, Algorithms and Software. New York: Wiley-Interscience, 1998.


This file inspired Goldstein Unwrap2 D R1, Quality Guided Unwrap2 D R1, and Nf2 Ff.

MATLAB release MATLAB 7.5 (R2007b)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (10)
28 Dec 2014 Rang


18 Sep 2014 Peng


That is great!

26 May 2014 Bahar


Helped me a lot!

15 Sep 2012 Tim Zaman

Tim Zaman

Remarkably slow..

Comment only
15 Sep 2012 Tim Zaman

Tim Zaman

09 Aug 2012 peter


17 Jul 2012 Armin Ka

Armin Ka

I need a phase unwrapping algorithm to unwrap the interference phase which is bounded between -pi, pi or 0, 2*pi
Thanks for your help.

Comment only
05 Mar 2010 Eric


Useful for unwrapping small images, but not for large images. A 510x510 array took 25 minutes on my machine. The following improvements need to be made for larger arrays:

1. Implement the "postponed" list described in Ghiglia and Pritt.
2. Avoid using Matlab's unwrap() function for unwrapping a length-two vector. Instead use Itoh's Method for a length 2 vector explicitly:
D = psi(2)-psi(1);
delta = atan2(sin(D),cos(D);
phi = psi(1) + delta;
3. Resize matrices as vectors

This yields about 20X speed improvement for the 510x510 array size.

15 May 2009 Hex


26 Feb 2009 Deva


Thanks for the contribution!! It is a much more elegant code than the one I was attempting to write from the pseudocode!

As I was testing out the code, I noticed that the algorithm does not go back and unwrap the branch cut pixels, as is described in Ghiglia and Pritt. Perhaps that would be a good addition to the next version?

23 Feb 2009

Modified the Goldstein algorithm to allow only part of a phase image to be unwrapped.

Contact us