Code covered by the BSD License  

Highlights from
2D phase unwrapping algorithms

3.875
3.9 | 8 ratings Rate this file 159 Downloads (last 30 days) File Size: 40 KB File ID: #22504 Version: 1.1

2D phase unwrapping algorithms

by

 

22 Dec 2008 (Updated )

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

| Watch this File

File Information
Description

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.

Acknowledgements

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 (11)
16 Feb 2015 A

A (view profile)

Hi..
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

Hi,
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.
A

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?

Updates
23 Feb 2009 1.1

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

Contact us