Class GaborFilterBank

The class GaborFilterBank provides a tool for image filtering and texture feature detection using a theoretical model of Gabor filters.

Description: Due to our lack of texture understanding, Gabor filter extracted features are one out of many other texture representations, such as, co-ocurrence matrix, Gauss-Markov random fields or wavelet representations. Gabor filter features represent spatial and frequency (repetition) characteristics of 2D image textures that can be used for texture discrimination and object recognition purposes. The original Gabor filter design is described in the paper: Gabor D., "Theory of Communication," Journal of IEE, 93, 429-457, 1946. The implementation of this tool is based on the paper:
Palm, C; Keysers, D; Lehmann, TM; Spitzer, K: Gabor Filtering of Complex Hue/Saturation Images for Color Texture Classification, In: Wang, PP (ed.): Procs. 5th Joint Conference on Information Science (JCIS) 2, The Association for Intelligent Machinery, Atlantic City, NJ, 45-49, 2000, URL: http://www.fz-juelich.de/ime/datapool/Palm/JCIS_2000-45-49.pdf.

Setup: First, an image file is loaded in the main frame window and the GaborFilter dialog is invoked from the "Feature" drop-down menu of the main window. The GaborFilter dialog is shown below.


Gabor Filter dialog.

Next, a user has to specify the number of frequencies, orientations and angular offset before obtaining Gabor features. An example of a setup and a run is provided below.
1) Specify the number of frequencies in the "Frequencies" text field. This must be a positive integer (recommended 4 or 5).
2) Specify the number of orientations in the "Orientations" text field. This must be an integer greater than or equal to 3 (recommended 5-8).
3) Specify the angle offset in radians in the "Offset" text field. This must be a decimal value (recommended 0).
4a) Depending on the number of image bands (grayscale with one band or color with three bands), select a feature type in the "FeatureType" combo box.
4b) Press the "Get Features" button. The computation might take some time. After completing the computation, a user will be presented with a list of numberical feature values in one window and an image of the used filter bank in another window.
4c) To apply a single filter to the image and see the result, specify the frequency number for single filter, specify freq num and orientation also select feature type then press the "Show" button to display the chosen results.
5) Optional: Press the "Save" button to save resulting images to individual files.

INPUT FIELDS
Frequencies: Number of central frequencies (R) to use in filtering the image. This must be a positive integer (recommended 4 or 5). The filter central frequencies will range from sqrt(2) to 2^(R-1)*sqrt(2).
Orientations: Number of orientations of filters to use. This must be an integer greater than or equal to 3 (recommended 5-8). The filters will be oriented like the faces of a regular polygon with this many sides.
Offset: Angular counter-clockwise rotation of the filter orientations in radians (recommended 0). If offset=0 the 0th orientation filter is the horizontal bottom face of the filter bank polygon.
Features: Selection of which feature type to extract with "Get Features"

Grayscale: Find grayscale features in a single-band image.
R, G, B: Find features for the one chosen band, only works for 3-band (preferably RGB) images.
RGB: Find features for all 3 bands in an RGB image.
Opponent: Find opponent features in a 3-band RGB image, these are RG, RB, and GB combined features for same frequency, and RG', RB', GR', GB', BR', and BG' where ' indicates half (previous) frequency.
HS Complex: Finds complex Hue/Saturation features in a 3-band RGB image.

When using "Show" button:

Grayscale: Filters all bands and shows image with same number of bands as input.
R, G, B: Filters only the 1st, 2nd or 3rd band in an image that has at least that many bands, and shows only a single-band image.
RGB: Same as grayscale, filters all bands in an image.
Opponent: Same as grayscale, filters all bands in an image.
HS Complex: Converts a 3-band RGB image to HS-complex space, and displayes the filtered converted image.


Frequency: Number of the frequency to use in single scan(show). Ranges from 0 to (number of frequencies - 1).
Orientation: Number of the orientation to use in a single scan (show). Ranges from 0 to (number of orientations - 1).

BUTTONS
Get Features: Filters the input image with numerous (# of frequencies X # of orientations) filters and calculates feature values from these filterings. The feature values are displayed in a dialog box.
The feature values are displayed in sections of increasing frequency.
Within each frequency's section they are ordered in increasing orientation starting at 0.
In case of RGB features red is shown first followed by green and blue.
In case of opponent features, the current band and current-previous band opponents are shown. The order is RG, RB, GB for same band, and RG, RB, GR, GB, BR, BG for current-previous band.
Also shows the filter bank (image of all filters) used in this process.
Show: Shows 2 images. One is the filter with the specified parameters, the other is the image resulting from filtering the input image with this filter.
Save: Opens a save file dialog box for each image created with this tool You can then save each image to a different file, or press cancel to not save a given image.
Done: Closes the GaborFilter dialog box, as well as all images created while using it.

Release notes:

Version:
1.0
Author:
Martin Urban