You are now following this Submission
- You will see updates in your followed content feed
- You may receive emails, depending on your communication preferences
Phase-only correlation is broadly used to correct pure translation shift between two images. This code uses a frequency domain-filtering to handle noise.
Usage:
shift=POCShift(fixed, moving); % for a max cut-off of 60%
shift=POCShift(fixed, moving, C); % with 0<C<1 for a max cut-off of 100*C%
shift=POCShift(fixed, moving, 0); % to disable filtering
'fixed' and 'moving' must be of consistent size.
The algorithm works as follows:
1. The FFT of both images is calculated as well as the normalized cross spectrum R.
2. The inverse Fourier transform r of a low-pass filtered R is computed with a cut-off frequency varying from 5% to 'cutoff' (default is 60%). Use cutoff=0 to disable filtering.
3. The translation is computed from the position of the peak in r
Ref: Takita et al. High-accuracy subpixel image registration based on phase-only correlation IEICE transactions on fundamentals of electronics, communications and computer sciences 86(8), 1925-1934, 2003.
Cite As
Jérémie Guignard (2026). POCShift (https://nl.mathworks.com/matlabcentral/fileexchange/46978-pocshift), MATLAB Central File Exchange. Retrieved .
Acknowledgements
Inspired by: ExtPhaseCorrelation
Categories
Find more on Geometric Transformation and Image Registration in Help Center and MATLAB Answers
General Information
- Version 1.2.0.0 (2.48 KB)
MATLAB Release Compatibility
- Compatible with any release
Platform Compatibility
- Windows
- macOS
- Linux
