lvtexture(3)

LIBRARY ROUTINE
lvtexture - Texture feature extraction using LAW metrics.

LIBRARY CALL
#include "vinclude.h"
int
lvtexture(img1, 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)
struct xvimage *img1;
int
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;

INPUT

image
    the input xvimage image structure.

OUTPUT

image
    the resulting output image structure.

MODIFICATIONS

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 kernals 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 kernal is derived from multiplying a particular combination of two of the above vectors. This results in 25 possible 5 x 5 kernals. The 25 possible kernals are defined in the lvtexture.h include file as 1-D vectors. Createimage() is called to transform the selected kernal(s) into VIFF images. Once the kernal is transformed to a VIFF image, lvconvolve() is called to convolve the input image with the kernal. The result is stored as a texture band in the output image structure.

The arguments to lvtexture() are:

img1
    the input image structure, and the resulting output image structure. The input image data is replaced by the resulting texture data for each band. The image header is updated to reflect the number of data bands in the resulting image.

L5L5
    an integer specifiying whether a specific kernal is to be used. A value of 1 indicates that the kernal is to be used, and a value of 0 indicates that the kernal is not to be used. There are 25 possible command line arguments of this type.

SEE ALSO
vtexture(1), intro(3), vipl(3), verror(3), vutils(3) lvconvert(3), lvconvolve(3).

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.

AUTHOR
Charlie Gage

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