| 
    Medical Imaging Interaction Toolkit
    2025.08.00
    
   Medical Imaging Interaction Toolkit 
   | 
 
This class computes texture feature coefficients from a grey level co-occurrence matrix. More...
#include <itkEnhancedHistogramToTextureFeaturesFilter.h>


Static Public Member Functions | |
| static Pointer | New () | 
Protected Types | |
| typedef ProcessObject::DataObjectPointerArraySizeType | DataObjectPointerArraySizeType | 
Protected Member Functions | |
| EnhancedHistogramToTextureFeaturesFilter () | |
| ~EnhancedHistogramToTextureFeaturesFilter () override | |
| void | PrintSelf (std::ostream &os, Indent indent) const ITK_OVERRIDE | 
| DataObjectPointer | MakeOutput (DataObjectPointerArraySizeType) ITK_OVERRIDE | 
| void | GenerateData () ITK_OVERRIDE | 
This class computes texture feature coefficients from a grey level co-occurrence matrix.
This class computes features that summarize image texture, given a grey level co-occurrence matrix (generated by a ScalarImageToCooccurrenceMatrixFilter or related class).
The features calculated are as follows (where \( g(i, j) \) is the element in cell i, j of a a normalized GLCM):
"Energy" \( = f_1 = \sum_{i,j}g(i, j)^2 \)
"Entropy" \( = f_2 = -\sum_{i,j}g(i, j) \log_2 g(i, j)\), or 0 if \(g(i, j) = 0\)
"Correlation" \( = f_3 = \sum_{i,j}\frac{(i - \mu)(j - \mu)g(i, j)}{\sigma^2} \)
"Difference Moment" \(= f_4 = \sum_{i,j}\frac{1}{1 + (i - j)^2}g(i, j) \)
"Inertia" \( = f_5 = \sum_{i,j}(i - j)^2g(i, j) \) (sometimes called "contrast.")
"Cluster Shade" \( = f_6 = \sum_{i,j}((i - \mu) + (j - \mu))^3 g(i, j) \)
"Cluster Prominence" \( = f_7 = \sum_{i,j}((i - \mu) + (j - \mu))^4 g(i, j) \)
"Haralick's Correlation" \( = f_8 = \frac{\sum_{i,j}(i, j) g(i, j) -\mu_t^2}{\sigma_t^2} \) where \(\mu_t\) and \(\sigma_t\) are the mean and standard deviation of the row (or column, due to symmetry) sums.
Above, \( \mu = \) (weighted pixel average) \( = \sum_{i,j}i \cdot g(i, j) = \sum_{i,j}j \cdot g(i, j) \) (due to matrix summetry), and
\( \sigma = \) (weighted pixel variance) \( = \sum_{i,j}(i - \mu)^2 \cdot g(i, j) = \sum_{i,j}(j - \mu)^2 \cdot g(i, j) \) (due to matrix summetry)
A good texture feature set to use is the Conners, Trivedi and Harlow set: features 1, 2, 4, 5, 6, and 7. There is some correlation between the various features, so using all of them at the same time is not necessarialy a good idea.
NOTA BENE: The input histogram will be forcibly normalized! This algorithm takes three passes through the input histogram if the histogram was already normalized, and four if not.
Print references:
Haralick, R.M., K. Shanmugam and I. Dinstein. 1973. Textural Features for Image Classification. IEEE Transactions on Systems, Man and Cybernetics. SMC-3(6):610-620.
Haralick, R.M. 1979. Statistical and Structural Approaches to Texture. Proceedings of the IEEE, 67:786-804.
R.W. Conners and C.A. Harlow. A Theoretical Comparison of Texture Algorithms. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2:204-222, 1980.
R.W. Conners, M.M. Trivedi, and C.A. Harlow. Segmentation of a High-Resolution Urban Scene using Texture Operators. Computer Vision, Graphics and Image Processing, 25:273-310, 1984.
Author: Zachary Pincus
Definition at line 103 of file itkEnhancedHistogramToTextureFeaturesFilter.h.
| typedef HistogramType::AbsoluteFrequencyType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::AbsoluteFrequencyType | 
Definition at line 124 of file itkEnhancedHistogramToTextureFeaturesFilter.h.
| typedef SmartPointer< const Self > itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::ConstPointer | 
Definition at line 110 of file itkEnhancedHistogramToTextureFeaturesFilter.h.
| typedef DataObject::Pointer itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::DataObjectPointer | 
Smart Pointer type to a DataObject.
Definition at line 143 of file itkEnhancedHistogramToTextureFeaturesFilter.h.
      
  | 
  protected | 
