Removing Noise

Fourier Transforms

Fourier Transforms are useful in removing harmonic noise like:

Herringbone patterns seen in video images

Sine wave patterns

Moiré patterns

Halftone patterns

Interference patterns

Fourier Transforms are also useful in removing noise from video signals and CCDs.

Fourier transforms convert an image from one where intensity varies over space into one where the intensity varies with frequency. After an image has been described (transformed) as a series of frequencies and phase, that information can then be analyzed using a power spectrum. The power spectrum is a two-dimensional map that plots the frequency of pixel intensity values. Low frequencies lie close to the origin and high frequencies close to the edges. From the analysis suitable filters can be applied to remove those parts of the image that correspond to the noise in the image. The image can then be retransformed back into the original image, only without the noise.

A Discrete Fourier Transform is a Fourier transform that uses a series which has values that have both a real and an imaginary component. Discrete Fourier transforms reveal periodicities in the data as well as the relative strengths of those periodicities.

Discrete Fourier Transforms can take a long time to compute. To reduce computing time, Fast Fourier Transforms can be used, which reduce the number of computations from 2N2 to 2N Lg N. However, using a Fast Fourier Transform requires that the number of points in the series be a power of 2.

The following functions provide Fourier transform capabilities:

L_AllocFTArray

Allocates a FTARRAY structure large enough to hold Fourier Transform coefficients

L_DFTBitmap

Computes the Discrete Fourier Transform of an image or the Inverse Discrete Fourier Transform, whichever is specified.

L_FFTBitmap

Computes the Fast Fourier Transform of an image or the Inverse Fast Fourier Transform, whichever is specified.

L_FreeFTArray

Frees the 2D storage array that was allocated by L_AllocFTArray.

L_FTDisplayBitmap

Converts the frequency harmonics amplitude or phase to a bitmap. It allows displaying the results of FFT and DFT as a bitmap.

L_FrqFilterBitmap

Filters the frequency harmonics according to the range rectangle.

L_FrqFilterMaskBitmap

Creates a mask filter for use in removing specific frequency components from a bitmap.