ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkHistogramToTextureFeaturesFilter.h>
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 ScalarImageToGreyLevelCooccurrenceMatrixGenerator or related class).
The features calculated are as follows (where is the element in cell i, j of a a normalized GLCM):
"Energy"
"Entropy" , or 0 if
"Correlation"
"Difference Moment"
"Inertia" (sometimes called "contrast.")
"Cluster Shade"
"Cluster Prominence"
"Haralick's Correlation" where and are the mean and standard deviation of the row (or column, due to symmetry) sums.
Above, (weighted pixel average) (due to matrix summetry), and
(weighted pixel variance) (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.
Web references:
http://www.cssip.uq.edu.au/meastex/www/algs/algs/algs.html http://www.ucalgary.ca/~mhallbey/texture/texture_tutorial.html
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 Comaprison 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 itkHistogramToTextureFeaturesFilter.h.
typedef HistogramType::AbsoluteFrequencyType itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::AbsoluteFrequencyType |
Definition at line 124 of file itkHistogramToTextureFeaturesFilter.h.
typedef SmartPointer< const Self > itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::ConstPointer |
Reimplemented from itk::ProcessObject.
Definition at line 110 of file itkHistogramToTextureFeaturesFilter.h.
typedef DataObject::Pointer itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::DataObjectPointer |
Smart Pointer type to a DataObject.
Reimplemented from itk::ProcessObject.
Definition at line 143 of file itkHistogramToTextureFeaturesFilter.h.
typedef ProcessObject::DataObjectPointerArraySizeType itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::DataObjectPointerArraySizeType [protected] |
Make a DataObject to be used for output output.
Reimplemented from itk::ProcessObject.
Definition at line 210 of file itkHistogramToTextureFeaturesFilter.h.
typedef HistogramType::ConstPointer itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::HistogramConstPointer |
Definition at line 120 of file itkHistogramToTextureFeaturesFilter.h.
typedef HistogramType::Pointer itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::HistogramPointer |
Definition at line 119 of file itkHistogramToTextureFeaturesFilter.h.
typedef THistogram itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::HistogramType |
Definition at line 116 of file itkHistogramToTextureFeaturesFilter.h.
typedef HistogramType::IndexType itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::IndexType |
Definition at line 123 of file itkHistogramToTextureFeaturesFilter.h.
typedef SimpleDataObjectDecorator< MeasurementType > itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::MeasurementObjectType |
Type of DataObjects used for scalar outputs
Definition at line 146 of file itkHistogramToTextureFeaturesFilter.h.
typedef HistogramType::MeasurementType itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::MeasurementType |
Definition at line 121 of file itkHistogramToTextureFeaturesFilter.h.
typedef HistogramType::MeasurementVectorType itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::MeasurementVectorType |
Definition at line 122 of file itkHistogramToTextureFeaturesFilter.h.
typedef SmartPointer< Self > itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::Pointer |
Reimplemented from itk::ProcessObject.
Definition at line 109 of file itkHistogramToTextureFeaturesFilter.h.
typedef std::vector< RelativeFrequencyType > itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::RelativeFrequencyContainerType |
Container to hold relative frequencies of the histogram
Definition at line 134 of file itkHistogramToTextureFeaturesFilter.h.
typedef HistogramType::RelativeFrequencyType itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::RelativeFrequencyType |
Definition at line 125 of file itkHistogramToTextureFeaturesFilter.h.
typedef HistogramToTextureFeaturesFilter itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::Self |
Standard typedefs
Reimplemented from itk::ProcessObject.
Definition at line 107 of file itkHistogramToTextureFeaturesFilter.h.
typedef ProcessObject itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::Superclass |
Reimplemented from itk::ProcessObject.
Definition at line 108 of file itkHistogramToTextureFeaturesFilter.h.
typedef HistogramType::TotalAbsoluteFrequencyType itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::TotalAbsoluteFrequencyType |
Definition at line 128 of file itkHistogramToTextureFeaturesFilter.h.
typedef HistogramType::TotalRelativeFrequencyType itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::TotalRelativeFrequencyType |
Definition at line 131 of file itkHistogramToTextureFeaturesFilter.h.
enum itk::Statistics::HistogramToTextureFeaturesFilter::TextureFeatureName |
Texture feature types
Energy | |
Entropy | |
Correlation | |
InverseDifferenceMoment | |
Inertia | |
ClusterShade | |
ClusterProminence | |
HaralickCorrelation | |
InvalidFeatureName |
Definition at line 189 of file itkHistogramToTextureFeaturesFilter.h.
itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::HistogramToTextureFeaturesFilter | ( | ) | [protected] |
itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::~HistogramToTextureFeaturesFilter | ( | ) | [inline, protected] |
Definition at line 206 of file itkHistogramToTextureFeaturesFilter.h.
itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::HistogramToTextureFeaturesFilter | ( | const Self & | ) | [private] |
void itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::ComputeMeansAndVariances | ( | double & | pixelMean, |
double & | marginalMean, | ||
double & | marginalDevSquared, | ||
double & | pixelVariance | ||
) | [private] |
virtual::itk::LightObject::Pointer itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::CreateAnother | ( | void | ) | const [virtual] |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::Object.
void itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::GenerateData | ( | void | ) | [protected, virtual] |
This method causes the filter to generate its output.
Reimplemented from itk::ProcessObject.
MeasurementType itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::GetClusterProminence | ( | ) | const |
Return cluster prominence texture value.
const MeasurementObjectType* itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::GetClusterProminenceOutput | ( | ) | const |
MeasurementType itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::GetClusterShade | ( | ) | const |
Return cluster shade texture value.
const MeasurementObjectType* itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::GetClusterShadeOutput | ( | ) | const |
MeasurementType itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::GetCorrelation | ( | ) | const |
return correlation texture value.
const MeasurementObjectType* itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::GetCorrelationOutput | ( | ) | const |
MeasurementType itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::GetEnergy | ( | ) | const |
Return energy texture value.
const MeasurementObjectType* itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::GetEnergyOutput | ( | ) | const |
MeasurementType itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::GetEntropy | ( | ) | const |
Return entropy texture value.
const MeasurementObjectType* itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::GetEntropyOutput | ( | ) | const |
MeasurementType itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::GetFeature | ( | TextureFeatureName | name | ) |
convenience method to access the texture values
MeasurementType itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::GetHaralickCorrelation | ( | ) | const |
Return Haralick correlation texture value.
const MeasurementObjectType* itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::GetHaralickCorrelationOutput | ( | ) | const |
MeasurementType itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::GetInertia | ( | ) | const |
Return inertia texture value.
const MeasurementObjectType* itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::GetInertiaOutput | ( | ) | const |
const HistogramType* itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::GetInput | ( | ) | const |
MeasurementType itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::GetInverseDifferenceMoment | ( | ) | const |
Return inverse difference moment texture value.
const MeasurementObjectType* itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::GetInverseDifferenceMomentOutput | ( | ) | const |
virtual const char* itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::ProcessObject.
virtual DataObjectPointer itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::MakeOutput | ( | DataObjectPointerArraySizeType | idx | ) | [protected, virtual] |
Make a DataObject of the correct type to used as the specified output. Every ProcessObject subclass must be able to create a DataObject that can be used as a specified output. This method is automatically called when DataObject::DisconnectPipeline() is called. DataObject::DisconnectPipeline, disconnects a data object from being an output of its current source. When the data object is disconnected, the ProcessObject needs to construct a replacement output data object so that the ProcessObject is in a valid state. So DataObject::DisconnectPipeline eventually calls ProcessObject::MakeOutput. Note that MakeOutput always returns a itkSmartPointer to a DataObject. ImageSource and MeshSource override this method to create the correct type of image and mesh respectively. If a filter has multiple outputs of different types, then that filter must provide an implementation of MakeOutput().
Reimplemented from itk::ProcessObject.
static Pointer itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::New | ( | ) | [static] |
standard New() method support
Reimplemented from itk::Object.
void itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::operator= | ( | const Self & | ) | [private] |
Time when GenerateOutputInformation was last called.
Reimplemented from itk::ProcessObject.
void itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::PrintSelf | ( | std::ostream & | os, |
Indent | indent | ||
) | const [protected, virtual] |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::ProcessObject.
void itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::SetInput | ( | const HistogramType * | histogram | ) |
RelativeFrequencyContainerType itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::m_RelativeFrequencyContainer [private] |
Definition at line 223 of file itkHistogramToTextureFeaturesFilter.h.