Make a DataObject to be used for output output.
Definition at line 251 of file itkEnhancedHistogramToTextureFeaturesFilter.h.
| typedef HistogramType::ConstPointer itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::HistogramConstPointer | 
Definition at line 120 of file itkEnhancedHistogramToTextureFeaturesFilter.h.
| typedef HistogramType::Pointer itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::HistogramPointer | 
Definition at line 119 of file itkEnhancedHistogramToTextureFeaturesFilter.h.
| typedef THistogram itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::HistogramType | 
Definition at line 116 of file itkEnhancedHistogramToTextureFeaturesFilter.h.
| typedef HistogramType::IndexType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::IndexType | 
Definition at line 123 of file itkEnhancedHistogramToTextureFeaturesFilter.h.
| typedef SimpleDataObjectDecorator< MeasurementType > itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::MeasurementObjectType | 
Type of DataObjects used for scalar outputs
Definition at line 146 of file itkEnhancedHistogramToTextureFeaturesFilter.h.
| typedef HistogramType::MeasurementType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::MeasurementType | 
Definition at line 121 of file itkEnhancedHistogramToTextureFeaturesFilter.h.
| typedef HistogramType::MeasurementVectorType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::MeasurementVectorType | 
Definition at line 122 of file itkEnhancedHistogramToTextureFeaturesFilter.h.
| typedef SmartPointer< Self > itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::Pointer | 
Definition at line 109 of file itkEnhancedHistogramToTextureFeaturesFilter.h.
| typedef std::vector< RelativeFrequencyType > itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::RelativeFrequencyContainerType | 
Container to hold relative frequencies of the histogram
Definition at line 134 of file itkEnhancedHistogramToTextureFeaturesFilter.h.
| typedef HistogramType::RelativeFrequencyType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::RelativeFrequencyType | 
Definition at line 125 of file itkEnhancedHistogramToTextureFeaturesFilter.h.
| typedef EnhancedHistogramToTextureFeaturesFilter itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::Self | 
Standard typedefs
Definition at line 107 of file itkEnhancedHistogramToTextureFeaturesFilter.h.
| typedef ProcessObject itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::Superclass | 
Definition at line 108 of file itkEnhancedHistogramToTextureFeaturesFilter.h.
| typedef HistogramType::TotalAbsoluteFrequencyType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::TotalAbsoluteFrequencyType | 
Definition at line 128 of file itkEnhancedHistogramToTextureFeaturesFilter.h.
| typedef HistogramType::TotalRelativeFrequencyType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::TotalRelativeFrequencyType | 
Definition at line 131 of file itkEnhancedHistogramToTextureFeaturesFilter.h.
| enum itk::Statistics::EnhancedHistogramToTextureFeaturesFilter::TextureFeatureName | 
Texture feature types
Definition at line 210 of file itkEnhancedHistogramToTextureFeaturesFilter.h.
      
  | 
  protected | 
      
  | 
  inlineoverrideprotected | 
Definition at line 247 of file itkEnhancedHistogramToTextureFeaturesFilter.h.
      
  | 
  protected | 
| MeasurementType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetAutocorrelation | ( | ) | const | 
| const MeasurementObjectType* itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetAutocorrelationOutput | ( | ) | const | 
      
  | 
  virtual | 
