Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer > Class Template Reference

This class computes texture descriptions from an image. More...

#include <itkScalarImageTextureCalculator.h>

Inheritance diagram for itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >:

Inheritance graph
[legend]
Collaboration diagram for itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef ScalarImageTextureCalculator Self
typedef Object Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef THistogramFrequencyContainer FrequencyContainerType
typedef TImageType ImageType
typedef ImageType::Pointer ImagePointer
typedef ImageType::PixelType PixelType
typedef ImageType::OffsetType OffsetType
typedef VectorContainer< unsigned
char, OffsetType
OffsetVector
typedef OffsetVector::Pointer OffsetVectorPointer
typedef OffsetVector::ConstPointer OffsetVectorConstPointer
typedef MaskedScalarImageToGreyLevelCooccurrenceMatrixGenerator<
ImageType, FrequencyContainerType
GLCMGeneratorType
typedef GreyLevelCooccurrenceMatrixTextureCoefficientsCalculator<
typename GLCMGeneratorType::HistogramType
GLCMCalculatorType
typedef VectorContainer< unsigned
char, TextureFeatureName
FeatureNameVector
typedef FeatureNameVector::Pointer FeatureNameVectorPointer
typedef FeatureNameVector::ConstPointer FeatureNameVectorConstPointer
typedef VectorContainer< unsigned
char, double > 
FeatureValueVector
typedef FeatureValueVector::Pointer FeatureValueVectorPointer

Public Member Functions

virtual const char * GetNameOfClass () const
void Compute (void)
void SetInput (const ImageType *)
void SetNumberOfBinsPerAxis (unsigned int)
void SetImageMask (const ImageType *)
void SetInsidePixelValue (PixelType InsidePixelValue)
virtual bool GetFastCalculations ()
virtual void SetFastCalculations (bool _arg)
virtual void FastCalculationsOn ()
virtual void FastCalculationsOff ()
virtual FeatureValueVectorGetFeatureMeans ()
virtual FeatureValueVectorGetFeatureStandardDeviations ()
virtual void SetRequestedFeatures (const FeatureNameVector *_arg)
virtual const FeatureNameVectorGetRequestedFeatures ()
virtual void SetOffsets (const OffsetVector *_arg)
virtual const OffsetVectorGetOffsets ()
void SetPixelValueMinMax (PixelType min, PixelType max)

Static Public Member Functions

Pointer New ()

Protected Member Functions

 ScalarImageTextureCalculator ()
virtual ~ScalarImageTextureCalculator ()
void PrintSelf (std::ostream &os, Indent indent) const
void FastCompute ()
void FullCompute ()

Detailed Description

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
class itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >

This class computes texture descriptions from an image.

This class computes features that summarize the texture of a given image. The texture features are compute a la Haralick, and have proven to be useful in image classification for biological and medical imaging. This class computes the texture features of an image (optionally in a masked masked region), averaged across several spatial directions so that they are invariant to rotation.

By default, texure features are computed for each spatial direction and then averaged afterward, so it is possible to access the standard deviations of the texture features. These values give a clue as to texture anisotropy. However, doing this is much more work, because it involved computing one GLCM for each offset given. To compute a single GLCM for all of the offsets, call FastCalculationsOn(). If this is called, then the texture standard deviations will not be computed (and will be set to zero), but texture computation will be much faster.

This class is templated over the input image type.

Template Parameters: The image type, and the type of histogram frequency container. If you are using a large number of bins per axis, a sparse frequency container may be advisable. The default is to use a dense frequency container.

Inputs and parameters:

  1. An image
  2. A mask defining the region over which texture features will be calculated. (Optional)
  3. The pixel value that defines the "inside" of the mask. (Optional, defaults to 1 if a mask is set.)
  4. The set of features to be calculated. These features are defined in the GreyLevelCooccurrenceMatrixTextureCoefficientsCalculator class. (Optional, defaults to {Energy, Entropy, InverseDifferenceMoment, Inertia, ClusterShade, ClusterProminence}, as in Conners, Trivedi and Harlow.)
  5. The number of intensity bins. (Optional, defaults to 256.)
  6. The set of directions (offsets) to average across. (Optional, defaults to {(-1, 0), (-1, -1), (0, -1), (1, -1)} for 2D images and scales analogously for ND images.)
  7. The pixel intensity range over which the features will be calculated. (Optional, defaults to the full dynamic range of the pixel type.)

In general, the default parameter values should be sufficient.

Outputs: (1) The average value of each feature. (2) The standard deviation in the values of each feature.

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.

See also:
ScalarImageToGreyLevelCooccurrenceMatrixGenerator

MaskedScalarImageToGreyLevelCooccurrenceMatrixGenerator

GreyLevelCooccurrenceMatrixTextureCoefficientsCalculator

Author: Zachary Pincus

Definition at line 108 of file itkScalarImageTextureCalculator.h.


Member Typedef Documentation

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
typedef SmartPointer<const Self> itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::ConstPointer
 

Reimplemented from itk::Object.

Definition at line 115 of file itkScalarImageTextureCalculator.h.

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
typedef VectorContainer<unsigned char, TextureFeatureName> itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::FeatureNameVector
 

Definition at line 138 of file itkScalarImageTextureCalculator.h.

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
typedef FeatureNameVector::ConstPointer itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::FeatureNameVectorConstPointer
 

Definition at line 140 of file itkScalarImageTextureCalculator.h.

Referenced by itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::~ScalarImageTextureCalculator().

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
typedef FeatureNameVector::Pointer itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::FeatureNameVectorPointer
 

Definition at line 139 of file itkScalarImageTextureCalculator.h.

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
typedef VectorContainer<unsigned char, double> itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::FeatureValueVector
 

