DIPlib Documentation - ©1995-2017 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 typeNameDescription
dip_ImageinInput
dip_ImageoutOutput
dipf_FourierTransformtrFlagsTransform flags
dip_BooleanArrayprocess (0)Dimensions to process
void *theFutureFor future use, should be set to zero

The dipf_FourierTransform enumeration consists of the following flags:

NameDescription
DIP_TR_FORWARDForward transformation
DIP_TR_INVERSEInverse transformation

SEE ALSO

HartleyTransform