ZoomFastFourierTransform

class hcipy.fourier.ZoomFastFourierTransform(input_grid, output_grid)

Bases: FourierTransform

A Zoom Fast Fourier transform (ZoomFFT) object.

This Fourier transform is a specialization of the Chirp Z-transform. It requires both the input and output grid to be regularly spaced in Cartesian coordinates. However, contrary to the Fast Fourier Transform (FFT), the spacing can be arbitrary and a small region of Fourier space can be efficiently evaluated.

The ZoomFFT is asymptotically faster than a Matrix Fourier Transform (MFT) in cases where both input and output grids are large, typically at 1k x 1k or bigger in each grid. It also supports arbitrary dimenionality of the input and output grids.

Parameters:
input_gridGrid

The grid that is expected for the input field.

output_gridGrid

The grid that is produced by the Fourier transform.

Raises:
ValueError

If the input grid is not separated in Cartesian coordinates, if it’s not one- or two- dimensional, or if the output grid has a different dimension than the input grid.

Methods Summary

backward(field)

Returns the inverse Fourier transform of the Field field.

forward(field)

Returns the forward Fourier transform of the Field field.

Methods Documentation

backward(field)

Returns the inverse Fourier transform of the Field field.

Parameters:
fieldField

The field to inverse Fourier transform.

Returns:
Field

The inverse Fourier transform of the field.

forward(field)

Returns the forward Fourier transform of the Field field.

Parameters:
fieldField

The field to Fourier transform.

Returns:
Field

The Fourier transform of the field.