If fibers have a low tortuosity and a limited width variation, they can mainly be described by their length (geodesic) l and orientation .

In order to characterize such texture, we proposed a new matrix named Orientation Length Zone Matrix (OLZM) and denoted

*OLf (*

*n; l)*, which yields the number of ”fibers” of orientation

*n*and length

*l*. The number of rows of OLZM depends on the degree of discretization of the orientation space and the number of columns equal to the longest fiber of the texture.

To deal with the problem of rotation invariance, we offer the following alternative solutions. If the texture f is a segmented object, the orientation of each zone is given with respect to the coordinate system associated to the main axis of the object (computed by PCA). If the texture f is not bounded in the image, the main axis can be replaced by the average of orientations of all the zones which compose the texture.

Obviously, this matrix can be split into two matrices in order to treat specific problems: geodesic length and orientation.

An example of utilization:

BufferedImage image = ... ; // use your reader

MGlolzm mglolzm = new MGlolzm() ;

mglolzm.Parameters(nbLength, nbOrientation, FixedSize, UseAverageOrientation, UseGapToAO, reducer, null, ForbiddenValue, EightConnex, distance) ;

mglolzm.Compute(vignette, nbCPU) ;

double[] features = mglolzm.Features() ;

with:

- nbLength is the number of length to take into account.

- nbOrientation is the number of orientation to take into account.

- FixedSize is a variable to know if the matrix must have a fixed size. Empirically, I have never obtained better results with a fixed size, so my advice is to always use this parameter as « false ».

- UseAverageOrientation Is the orientation computed according to the average orientation? If true, the matrix is rotation invariant.

- UseGapToAO Is the orientation set in the matrix equal to the gap with the average orientation?

- reducer reduces the number of gray level. Use this one.

- null. Normally, it could be a leveling in order to transform the texture in flat zones before matrix filling, but it can be null. This reduction could improve results. Contact me if you want code.

- ForbiddenValue The value to not take into account during computations. If it is equal to a negative value, the entire texture is process. Caution, that can depend on the class which labels connected component.

- EightConnex Is the labeling realized with 8-connexity.

- distance is the distance to use for the computation of the geodesic diameter.

Here a

__complete example__.

Do

__not hesitate to contact me__for explanations or everything else.

__Related publication:__

- 1 - Advanced Statistical Matrices for Texture Characterization: Application to DNA Chromatin and Microtubule Netwok Classification, IEEE ICIP 2012.