HaralickTextureExtraction¶
Computes Haralick textural features on the selected channel of the input image
Description¶
This application computes three sets of Haralick features [1][2].
- simple: a set of 8 local Haralick features: Energy (texture uniformity) , Entropy (measure of randomness of intensity image), Correlation (how correlated a pixel is to its neighborhood), Inverse Difference Moment (measures the texture homogeneity), Inertia (intensity contrast between a pixel and its neighborhood), Cluster Shade, Cluster Prominence, Haralick Correlation;
- advanced: a set of 10 advanced Haralick features: Mean, Variance (measures the texture heterogeneity), Dissimilarity, Sum Average, Sum Variance, Sum Entropy, Difference of Entropies, Difference of Variances, IC1, IC2;
- higher: a set of 11 higher Haralick features: Short Run Emphasis (measures the texture sharpness), Long Run Emphasis (measures the texture roughness), Grey-Level Nonuniformity, Run Length Nonuniformity, Run Percentage (measures the texture sharpness homogeneity), Low Grey-Level Run Emphasis, High Grey-Level Run Emphasis, Short Run Low Grey-Level Emphasis, Short Run High Grey-Level Emphasis, Long Run Low Grey-Level Emphasis and Long Run High Grey-Level Emphasis.
The documentation of textures (description are formulas) are available in the OTB CookBook (section Textures) and also in corresponding doxygen documentation of filters (see section Detailed Description in doxygen): * simple: otbScalarImageToTexturesFilter * advanced: otbScalarImageToAdvancedTexturesFilter * higher: otbScalarImageToHigherOrderTexturesFilter
Parameters¶
Input Image -in image
Mandatory
The input image to compute the features on.
Selected Channel -channel int
Default value: 1
The selected channel index
Computation step -step int
Default value: 1
Step (in pixels) to compute output texture values. The first computed pixel position is shifted by (step-1)/2 in both directions.
Texture feature parameters¶
This group of parameters allows one to define texture parameters.
X Radius -parameters.xrad int
Default value: 2
X Radius
Y Radius -parameters.yrad int
Default value: 2
Y Radius
X Offset -parameters.xoff int
Default value: 1
X Offset
Y Offset -parameters.yoff int
Default value: 1
Y Offset
Image Minimum -parameters.min float
Default value: 0
Image Minimum
Image Maximum -parameters.max float
Default value: 255
Image Maximum
Histogram number of bin -parameters.nbbin int
Default value: 8
Histogram number of bin
Texture Set Selection -texture [simple|advanced|higher]
Default value: simple
Choice of The Texture Set
- Simple Haralick Texture Features
This group of parameters defines the 8 local Haralick texture feature output image. The image channels are: Energy, Entropy, Correlation, Inverse Difference Moment, Inertia, Cluster Shade, Cluster Prominence and Haralick Correlation - Advanced Texture Features
This group of parameters defines the 10 advanced texture feature output image. The image channels are: Mean, Variance, Dissimilarity, Sum Average, Sum Variance, Sum Entropy, Difference of Entropies, Difference of Variances, IC1 and IC2 - Higher Order Texture Features
This group of parameters defines the 11 higher order texture feature output image. The image channels are: Short Run Emphasis, Long Run Emphasis, Grey-Level Nonuniformity, Run Length Nonuniformity, Run Percentage, Low Grey-Level Run Emphasis, High Grey-Level Run Emphasis, Short Run Low Grey-Level Emphasis, Short Run High Grey-Level Emphasis, Long Run Low Grey-Level Emphasis and Long Run High Grey-Level Emphasis
Output Image -out image [dtype]
Output image containing the selected texture features.
Available RAM (MB) -ram int
Default value: 256
Available memory for processing (in MB).
Examples¶
From the command-line:
otbcli_HaralickTextureExtraction -in qb_RoadExtract.tif -channel 2 -parameters.xrad 3 -parameters.yrad 3 -texture simple -out HaralickTextures.tif
From Python:
import otbApplication
app = otbApplication.Registry.CreateApplication("HaralickTextureExtraction")
app.SetParameterString("in", "qb_RoadExtract.tif")
app.SetParameterInt("channel", 2)
app.SetParameterInt("parameters.xrad", 3)
app.SetParameterInt("parameters.yrad", 3)
app.SetParameterString("texture","simple")
app.SetParameterString("out", "HaralickTextures.tif")
app.ExecuteAndWriteOutput()
Limitations¶
The computation of the features is based on a Gray Level Co-occurrence matrix (GLCM) from the quantized input image. Consequently the quantization parameters (min, max, nbbin) must be appropriate to the range of the pixel values.