IMAGE commands


PROGRAM NAME

itexture - Texture Feature Extraction Using LAW Metrics

DESCRIPTION

itexture will extract texture features from an image by convolving the original image with a set of special spatial filter kernels. The spatial filters are comprised of 5 x 5 kernels derived from center-weighted vectors defined by the LAWS texture measure.

Each texture measure calculated will be stored as width-height planes along the elements direction in the Output Object (o). The order in which the (selected) texture measures will be stored in the output object are:

        L5L5
        L5E5
        L5S5
        L5W5
        L5R5
        E5L5
        E5E5
        E5S5
        E5W5
        E5R5
        S5L5
        S5E5
        S5S5
        S5W5
        S5R5
        W5L5
        W5E5
        W5S5
        W5W5
        W5R5
        R5L5
        R5E5
        R5S5
        R5W5
        R5R5

If the input object elements dimension is greater than 1 then the results obtained by applying the first selected kernel to each band are stored by planes in the output object, followed by the results obtained by applying the next selected texture kernel to all bands, and so on. Thus a 3-band input image, operated on by the L5L5 and R5R5 kernels, will produce a 6-band output image with the results as follows:

      Band 0 - L5L5 on Band 0 of input image
      Band 1 - L5L5 on Band 1 of input image
      Band 2 - L5L5 on Band 2 of input image
      Band 3 - R5R5 on Band 0 of input image
      Band 4 - R5R5 on Band 1 of input image
      Band 5 - R5R5 on Band 2 of input image

The five center-weighted vectors are:

         L5 = [ 1  4  6  4  1]
         E5 = [-1 -2  0  2  1]
         S5 = [-1  0  2  0 -1]
         W5 = [-1  2  0 -2  1]
         R5 = [ 1 -4  6 -4  1]

Each 5 x 5 kernel is derived from multiplying a particular combination of two of the above vectors. This results in 25 possible 5 x 5 kernels. Note that 10 of the kernels are formed by taking the transpose. For example, L5E5 is a 5 x 5 kernel formed by multiplying the vectors, L5 with E5. It's transpose is E5L5, and is similarly formed by multiplying the vectors, E5 with L5. One of these kernels is more sensitive to horizontal changes in texture, while the other is sensitive to vertical changes in texture.

The kernels are applied with a centered hotspot.

The sum of the elements of each kernel is zero, which results in the output image having a mean of zero. Therefore the relevant texture information is contained in the image variance of the microtexture features. The LAW kernels were designed to be sensitive to structures such as edges, ripples, and spots.

Choosing which kernel to use will depend on the nature of the texture of interest, and will require trial and error to decide which produces the feature with the most discriminating power. In general, if a texture kernel of say, L5S5 is used, one may also want to use its transpose, S5L5 for certain types of quasiperiodic variations commonly found in textured images.

The colorspace model for the output object is always set to KNONE.

REQUIRED ARGUMENTS

-i
type: infile
desc: input object
-o
type: outfile
desc: output object

OPTIONAL ARGUMENTS

Group; specify AT LEAST ONE of:

-L5L5
type: flag
desc: If set, apply L5L5 texture kernel
AND/OR
-E5L5
type: flag
desc: If set, apply E5L5 texture kernel
AND/OR
-S5L5
type: flag
desc: If set, apply S5L5 texture kernel
AND/OR
-W5L5
type: flag
desc: If set, apply W5L5 texture kernel
AND/OR
-R5L5
type: flag
desc: If set, apply R5L5 texture kernel
AND/OR
-L5E5
type: flag
desc: If set, apply L5E5 texture kernel
AND/OR
-E5E5
type: flag
desc: If set, apply E5E5 texture kernel
AND/OR
-S5E5
type: flag
desc: If set, apply S5E5 texture kernel
AND/OR
-W5E5
type: flag
desc: If set, apply W5E5 texture kernel
AND/OR
-R5E5
type: flag
desc: If set, apply R5E5 texture kernel
AND/OR
-L5S5
type: flag
desc: If set, apply L5S5 texture kernel
AND/OR
-E5S5
type: flag
desc: If set, apply E5S5 texture kernel
AND/OR
-S5S5
type: flag
desc: If set, apply S5S5 texture kernel
AND/OR
-W5S5
type: flag
desc: If set, apply W5S5 texture kernel
AND/OR
-R5S5
type: flag
desc: If set, apply R5S5 texture kernel
AND/OR
-L5W5
type: flag
desc: If set, apply L5W5 texture kernel
AND/OR
-E5W5
type: flag
desc: If set, apply E5W5 texture kernel
AND/OR
-S5W5
type: flag
desc: If set, apply S5W5 texture kernel
AND/OR
-W5W5
type: flag
desc: If set, apply W5W5 texture kernel
AND/OR
-R5W5
type: flag
desc: If set, apply R5W5 texture kernel
AND/OR
-L5R5
type: flag
desc: If set, apply L5R5 texture kernel
AND/OR
-E5R5
type: flag
desc: If set, apply E5R5 texture kernel
AND/OR
-S5R5
type: flag
desc: If set, apply S5R5 texture kernel
AND/OR
-W5R5
type: flag
desc: If set, apply W5R5 texture kernel
AND/OR
-R5R5
type: flag
desc: If set, apply R5R5 texture kernel

EXAMPLES

SEE ALSO

RESTRICTIONS

itexture will operate on input objects of any data storage type.

The output object will be of type KLONG, KDOUBLE, or KDCOMPLEX, determined by the data type of the input object. If the input object is of data type KBYTE, KUBYTE, KSHORT, or KUSHORT, then it is converted up to an KLONG image. If the input is of type KFLOAT or KDOUBLE, then the result will be KDOUBLE. Any complex input type is converted to type KDCOMPLEX.

REFERENCES

K. I. Laws, "Rapid texture identification" Proc. SPIE, vol. 238, pp.376-380, 1980.

J. Y. Hsiao, and A. A. Sawchuk, "Supervised textured image segmentation using feature smoothing and probabilistic relaxation techniques" IEEE Trans. Pattern Anal. Machine Intell., vol. 11, No. 12, pp 1279-1292, 1989.

COPYRIGHT

Copyright (C) 1993 - 1997, Khoral Research, Inc. ("KRI") All rights reserved.