DESCRIPTION

r.texture creates raster maps with textural features from a user-specified raster map layer. The module calculates textural features based on spatial dependence matrices at 0, 45, 90, and 135 degrees for a distance (default = 1).

r.texture assumes grey levels ranging from 0 to 255 as input. The input has to be rescaled to 0 to 255 before if needed.

In general, several variables constitute texture: differences in grey level values, coarseness as scale of grey level differences, presence or lack of directionality and regular patterns.

r.texture reads a GRASS raster map as input and calculates textural features based on spatial dependence matrices for north-south, east-west, northwest, and southwest directions using a side by side neighborhood (i.e., a distance of 1). The user should be sure to carefully set the resolution (using g.region) before running this program, or the computer may run out of memory. The output consists into four images for each textural feature, one for every direction.

A commonly used texture model is based on the so-called grey level co-occurrence matrix. This matrix is a two-dimensional histogram of grey levels for a pair of pixels which are separated by a fixed spatial relationship. The matrix approximates the joint probability distribution of a pair of pixels. Several texture measures are directly computed from the grey level co-occurrence matrix.

The following are brief explanations of texture measures:

NOTES

Importantly, the input raster map cannot have more than 255 categories. If needed, a map with more categories can be rescaled using r.rescale.

EXAMPLE

Calculation of Angular Second Moment of B/W orthophoto (North Carolina data set):
g.region rast=ortho_2001_t792_1m -p
r.texture -a ortho_2001_t792_1m prefix=ortho_texture

# display
g.region n=221461 s=221094 w=638279 e=638694
d.shadedmap drape=ortho_texture_ASM_0 rel=ortho_2001_t792_1m
This calculates four maps (requested texture at four orientations): ortho_texture_ASM_0, ortho_texture_ASM_45, ortho_texture_ASM_90, ortho_texture_ASM_135.

BUGS

- The program can run incredibly slow for large raster maps.

- The method for finding the maximal correlation coefficient, which requires finding the second largest eigenvalue of a matrix Q, does not always converge. This is a known issue with this measure in general.

REFERENCES

The algorithm was implemented after Haralick et al., 1973.

The code was taken by permission from pgmtexture, part of PBMPLUS (Copyright 1991, Jef Poskanser and Texas Agricultural Experiment Station, employer for hire of James Darrell McCauley).
Manual page of pgmtexture

  • Haralick, R.M., K. Shanmugam, and I. Dinstein (1973). Textural features for image classification. IEEE Transactions on Systems, Man, and Cybernetics, SMC-3(6):610-621.
  • Bouman, C. A., Shapiro, M. (1994). A Multiscale Random Field Model for Bayesian Image Segmentation, IEEE Trans. on Image Processing, vol. 3, no. 2.
  • Haralick, R. (May 1979). Statistical and structural approaches to texture, Proceedings of the IEEE, vol. 67, No.5, pp. 786-804
  • Hall-Beyer, M. (2007). The GLCM Tutorial Home Page (Grey-Level Co-occurrence Matrix texture measurements). University of Calgary, Canada

    SEE ALSO

    i.smap, i.gensigset, i.pca, r.rescale

    AUTHORS

    G. Antoniol - RCOST (Research Centre on Software Technology - Viale Traiano - 82100 Benevento)
    C. Basco - RCOST (Research Centre on Software Technology - Viale Traiano - 82100 Benevento)
    M. Ceccarelli - Facolta di Scienze, Universita del Sannio, Benevento

    Last changed: $Date$