arrayfire / arrayfire/arrayfire-python

may be useful: phase unwrapping

Open
#76 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
422
Forks
63
PR merge metrics
No merged PRs in 30d

Description

Hi,
I implemented a fast and noise-robust phase unwrapping method based on DCTs for AF's python wrapper. You can find the code and info about the corresponding [publication](http://www.mdpi.com/2313-433X/1/1/31) in the attached zip.
The DCT originates from [here](http://fourier.eng.hmc.edu/e161/lectures/dct/node2.html) and is normalized to reproduce results like [Scipy's DCT II and III](https://docs.scipy.org/doc/scipy/reference/generated/scipy.fftpack.dct.html). It interleaves the input array instead of mirror reflecting it in order to keep the FFTs the same size.
The algorithm is viable for not-too-noisy C2 smooth phase maps and can be used stand alone or as first guess for the preconditioned conjugate gradient method. When sparse support comes to AF I'll implement PCG phase unwrapping.
Use this as you see fit.

[phase_unwrapping.zip](https://github.com/arrayfire/arrayfire-python/files/224653/phase_unwrapping.zip)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.