User's Guide

TEXTURE

Performs texture analyses on a multiband image

Function:

Evaluates the spatial variability (texture) of an image by using one of eight texture measures. Input may be BYTE, INTEGER*2, INTEGER*4, or REAL*4.

Parameters:

IN
Input image. Its data type may be BYTE, INTEGER*2, INTEGER*4, or REAL*4.

OUT
Output image. Its data type is always REAL*4. (See User's Note 2.)

TEXTOPT("INERTIA")
Texture option. Specifies the type of texture operation to perform.


= INERTIA:     Image contrast (difference moment), 
               a measure of local variation 

= CORRELATION: A measure of linear gray tone dependence

= HOMOGENEITY: A measure of monotonicity 

= ENTROPY:     A measure of the average uncertainty of gray 
               tone co-occurrence 

= ENERGY:      Angular second moment, a measure of the 
               average certainty of gray tone co-occurrence 

= VARIANCE:    A measure of gray tone variance within the 
               window (second-order moment about the mean) 

= SKEWNESS:    Third order moment about the mean; the 
               departure from symmetry about the mean gray 
               level 

= KURTOSIS:    Fourth order moment about the mean;
               a measure of the spread of gray tones about 
               the mean

KERNDIM(3,3)
Kernel dimensions (NL, NS). NL must be from 3 to 31. NS must be greater than or equal to 3.

LINEINC(1)
Line increment. The number of lines that the sliding window moves each time.

SAMPINC(1)
Sample increment. The number of samples that the sliding window moves each time.

ORIANG(0)
Orientation angle. Orientation angle from which gray tone co-occurrence is to be measured within the window. Values of 0, 45, 90 or 135 are valid. The angle is measured counterclockwise with 0 degrees at the horizontal. (See User's Note 4.)

ORIANG is not applicable to the functions VARIANCE, SKEWNESS, and KURTOSIS.

SAMPDIST(1)
Distance between co-occurrence samples. The direction is specified by ORIANG. Not applicable to the functions VARIANCE, SKEWNESS, and KURTOSIS.

PRINT(TERM)
Output destination for summary statistics.

  = --:   No Report
  = TERM: Terminal
  = LP:   Line printer
  = filename: User supplied
          file name

Examples:

  1. LAS> texture in=barb out=barb.text kerndim=(10,10)

    Inertia values for the image BARB are calculated within a 10 x 10 sliding window. The co-occurrence statistic is calculated between neighboring horizontal pixels and is output to the image BARB.TEXT.

  2. LAS> texture in=barb out=barb.text textopt=homogeneity kerndim=(5,5) lineinc=5 sampinc=5 oriang=45

    Homogeneity values are calculated along a 45-degree orientation, at a distance of 1, within a 5 x 5 window sliding 5 x 5 at each calculation. The results form output image one-fifth the size of the input image.

Description/Algorithm:

The TEXTURE measures are defined as follows:

 p(i,j) is the pixel value in row i, column j of the window.

 p(k,l) is the neighboring pixel value of the p(i,j) as defined by
        the specified angle and distance.

 n      is the number of pixels for summation as defined below.  It
        may depend on the function, angle, and distance.

For simplicity, the following sums are defined:

          n
       1    
  S1 = - SUM p(i,j)
       n        

          n
       1         2
  S2 = - SUM p(i,j)   
       n            

          n         
       1         3  
  S3 = - SUM p(i,j)   
       n             

          n          
       1         4  
  S4 = - SUM p(i,j)   
       n            

          n          
       1  
  S5 = - SUM p(k,l)
       n        

          n        
       1         2   
  S6 = - SUM p(k,l)   
       n             

          n           
       1  
  S7 = - SUM p(i,j)p(k,l)
       n                 



         n                
       1                    2
  S8 = - SUM (p(i,j)-p(k,l))
       n                      


                         2 
VARIANCE      = n(S2-(S1) )
                ------------
                    n-1 

                             
SKEWNESS      = S3-3(S2)(S1)+2(S1)3
                -------------------
                             3
                           2
                   (S2-(S1) )


                                      2     4
                S4-4(S3)(S1)+6(S2)(S1)-3(S1)
KURTOSIS      = -------------------------------
                              2
                            2
                    (S2-(S1) )


                                2
                        (S1+S5)
                 S7 -    -----
                          2
CORRELATION   =  -----------------------
                                     2
                 (S2+S6)      (S1+S5)
                  ------  -    -----     
                    2           2


INERTIA       = S8


                   n                   
                1           1          
HOMOGENEITY   = - SUM ------------------
                                       2
                n     1+(p(i,j)-p(k,l))


                       2         
                 m   f          
                      p          
ENERGY        = SUM  ---
                      2  
                     n      


                 m   -f        f      
                       p        p      
ENTROPY       = SUM (---) Ln (---)
                      n        n 

where the range of summation is such that each summed pixel should stay inside the window.

1. The value of n depends on the function. For VARIANCE, SKEWNESS, and KURTOSIS, n is the total number of pixels in the window.

2. For functions INERTIA and HOMOGENEITY, n is the number of pixel pairs [(i,j) and (k,l)] separated by DISTANCE and ANGLE. For example, for DISTANCE=1, ANGLE=0, there are NL(NS-1) pairs; for DISTANCE=1, ANGLE=45o, there are (NL-1)(NS-1) pairs. NL and NS are the number of lines and the number of samples in the window.

3. The summation in functions ENERGY and ENTROPY is not on the pixel pairs but on the gray tone (intensity) range.

 
          ENERGY  = SUM SUM f(a,b)
                     a   b

          ENTROPY = - SUM SUM f(a,b) ln f(a,b)
                       a   b

where f(a,b) is the joint frequency distribution for gray tone intensities a,b. Frequencies f(a,b) are constructed from the pixel pairs as defined in the work of Dr. R. M. Haralick, et al. (1973), pp. 613-614.

The method of texture analysis used is called the spatial gray tone dependence (SGTD) method and is based on the work of Haralick. The following publications contain detailed descriptions of the method: Conners, R. W., "Towards a Set of Statistical Features Which Measure Visually Perceivable Qualities of Textures," Proceedings of the IEEE Computer Society Conference on Pattern Recognition and Image Processing, Chicago, IL, Aug. 6-8, 1979.

Conners, R. W., and Harlow, C. A., "A Theoretical Comparison of Texture Algorithms," IEEE Transactions on Pattern Analysis and Machine Intelligence, PAMT-2:204-222, 1980.

Cox and Rose, "Texture Functions in Image Analysis: A Computationally Efficient Solution," NASA Technical Memorandum 85022, Goddard Space Flight Center, Greenbelt, MD, March 1983.

Haralick, R. M., "Statistical and Structural Approach to Texture," Proceedings of the IEEE, 67:786-804, 1979.

Haralick, R. M., Shanmaugam, K., and Kinstein, I., "Textural Features for Image Classification," IEEE Transactions on Systems, Man and Cybernetics, SMC-3:610-621, 1973.

Nonfatal Error Messages:

    None.

Fatal Error Messages:

  1. [texture-kerndim] KERNDIM cannot be larger than 31 in the vertical dimension

    KERNDIM(1) must be between 3 and 31.

  2. [texture-kerndim] KERNDIM cannot be smaller than 3 in the vertical dimension

    KERNDIM(1) must be between 3 and 31.

  3. [texture-kerndim] KERNDIM cannot be smaller than 3 in the horizontal dimension

    KERNDIM(2) must be greater or equal to 3.

  4. [texture-swind] Sliding window is larger than input image (or window)

    Respecify sliding window or input image size.

  5. [texture-vertwind] Vertical window size (lines) too small for adequate sample; increase window size or decrease distance

    Specify correct parameters.

  6. [texture-horwind] Horizontal window size (samples) too small for adequate sample; increase window size or decrease distance

    Specify correct parameters.

User's Notes:

  1. The parameters ORIANG and SAMPDIST are not applicable to the functions VARIANCE, SKEWNESS, and KURTOSIS, and will be ignored.

  2. The following formulas can be used to compute the output image size:

    
           number of lines  = INT((NLIN-KERNDIM(1))/LINEINC)+1
           number of pixels = INT((NPIN-KERNDIM(2))/SAMPINC)+1
    
    
          where
    
           NLIN = number of lines in input image 
           NPIN = number of pixels per line in input image 
    
  3. Summary statistics for the entire output image are printed as requested by PRINT. They include variance, skew, and kurtosis values that should not be confused with the functions of the same name.

  4. ORIANG is defined as follows:

    
                    o     o       o
                 135    90      45 
                     .     .     .
                      .    .    .
                       .   .   .
                        .  .  .
                         . . .          o
                           . . . . . . 0