Previous: , Up: orientation   [Contents][Index]

15.5.413.1 orientation details

Conceptually, the orientation is determined by fitting (in least-squares fashion) a line to the Fourier transform of a small, apodized part of the data array centered on the point at which the orientation is to be determined. The fit can be determined by calculating the eigenvector corresponding to the smallest eigenvalue of a tensor whose elements are suitable integrals involving the Fourier transform of the data. If one calls the spectral density of the data (i.e., the square of the value of the Fourier transform) a "mass density", and substitutes "space coordinate" for "wavenumber" in the integrals, then the tensor is the inertia tensor of the "mass" distribution, and therefore this method of calculating orientations is known as the (inertia) tensor method.

Fortunately, the calculation of the elements of the inertia tensor can all be performed in the space domain, by using suitable spatial derivatives, so no Fourier transforms are actually calculated. During the calculations, a spatial differencing scheme is used to approximate the spatial derivatives. The order (and accuracy) of the differencing scheme is governed by argument `order`.

The eigenvalues of the inertia tensor measure the squared gradient of the data values along the principal axes (indicated by the eigenvectors). A zero eigenvalue indicates that the data does not vary along the corresponding principal axis. Such a principal axis may then be said to indicate the orientation of the data.

In practice, the eigenvalues are hardly ever exactly equal to zero, but if one eigenvalue is much smaller than all other ones, then the eigenvector corresponding to that eigenvalue can still be said to indicate the orientation of the data. In general, the eigenvector corresponding to the smallest eigenvalue of the inertia tensor is taken to indicate the orientation, and that orientation is returned by `orientation`.

The square of the returned local wavenumber is equal to the average of the square of the component of the wavevector that is aligned with the found orientation, weighted with the square of the spectral density in each small apodized area around the central pixel. As for the local orientation, all local-wavenumber calculations are done completely in the spatial domain, using suitable spatial derivatives.

The local wavenumber in any of the principal directions is equal to the sum of all eigenvalues except the eigenvalue corresponding to the chosen principal direction, and the result divided by the local power (see at `/getj`).

History:

The procedure that is used in LUX for calculating local orientation in the space domain from an inertia tensor is described by Jahne [a-umlaut] (1993). He ascribes the idea of determining local orientation in the Fourier domain to Bigun [u-umlaut] and Granlund (1987). The LUX procedure for calculating the local wavenumber was invented by l. Strous (1998) analogous to Jahne’s [a-umlaut] procedure for local orientation.

Bibliography:

• - "Digital Image Processing: Concepts, Algorithms, and Scientific Applications", 2nd Edition, by Bernd Jahne [a-umlaut]; Springer-Verlag (1993) [Sections 7.3, 17.5.2]
• - "Optimal orientation detection of linear symmetry", by j. Bigun [u-umlaut] and g. h. Granlund, in Proc. 1st Int. Conf. Comp. Vis., London (1987), pp. 433–438, ieee Computer Society Press, Washington (1987)

Previous: , Up: orientation   [Contents][Index]