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