Run-time type information (and related methods).
| MeasurementType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetClusterProminence | ( | ) | const | 
Return cluster prominence texture value.
| const MeasurementObjectType* itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetClusterProminenceOutput | ( | ) | const | 
| MeasurementType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetClusterShade | ( | ) | const | 
Return cluster shade texture value.
| const MeasurementObjectType* itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetClusterShadeOutput | ( | ) | const | 
| MeasurementType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetClusterTendency | ( | ) | const | 
| const MeasurementObjectType* itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetClusterTendencyOutput | ( | ) | const | 
| MeasurementType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetContrast | ( | ) | const | 
| const MeasurementObjectType* itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetContrastOutput | ( | ) | const | 
| MeasurementType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetCorrelation | ( | ) | const | 
return correlation texture value.
| const MeasurementObjectType* itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetCorrelationOutput | ( | ) | const | 
| MeasurementType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetDifferenceAverage | ( | ) | const | 
| const MeasurementObjectType* itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetDifferenceAverageOutput | ( | ) | const | 
| MeasurementType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetDifferenceEntropy | ( | ) | const | 
| const MeasurementObjectType* itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetDifferenceEntropyOutput | ( | ) | const | 
| MeasurementType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetDifferenceVariance | ( | ) | const | 
| const MeasurementObjectType* itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetDifferenceVarianceOutput | ( | ) | const | 
| MeasurementType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetDissimilarity | ( | ) | const | 
| const MeasurementObjectType* itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetDissimilarityOutput | ( | ) | const | 
| MeasurementType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetEnergy | ( | ) | const | 
Return energy texture value.
| const MeasurementObjectType* itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetEnergyOutput | ( | ) | const | 
| MeasurementType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetEntropy | ( | ) | const | 
Return entropy texture value.
| const MeasurementObjectType* itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetEntropyOutput | ( | ) | const | 
| MeasurementType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetFeature | ( | TextureFeatureName | name | ) | 
convenience method to access the texture values
| MeasurementType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetFirstMeasureOfInformationCorrelation | ( | ) | const | 
| const MeasurementObjectType* itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetFirstMeasureOfInformationCorrelationOutput | ( | ) | const | 
| MeasurementType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetHaralickCorrelation | ( | ) | const | 
Return Haralick correlation texture value.
| const MeasurementObjectType* itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetHaralickCorrelationOutput | ( | ) | const | 
| MeasurementType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetHomogeneity1 | ( | ) | const | 
| const MeasurementObjectType* itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetHomogeneity1Output | ( | ) | const | 
| MeasurementType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetInertia | ( | ) | const | 
Return inertia texture value.
| const MeasurementObjectType* itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetInertiaOutput | ( | ) | const | 
| const HistogramType* itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetInput | ( | ) | const | 
| MeasurementType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetInverseDifference | ( | ) | const | 
| MeasurementType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetInverseDifferenceMoment | ( | ) | const | 
Return inverse difference moment texture value.
| MeasurementType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetInverseDifferenceMomentNormalized | ( | ) | const | 
| const MeasurementObjectType* itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetInverseDifferenceMomentNormalizedOutput | ( | ) | const | 
| const MeasurementObjectType* itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetInverseDifferenceMomentOutput | ( | ) | const | 
| MeasurementType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetInverseDifferenceNormalized | ( | ) | const | 
| const MeasurementObjectType* itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetInverseDifferenceNormalizedOutput | ( | ) | const | 
| const MeasurementObjectType* itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetInverseDifferenceOutput | ( | ) | const | 
| MeasurementType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetInverseVariance | ( | ) | const | 
| const MeasurementObjectType* itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetInverseVarianceOutput | ( | ) | const | 
| MeasurementType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetJointAverage | ( | ) | const | 
| const MeasurementObjectType* itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetJointAverageOutput | ( | ) | const | 
| MeasurementType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetMaximumProbability | ( | ) | const | 
| const MeasurementObjectType* itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetMaximumProbabilityOutput | ( | ) | const | 
| MeasurementType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetSecondMeasureOfInformationCorrelation | ( | ) | const | 
| const MeasurementObjectType* itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetSecondMeasureOfInformationCorrelationOutput | ( | ) | const | 
| MeasurementType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetSumAverage | ( | ) | const | 
| const MeasurementObjectType* itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetSumAverageOutput | ( | ) | const | 
| MeasurementType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetSumEntropy | ( | ) | const | 
| const MeasurementObjectType* itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetSumEntropyOutput | ( | ) | const | 
| MeasurementType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetSumVariance | ( | ) | const | 
| const MeasurementObjectType* itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetSumVarianceOutput | ( | ) | const | 
| MeasurementType itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetVariance | ( | ) | const | 
| const MeasurementObjectType* itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::GetVarianceOutput | ( | ) | const | 
      
  | 
  protected | 
      
  | 
  static | 
standard New() method support
      
  | 
  protected | 
| void itk::Statistics::EnhancedHistogramToTextureFeaturesFilter< THistogram >::SetInput | ( | const HistogramType * | histogram | ) |