Definition at line 141 of file itkScalarImageTextureCalculator.h.

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
typedef FeatureValueVector::Pointer itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::FeatureValueVectorPointer
 

Definition at line 142 of file itkScalarImageTextureCalculator.h.

Referenced by itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::~ScalarImageTextureCalculator().

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
typedef THistogramFrequencyContainer itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::FrequencyContainerType
 

Definition at line 123 of file itkScalarImageTextureCalculator.h.

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
typedef GreyLevelCooccurrenceMatrixTextureCoefficientsCalculator< typename GLCMGeneratorType::HistogramType > itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::GLCMCalculatorType
 

Definition at line 136 of file itkScalarImageTextureCalculator.h.

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
typedef MaskedScalarImageToGreyLevelCooccurrenceMatrixGenerator< ImageType, FrequencyContainerType > itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::GLCMGeneratorType
 

Definition at line 134 of file itkScalarImageTextureCalculator.h.

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
typedef ImageType::Pointer itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::ImagePointer
 

Definition at line 125 of file itkScalarImageTextureCalculator.h.

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
typedef TImageType itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::ImageType
 

Definition at line 124 of file itkScalarImageTextureCalculator.h.

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
typedef ImageType::OffsetType itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::OffsetType
 

Definition at line 128 of file itkScalarImageTextureCalculator.h.

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
typedef VectorContainer<unsigned char, OffsetType> itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::OffsetVector
 

Definition at line 129 of file itkScalarImageTextureCalculator.h.

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
typedef OffsetVector::ConstPointer itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::OffsetVectorConstPointer
 

Definition at line 131 of file itkScalarImageTextureCalculator.h.

Referenced by itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::~ScalarImageTextureCalculator().

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
typedef OffsetVector::Pointer itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::OffsetVectorPointer
 

Definition at line 130 of file itkScalarImageTextureCalculator.h.

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
typedef ImageType::PixelType itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::PixelType
 

Definition at line 127 of file itkScalarImageTextureCalculator.h.

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
typedef SmartPointer<Self> itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::Pointer
 

Reimplemented from itk::Object.

Definition at line 114 of file itkScalarImageTextureCalculator.h.

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
typedef ScalarImageTextureCalculator itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::Self
 

Standard typedefs

Reimplemented from itk::Object.

Definition at line 112 of file itkScalarImageTextureCalculator.h.

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
typedef Object itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::Superclass
 

Reimplemented from itk::Object.

Definition at line 113 of file itkScalarImageTextureCalculator.h.


Constructor & Destructor Documentation

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::ScalarImageTextureCalculator  )  [protected]
 

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
virtual itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::~ScalarImageTextureCalculator  )  [inline, protected, virtual]
 

Definition at line 191 of file itkScalarImageTextureCalculator.h.

References itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::FeatureNameVectorConstPointer, itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::FeatureValueVectorPointer, and itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::OffsetVectorConstPointer.


Member Function Documentation

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
void itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::Compute void   ) 
 

Triggers the computation of the features

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
virtual void itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::FastCalculationsOff  )  [virtual]
 

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
virtual void itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::FastCalculationsOn  )  [virtual]
 

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
void itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::FastCompute  )  [protected]
 

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
void itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::FullCompute  )  [protected]
 

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
virtual bool itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::GetFastCalculations  )  [virtual]
 

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
virtual FeatureValueVector* itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::GetFeatureMeans  )  [virtual]
 

Return the feature means and deviations.

Warning:
This output is only valid after the Compute() method has been invoked
See also:
Compute

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
virtual FeatureValueVector* itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::GetFeatureStandardDeviations  )  [virtual]
 

Return the feature means and deviations.

Warning:
This output is only valid after the Compute() method has been invoked
See also:
Compute

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
virtual const char* itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::GetNameOfClass  )  const [virtual]
 

Run-time type information (and related methods).

Reimplemented from itk::Object.

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
virtual const OffsetVector* itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::GetOffsets  )  [virtual]
 

Set the offsets over which the co-occurrence pairs will be computed. Optional; for default value see above.

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
virtual const FeatureNameVector* itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::GetRequestedFeatures  )  [virtual]
 

Set the desired feature set. Optional, for default value see above.

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
Pointer itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::New  )  [static]
 

standard New() method support

Reimplemented from itk::Object.

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
void itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::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::Object.

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
virtual void itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::SetFastCalculations bool  _arg  )  [virtual]
 

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
void itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::SetImageMask const ImageType  ) 
 

Connects the mask image for which the histogram is going to be computed. Optional; for default value see above.

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
void itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::SetInput const ImageType  ) 
 

Connects the input image for which the features are going to be computed

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
void itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::SetInsidePixelValue PixelType  InsidePixelValue  ) 
 

Set the pixel value of the mask that should be considered "inside" the object. Optional; for default value see above.

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
void itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::SetNumberOfBinsPerAxis unsigned  int  ) 
 

Set number of histogram bins along each axis. Optional; for default value see above.

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
virtual void itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::SetOffsets const OffsetVector _arg  )  [virtual]
 

Set the offsets over which the co-occurrence pairs will be computed. Optional; for default value see above.

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
void itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::SetPixelValueMinMax PixelType  min,
PixelType  max
 

Set the min and max (inclusive) pixel value that will be used for feature calculations. Optional; for default value see above.

template<class TImageType, class THistogramFrequencyContainer = DenseFrequencyContainer>
virtual void itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::SetRequestedFeatures const FeatureNameVector _arg  )  [virtual]
 

Set the desired feature set. Optional, for default value see above.


The documentation for this class was generated from the following file:
Generated at Thu May 25 03:15:12 2006 for ITK by doxygen 1.3.5 written by Dimitri van Heesch, © 1997-2000