Medical Imaging Interaction Toolkit
2024.06.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 forcably 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 | ) |