Operators |
gen_gabor — Generate a Gabor filter.
gen_gabor( : ImageFilter : Angle, Frequency, Bandwidth, Orientation, Norm, Mode, Width, Height : )
gen_gabor generates a Gabor filter with a user-definable bandpass frequency range and sign for the Hilbert transform. This is done by calculating a symmetrical filter in the frequency domain, which can be adapted by the parameters Angle, Frequency, Bandwidth and Orientation such that a certain frequency band and a certain direction range in the spatial domain is filtered out in the frequency domain.
The parameters Frequency (central frequency = distance from the DC term) and Orientation (direction) determine the center of the filter. Larger values of Frequency result in higher frequencies being passed. A value of 0 for Orientation generates a horizontally oriented “crescent” (the bulge of the crescent points upward). Higher values of Orientation result in the counterclockwise rotation of the crescent.
The parameters Angle and Bandwidth are used to determine the range of frequencies and angles being passed by the filter. The larger Angle is, the smaller the range of angles passed by the filter gets (because the “crescent” gets narrower). The larger Bandwidth is, the smaller the frequency band being passed gets (because the “crescent” gets thinner).
To achieve a maximum overall 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. 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. Note that gen_gabor cannot create a filter that can be used with rft_generic.
The resulting image is a two-channel real-image, containing the Gabor filter in the first channel and the corresponding Hilbert filter in the second channel.
Gabor and Hilbert filter.
Angle range, inversely proportional to the range of orientations.
Default value: 1.4
Suggested values: 1.0, 1.2, 1.4, 1.6, 2.0, 2.5, 3.0, 5.0, 6.0, 10.0, 20.0, 30.0, 50.0, 70.0, 100.0
Typical range of values: 1.0 ≤ Angle ≤ 500.0
Minimum increment: 0.001
Recommended increment: 0.1
Distance of the center of the filter to the DC term.
Default value: 0.4
Suggested values: 0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.50, 0.55, 0.60, 0.65, 0.699
Typical range of values: 0.0 ≤ Frequency ≤ 0.7
Minimum increment: 0.00001
Recommended increment: 0.005
Bandwidth range, inversely proportional to the range of frequencies being passed.
Default value: 1.0
Suggested values: 0.1, 0.3, 0.7, 1.0, 1.5, 2.0, 3.0, 5.0, 7.0, 10.0, 15.0, 20.0, 30.0, 50.0
Typical range of values: 0.05 ≤ Bandwidth ≤ 100.0
Minimum increment: 0.001
Recommended increment: 0.1
Angle of the principal orientation.
Default value: 1.5
Suggested values: 0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.4, 2.6, 2.8, 3.0, 3.14
Typical range of values: 0.0 ≤ Orientation ≤ 3.1416
Minimum increment: 0.0001
Recommended increment: 0.05
Normalizing factor of the filter.
Default value: 'none'
List of values: 'n' , 'none'
Location of the DC term in the frequency domain.
Default value: 'dc_center'
List of values: 'dc_center' , 'dc_edge'
Width of the image (filter).
Default value: 512
Suggested values: 128, 160, 192, 256, 320, 384, 512, 640, 768, 1024, 2048, 4096, 8192
Height of the image (filter).
Default value: 512
Suggested values: 120, 128, 144, 240, 256, 288, 480, 512, 576, 1024, 2048, 4096, 8192
gen_gabor(Filter,1.4,0.4,1.0,1.5,'n','dc_edge',512,512) fft_generic(Image,ImageFFT,'to_freq',-1,'none','dc_edge','complex') convol_gabor(ImageFFT,Filter,Gabor,Hilbert) fft_generic(Gabor,GaborInv,'from_freq',1,'none','dc_edge','byte') fft_generic(Hilbert,HilbertInv,'from_freq',1,'none','dc_edge','byte') energy_gabor(GaborInv,HilbertInv,Energy)
gen_gabor returns 2 (H_MSG_TRUE) if all parameters are correct. If necessary, an exception is raised.
gen_bandpass, gen_bandfilter, gen_highpass, gen_lowpass
Foundation
Operators |