Fourier Transform

Two-dimensional Fourier transform can be accessed using Data ProcessIntegral Transforms2D FFT which implements the Fast Fourier transform (FFT). Fourier transform decomposes signal into its harmonic compoments, it is therefore useful while studying spectral frequencies present in the SPM data.

The 2D FFT module provides several types of output:

and some their combinations for convenience.

Radial sections of the two-dimensional PSDF can be conveniently obtained with Data ProcessStatisticsPSDF Section. Several other functions producing spectral densities are described in section Statistical Analysis. It is also possible to filter images in the frequency domain using one-dimensional or two-dimensional FFT filters.

Note that the Fourier transform treats data as being infinite, thus implying some cyclic boundary conditions. As the real data do not have these properties, it is necessary to use some windowing function to suppress the data at the edgest of the image. If you do not do this, FFT treats data as being windowed by rectangular windowing function which has really bad Fourier image thus leading to corruption of the Fourier spectrum.

Gwyddion offers several windowing functions. Most of them are formed by some sine and cosine functions that damp data correctly at the edges. In the following windowing formula table the independent variable x is from interval (0, 1), which corresponds to the normalized abscissa; for simplicity variable ξ = 2πx is used in some formulas. The available windowing types include:

NameFormula
None1
Rect0.5 at edge points, 1 everywhere else
Hann
Hamming
Blackmann
Lanczos
Welch
Nutall
Flat-top
Kaiser  α where I0 is the modified Bessel function of zeroth order and α is a parameter

Windowing functions: Hann, Hamming, Blackmann, Lanczos, Welch, Nutall, Flat-top, Kaiser 2.5.

Envelopes of windowing functions frequency responses: Hann, Hamming, Blackmann, Lanczos, Welch, Nutall, Flat-top, Kaiser 2.5.

Fourier transforms of data with sizes that are not factorable into small prime factors can be very slow – and many programs only implement FFT of arrays with dimensions that are powers of two.

In Gwyddion, however, the Fourier transform can be applied to data fields and lines of arbitrary dimensions, with no data resampling involved (at least since version 2.8). Fourier transforms are calculated either using the famous FFTW library or, if it is not available, using Gwyddion built-in routines that are slower but can also handle transforms of arbitrary size.

Nevertheless, if the data size is not factorable into small prime factors the transform is still considerably slower. Hence it is preferable to transform data fields of “nice” sizes.