FourierGaussFltImg

DESCRIPTION

Applies a Gaussian frequency domain filter to a frequency domain image. The effect is to convolve a filter with the image in the spatial domain. The frequency domain representation of the filter is as follows:
H(u,v) = HF Gain + (DC Gain - HF Gain) * exp
          {-[(a11 u + a12 v)**2 + (a21 u + a22 v)**2 ]}

where

 H( )     = transfer function of the filter
 u,v      = 2D frequency coordinates
 HF Gain  = gain of filter at the Nyquist frequency (highest).
 DC Gain  = gain of the filter at zero frequency (DC).
 Min Half = frequency of half power point along the minor elliptical axis
 Maj Half = frequency of half power point along the major elliptical axis
 Theta    = angle in degrees of the filter's orientation
 xSize    = x dimension of the source image
 ySize    = y dimension of the source image
 sigmaL   = sqrt (.693147/ (minHalf*minHalf))
 sigmaS   = sqrt (.693147/ (majHalf*majHalf))
 phi      = 0.017453 * Theta
 a11      =  sigmaS * cos(phi) /xSize
 a12      =  sigmaS * sin(phi) /ySize
 a21      = -sigmaL * sin(phi) /xSize
 a22      =  sigmaL * cos(phi) /ySize 

The input must be a frequency domain image in the packed format produced by the ForwardFFTImg module (see format description in ForwardFFTImg documentation). The Fourier transformation and the cross correlation are discussed in:

Digital Image Processing, Gonzales, R.C., Wintz, P., Addison Wesley, Second Edition, 1987, pp 61--137.

INPUTS

Port: Img In
Type: Lattice
Constraints: 1..3-D
source frequency domain image

WIDGETS

Port: HF Gain
Type: Dial
HF Gain constant value

Port: DC Gain
Type: Dial
DC Gain constant value

Port: Min Half
Type: Dial
Min Half constant value

Port: Maj Half
Type: Dial
Maj Half constant value

Port: Theta
Type: Dial
Theta constant value

OUTPUTS

Port: Img Out
Type: Lattice
Constraints: 1..3-D
filtered frequency domain image

PROBLEMS

Selecting MajHalf=0 or MinHalf=0 will cause a NaN to be generated in the filter kernel, which will result in NaNs throughout the inverse transformed image downstream. Mathematically, the correct value would be a zero instead of a NaN, but the inputs are not tested for this condition.

SEE ALSO

ForwardFFTImg InverseFFTImg FourierExpFltImg
[ Documentation Home ]
© The Numerical Algorithms Group Ltd, Oxford UK. 1999