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

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: orientation, Up: orientation [Contents][Index]