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.
I'd prefer them as single functions instead of scripts that I still have to modify...
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.
That is great!
Helped me a lot!
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.
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.
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?
Modified the Goldstein algorithm to allow only part of a phase image to be unwrapped.