2D Fourier shift

Version 1.1.0.0 (1.54 KB) by Tim
Cyclically shift a 2D matrix or image using the Fourier shift theorem.
2.1K Downloads
Updated 11 Feb 2010

View License

This shifts cyclically shifts an image or other 2D matrix by an arbitrary number of pixels (which can be fractional). I haven't tested it much but the code is very short so it should be easy enough to adapt.

Usage:

y = FourierShift(x, [delta_x delta_y])

x is the input matrix. y is the output. delta_x and _y are the shift amounts in each dimension.

It takes about 1s to run for a 1024x1024 image on my PC. There are faster ways to shift images, but probably not any simpler sub-pixel methods.

Cite As

Tim (2024). 2D Fourier shift (https://www.mathworks.com/matlabcentral/fileexchange/23440-2d-fourier-shift), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2008a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.1.0.0

Added small fix for even-length signals.

1.0.0.0