Base class for steerable filters which translates between (row, col) coordinates of matrices and the (x, y) coordinates used in the paper.
Base class for steerable filters which translates between (row, col) coordinates of matrices and the (x, y) coordinates used in the paper. Note that kernels use an x, y coordinate system with (0, 0) at the center, which is why we require steerable kernels to be of odd width and height. Also note that we would like the y axis to increase upwards, but the conventional image processing scheme increases downward. We correct for that here by "flipping" the y coordinate about the x axis.
Figure 16 in Freeman and Adelson paper.
Figure 16 in Freeman and Adelson paper. See object Steerable.
Figure 16 in Freeman and Adelson paper.
Figure 16 in Freeman and Adelson paper. See object Steerable.
Figure 16 in Freeman and Adelson paper.
Figure 16 in Freeman and Adelson paper. See object Steerable.
Figure 18 in Freeman and Adelson paper.
Figure 18 in Freeman and Adelson paper. See object Steerable.
Figure 18 in Freeman and Adelson paper.
Figure 18 in Freeman and Adelson paper. See object Steerable.
Figure 18 in Freeman and Adelson paper.
Figure 18 in Freeman and Adelson paper. See object Steerable.
Figure 18 in Freeman and Adelson paper.
Figure 18 in Freeman and Adelson paper. See object Steerable.
Figure 18 in Freeman and Adelson paper.
Figure 18 in Freeman and Adelson paper. See object Steerable.
Figure 17 in Freeman and Adelson paper.
Figure 17 in Freeman and Adelson paper. See object Steerable.
Figure 17 in Freeman and Adelson paper.
Figure 17 in Freeman and Adelson paper. See object Steerable.
Figure 17 in Freeman and Adelson paper.
Figure 17 in Freeman and Adelson paper. See object Steerable.
Figure 17 in Freeman and Adelson paper.
Figure 17 in Freeman and Adelson paper. See object Steerable.
Figure 19 in Freeman and Adelson paper.
Figure 19 in Freeman and Adelson paper. See object Steerable.
Figure 19 in Freeman and Adelson paper.
Figure 19 in Freeman and Adelson paper. See object Steerable.
Figure 19 in Freeman and Adelson paper.
Figure 19 in Freeman and Adelson paper. See object Steerable.
Figure 19 in Freeman and Adelson paper.
Figure 19 in Freeman and Adelson paper. See object Steerable.
Figure 19 in Freeman and Adelson paper.
Figure 19 in Freeman and Adelson paper. See object Steerable.
Figure 19 in Freeman and Adelson paper.
Figure 19 in Freeman and Adelson paper. See object Steerable.
Factory for creating a G2 filter steered to "angle".
Factory which produces a G2a (real part) and H2a (imag part) kernel.
Factory which produces a G2b (real part) and H2b (imag part) kernel.
Factory which produces a G2c (real part) and H2c (imag part) kernel.
Factory which produces zero (real part) and H2d (imag part) kernel.
Factory which produces a G4a (real part) and H4a (imag part) kernel.
Factory which produces a G4b (real part) and H4b (imag part) kernel.
Factory which produces a G4c (real part) and H4c (imag part) kernel.
Factory which produces G4d (real part) and H4d (imag part) kernel.
Factory which produces G4e (real part) and H4e (imag part) kernel.
Factory which produces 0 (real part) and H4f (imag part) kernel.
Factory for creating an H2 filter steered to "angle".
Steerable filters as described in the paper "The Design and Use of Steerable Filters," Freeman and Adelson, IEEE Trans. Patt. Anal. and Machine Intell., vol 13, no. 9, pp 891-901, Sept. 1991.
The filters follow the naming convention of the paper to make it easy to cross reference the paper and implementation.
I have chosen the *SEPARABLE* kernels for the basis kernels, so these can all be implemented more efficiently than with the FFT.