vtexture(1)

PROGRAM
vtexture - Texture feature extraction using LAW metrics.

SYNTAX

vtexture

-i  input image filename

-o  output image filename

[-L5L5]
    choose texture kernel

[-L5E5]
    choose texture kernel

[-L5S5]
    choose texture kernel

[-L5W5]
    choose texture kernel

[-L5R5]
    choose texture kernel

[-E5L5]
    choose texture kernel

[-E5E5]
    choose texture kernel

[-E5S5]
    choose texture kernel

[-E5W5]
    choose texture kernel

[-E5R5]
    choose texture kernel

[-S5L5]
    choose texture kernel

[-S5E5]
    choose texture kernel

[-S5S5]
    choose texture kernel

[-S5W5]
    choose texture kernel

[-S5R5]
    choose texture kernel

[-W5L5]
    choose texture kernel

[-W5E5]
    choose texture kernel

[-W5S5]
    choose texture kernel

[-W5W5]
    choose texture kernel

[-W5R5]
    choose texture kernel

[-R5L5]
    choose texture kernel

[-R5E5]
    choose texture kernel

[-R5S5]
    choose texture kernel

[-R5W5]
    choose texture kernel

[-R5R5]
    choose texture kernel

[-V]
    Gives the version for vtexture

[-U]
    Gives the usage for vtexture

[-P]
    Prompts for command line options

[-A [file1]]
    Creates the answer file called vtexture.ans or file1

[-a [file1]]
    Uses vtexture.ans or file1 as the answer file

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

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 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.

Once the texture features are extracted, macrostatistical estimates may be obtained using a larger window size (eg. 15 x 15 or 31 x 31). Some useful statistics may be the variance or the absolute average. Such features of the texture filtered image were referred to as texture energy measures by K.I. LAWS.

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.

REQUIRED ARGUMENTS

-i  type: infile
    desc: input image filename

-o  type: outfile
    desc: output image filename

OPTIONAL ARGUMENTS

-L5L5
    type: boolean
    desc: choose texture kernel
    default: true

-L5E5
    type: boolean
    desc: choose texture kernel
    default: false

-L5S5
    type: boolean
    desc: choose texture kernel
    default: false

-L5W5
    type: boolean
    desc: choose texture kernel
    default: false

-L5R5
    type: boolean
    desc: choose texture kernel
    default: false

-E5L5
    type: boolean
    desc: choose texture kernel
    default: false

-E5E5
    type: boolean
    desc: choose texture kernel
    default: false

-E5S5
    type: boolean
    desc: choose texture kernel
    default: false

-E5W5
    type: boolean
    desc: choose texture kernel
    default: false

-E5R5
    type: boolean
    desc: choose texture kernel
    default: false

-S5L5
    type: boolean
    desc: choose texture kernel
    default: false

-S5E5
    type: boolean
    desc: choose texture kernel
    default: false

-S5S5
    type: boolean
    desc: choose texture kernel
    default: false

-S5W5
    type: boolean
    desc: choose texture kernel
    default: false

-S5R5
    type: boolean
    desc: choose texture kernel
    default: false

-W5L5
    type: boolean
    desc: choose texture kernel
    default: false

-W5E5
    type: boolean
    desc: choose texture kernel
    default: false

-W5S5
    type: boolean
    desc: choose texture kernel
    default: false

-W5W5
    type: boolean
    desc: choose texture kernel
    default: false

-W5R5
    type: boolean
    desc: choose texture kernel
    default: false

-R5L5
    type: boolean
    desc: choose texture kernel
    default: false

-R5E5
    type: boolean
    desc: choose texture kernel
    default: false

-R5S5
    type: boolean
    desc: choose texture kernel
    default: false

-R5W5
    type: boolean
    desc: choose texture kernel
    default: false

-R5R5
    type: boolean
    desc: choose texture kernel
    default: false

EXAMPLES

SEE ALSO
intro(1), verror(3), vgparms(3), vutils(3), lvtexture(3) vspatial(1)

RESTRICTIONS
vtexture will operate on images of data storage type BYTE or FLOAT. The output image will be either an INTEGER or FLOAT image, depending on the data type of the input image. If the input image is of data type BYTE or SHORT, then it is converted up to an INTEGER image. If the input image is of data type FLOAT, then the resulting output image will be of data type FLOAT.

COPYRIGHT
Copyright 1991, University of New Mexico. All rights reserved.