View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
2D phase unwrapping algorithms

3.7 | 9 ratings Rate this file 115 Downloads (last 30 days) File Size: 40 KB File ID: #22504 Version: 1.1

2D phase unwrapping algorithms



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, Nf2 Ff, and 2 D Weighted Phase Unwrapping.

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 (12)
15 May 2016 PatronBernard

I'd prefer them as single functions instead of scripts that I still have to modify...

16 Feb 2015 A

A (view profile)

I am trying to find the temperature of the candle flame using its interferogram.The image is not a complex image as given in the submission.I have found the phase using the method described in the following publication. "Digital phase-step interferometry: a simplified approach
D.C. WILLIAMS, N.S. NASSAR, J.E. BANYARD, M.S. VIRDEE" .when i try to unwrap this phase using this code i am getting wrong unwrapped image..i.e., a white image.that is not the required one.Please help me out in this regard.
Thank you

Comment only
28 Dec 2014 Rang

Rang (view profile)

18 Sep 2014 Peng

Peng (view profile)

That is great!

26 May 2014 Bahar

Bahar (view profile)

Helped me a lot!

15 Sep 2012 Tim Zaman

Remarkably slow..

Comment only
15 Sep 2012 Tim Zaman

09 Aug 2012 peter

peter (view profile)

17 Jul 2012 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

Eric (view profile)

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

Hex (view profile)

26 Feb 2009 Deva

Deva (view profile)

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 1.1

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

Contact us