# Fourier Image Manipulation Tools¶

There are a few interesting Fourier-based image manipulation tools implemented in this package.

## Shift Theorem¶

The Fourier shift theorem allows an image to be shifted in any directions by an arbitrary amount, including sub-pixel shifts. It is more computationally efficient than most interpolation techniques (or at least, so I think). It is described well in this lecture and in the NRAO interferometry course.

The shift code is in `image_registration.fft_tools.shift`

.

## Similarity Theorem¶

The similarity theorem, or scale theorem, allows you to upsample timestreams. You cannot gain information below the image scale, but it is useful for getting sub-pixel information about gaussian peaks, for example. This NRAO lecture details the math.

The zoom and upsample methods are in `image_registration.fft_tools.scale`

and `image_registration.fft_tools.zoom`

.

## Resources¶

I made use of a lot of not particularly easy to find documents when writing this code.

As stated elsewhere, though, the main inspiration for this work was Manuel Guizar’s DFT upsampling technique