DIPlib Documentation - ©1995-2013 Quantitative Imaging Group, Delft University of Technology.

# FourierTransform

Computes the Fourier transform

## SYNOPSIS

`#include "dip_transform.h"`

dip_Error dip_FourierTransform ( in, out, trFlags, process, theFuture )

## DATA TYPES

binary, integer, float, complex

## FUNCTION

Performs a Fourier transform on `in` and places the result in `out`.

Normalisation: 1/sqrt(dimension) for each dimension.

Defaults: `process` may be zero, indicating that all dimensions should be processed.

Sampling in Fourier Domain (FD): Let one pixel in the spatial domain (SD) be Delta_SD [m], then one pixel in the FD is Delta_FD = 1/(Delta_SD * N) [m^-1], where N is the width of the image in pixels. As a consequence the maximal frequency in the FD image is N/2 * 1/(Delta_SD * N) = 1/(2 * Delta_SD) [m^-1] and is thus independent of the image width N and only related to the Nyquist frequency. The frequency of one FD pixel is therefore related to the image width N.

Note: In consequence of the above the FD resolution will not be isotropic if the image size are not square.

Note: Spatial zero-padding of the image increases the FD resolution only apparently (empty magnification).

## ARGUMENTS

Data type | Name | Description
`dip_Image` | `in` | Input
`dip_Image` | `out` | Output
`dipf_FourierTransform` | `trFlags` | Transform flags
`dip_BooleanArray` | `process (0)` | Dimensions to process
`void *` | `theFuture` | For future use, should be set to zero

The `dipf_FourierTransform` enumeration consists of the following flags:

Name | Description
`DIP_TR_FORWARD` | Forward transformation
`DIP_TR_INVERSE` | Inverse transformation

## SEE ALSO

`HartleyTransform`