gen_gauss_filter ( : ImageGauss : Sigma1, Sigma2, Phi, Norm, Mode, Width, Height : )

Generate a Gaussian filter in the frequency domain.

gen_gauss_filter generates a (possibly anisotropic) Gaussian filter in the frequency domain. The standard deviations (i.e., the amount of smoothing) of the Gaussian in the spatial domain are determined by Sigma1 and Sigma2. Sigma1 is the standard deviation in the principal direction of the filter in the spatial domain determined by the angle Phi. To achieve a maximum efficiency of the filtering operation, the parameter Norm can be used to specify the normalization factor of the filter. If fft_generic and Norm = 'n' is used the normalization in the FFT can be avoided. Mode can be used to determine where the DC term of the filter lies or whether the filter should be used in the real-valued FFT. If fft_generic is used, 'dc_edge' can be used to gain efficiency. If fft_image and fft_image_inv are used for filtering, Norm = 'none' and Mode = 'dc_center' must be used. If rft_generic is used, Mode = 'rft' must be used.


Parameters

ImageGauss (output_object)
image -> object : real
Gaussian filter as image in the frequency domain.

Sigma1 (input_control)
real -> real
Standard deviation of the Gaussian in the principal direction of the filter in the spatial domain.
Default value: 1.0
Suggested values: 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.5, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0
Restriction: Sigma1 >= 0

Sigma2 (input_control)
real -> real
Standard deviation of the Gaussian perpendicular to the principal direction of the filter in the spatial domain.
Default value: 1.0
Suggested values: 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.5, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0
Restriction: Sigma2 >= 0

Phi (input_control)
angle.rad -> real
Principal direction of the filter in the spatial domain.
Default value: 0.0
Suggested values: 0.0, 0.523599, 0.785398, 1.047198, 1.570796, 2.094395, 2.356194, 2.617994, 3.141593

Norm (input_control)
string -> string
Normalizing factor of the filter.
Default value: 'none'
List of values: 'none', 'n'

Mode (input_control)
string -> string
Location of the DC term in the frequency domain.
Default value: 'dc_center'
List of values: 'dc_center', 'dc_edge', 'rft'

Width (input_control)
integer -> integer
Width of the image (filter).
Default value: 512
List of values: 128, 160, 192, 256, 320, 384, 512, 640, 768, 1024, 2048, 4096, 8192

Height (input_control)
integer -> integer
Height of the image (filter).
Default value: 512
List of values: 120, 128, 144, 240, 256, 288, 480, 512, 576, 1024, 2048, 4096, 8192


Example
/* Generate a smoothed derivative filter. */
gen_gauss_filter (ImageGauss, Sigma, Sigma, 0, 'n', 'dc_edge', 512, 512)
convert_image_type (ImageGauss, ImageGaussComplex, 'complex')
gen_derivative_filter (ImageDerivX, 'x', 1, 'none', 'dc_edge', 512, 512)
mult_image (ImageGaussComplex, ImageDerivX, ImageDerivXGauss, 1, 0)
/* Filter an image with the smoothed derivative filter. */
fft_generic (Image, ImageFFT, 'to_freq', -1, 'none', 'dc_edge', 'complex')
convol_fft (ImageFFT, ImageDerivXGauss, Filtered)
fft_generic (Filtered, ImageX, 'from_freq', 1, 'none', 'dc_edge', 'real')

Result

gen_gauss_filter returns 2 (H_MSG_TRUE) if all parameters are correct. If necessary, an exception handling is raised.


Parallelization Information

gen_gauss_filter is reentrant and processed without parallelization.


Possible Predecessors

fft_image, fft_generic, rft_generic


Possible Successors

convol_fft


See also

fft_image_inv, gen_gauss_filter, gen_lowpass, gen_bandpass, gen_bandfilter, gen_highpass


Module

Foundation



Copyright © 1996-2008 MVTec Software GmbH