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