gen_bandpass ( : ImageBandpass : MinFrequency, MaxFrequency, Norm, Mode, Width, Height : )
Generate an ideal bandpass filter.
gen_bandpass generates an ideal bandpass filter in the
frequency domain. The parameters MinFrequency and
MaxFrequency determine the cutoff frequencies of the filter
as a fraction of the maximum (horizontal and vertical) frequency
that can be represented in an image of size Width
x Height, i.e., MinFrequency and
MaxFrequency should lie between 0 and 1. 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. The resulting
image contains an annulus with the value 255, and the value 0
outside of this annulus.
Parameters
ImageBandpass (output_object)
|
image -> object : real
|
|
Bandpass filter in the frequency domain. |
MinFrequency (input_control)
|
real -> real
|
|
Minimum frequency. |
|
Default value: 0.1 |
|
Suggested values: 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0 |
|
Restriction: MinFrequency >= 0 |
MaxFrequency (input_control)
|
real -> real
|
|
Maximum frequency. |
|
Default value: 0.2 |
|
Suggested values: 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0 |
|
Restriction: (MaxFrequency >= 0) && (MaxFrequency >= MinFrequency) |
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
/* Filtering with maximum efficiency with fft_generic. */
gen_bandpass(Bandpass,0.2,0.4,'n','dc_edge',Width,Height)
fft_generic(Image,ImageFFT,'to_freq',-1,'none','dc_edge','complex')
convol_fft(ImageFFT,Bandpass:ImageConvol)
fft_generic(ImageConvol,ImageResult,'from_freq',1,'none','dc_edge','byte')
Result
gen_bandpass returns 2 (H_MSG_TRUE) if all parameters are correct.
If necessary, an exception handling is raised.
Parallelization Information
gen_bandpass is reentrant and processed without parallelization.
Possible Successors
convol_fft
See also
gen_highpass,
gen_lowpass,
gen_bandfilter,
gen_gauss_filter,
gen_derivative_filter
Module
Foundation
Copyright © 1996-2008 MVTec Software GmbH