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

itk::LabelStatisticsImageFilter< TInputImage, TLabelImage > Class Template Reference

Given an intensity image and a label map, compute min, max, variance and mean of the pixels associated with each label or segment. More...

#include <itkLabelStatisticsImageFilter.h>

Inheritance diagram for itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >:

Inheritance graph
[legend]
Collaboration diagram for itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef LabelStatisticsImageFilter Self
typedef ImageToImageFilter<
TInputImage, TInputImage > 
Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef TInputImage::Pointer InputImagePointer
typedef TInputImage::RegionType RegionType
typedef TInputImage::SizeType SizeType
typedef TInputImage::IndexType IndexType
typedef TInputImage::PixelType PixelType
typedef TLabelImage LabelImageType
typedef TLabelImage::Pointer LabelImagePointer
typedef TLabelImage::RegionType LabelRegionType
typedef TLabelImage::SizeType LabelSizeType
typedef TLabelImage::IndexType LabelIndexType
typedef TLabelImage::PixelType LabelPixelType
typedef NumericTraits< PixelType
>::RealType 
RealType
typedef DataObject::Pointer DataObjectPointer
typedef SimpleDataObjectDecorator<
RealType
RealObjectType
typedef std::vector< typename
IndexType::IndexValueType > 
BoundingBoxType
typedef itk::Statistics::Histogram<
RealType, 1 > 
HistogramType
typedef HistogramType::Pointer HistogramPointer
typedef itk::hash_map< LabelPixelType,
LabelStatistics
MapType
typedef itk::hash_map< LabelPixelType,
LabelStatistics >::iterator 
MapIterator
typedef itk::hash_map< LabelPixelType,
LabelStatistics >::const_iterator 
MapConstIterator

Public Member Functions

virtual const char * GetNameOfClass () const
 itkStaticConstMacro (ImageDimension, unsigned int, TInputImage::ImageDimension)
virtual void SetUseHistograms (bool _arg)
virtual bool GetUseHistograms ()
virtual void UseHistogramsOn ()
virtual void UseHistogramsOff ()
void SetLabelInput (TLabelImage *input)
LabelImageTypeGetLabelInput ()
bool HasLabel (LabelPixelType label) const
RealType GetMinimum (LabelPixelType label) const
RealType GetMaximum (LabelPixelType label) const
RealType GetMean (LabelPixelType label) const
RealType GetMedian (LabelPixelType label) const
RealType GetSigma (LabelPixelType label) const
RealType GetVariance (LabelPixelType label) const
BoundingBoxType GetBoundingBox (LabelPixelType label) const
RegionType GetRegion (LabelPixelType label) const
RealType GetSum (LabelPixelType label) const
unsigned long GetCount (LabelPixelType label) const
HistogramPointer GetHistogram (LabelPixelType label) const
void SetHistogramParameters (const int numBins, RealType lowerBound, RealType upperBound)
unsigned long GetNumberOfObjects () const
unsigned long GetNumberOfLabels () const

Static Public Member Functions

Pointer New ()

Protected Member Functions

 LabelStatisticsImageFilter ()
 ~LabelStatisticsImageFilter ()
void PrintSelf (std::ostream &os, Indent indent) const
void AllocateOutputs ()
void BeforeThreadedGenerateData ()
void AfterThreadedGenerateData ()
void ThreadedGenerateData (const RegionType &outputRegionForThread, int threadId)
void GenerateInputRequestedRegion ()
void EnlargeOutputRequestedRegion (DataObject *data)

Detailed Description

template<class TInputImage, class TLabelImage>
class itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >

Given an intensity image and a label map, compute min, max, variance and mean of the pixels associated with each label or segment.

LabelStatisticsImageFilter computes the minimum, maximum, sum, mean, median, variance and sigma of regions of an intensity image, where the regions are defined via a label map (a second input). The label image should be integral type. The filter needs all of its input image. It behaves as a filter with an input and output. Thus it can be inserted in a pipline with other filters and the statistics will only be recomputed if a downstream filter changes.

Optionally, the filter also computes intensity histograms on each object. If histograms are enabled, a median intensity value can also be computed, although its accuracy is limited to the bin width of the histogram. If histograms are not enabled, the median returns zero.

The filter passes its intensity input through unmodified. The filter is threaded. It computes statistics in each thread then combines them in its AfterThreadedGenerate method.

Definition at line 55 of file itkLabelStatisticsImageFilter.h.


Member Typedef Documentation

template<class TInputImage, class TLabelImage>
typedef std::vector<typename IndexType::IndexValueType> itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::BoundingBoxType
 

Bounding Box-related typedefs

Definition at line 100 of file itkLabelStatisticsImageFilter.h.

template<class TInputImage, class TLabelImage>
typedef SmartPointer<const Self> itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::ConstPointer
 

Reimplemented from itk::ImageToImageFilter< TInputImage, TInputImage >.

Definition at line 63 of file itkLabelStatisticsImageFilter.h.

template<class TInputImage, class TLabelImage>
typedef DataObject::Pointer itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::DataObjectPointer
 

Smart Pointer type to a DataObject.

Reimplemented from itk::ImageSource< TInputImage >.

Definition at line 94 of file itkLabelStatisticsImageFilter.h.

template<class TInputImage, class TLabelImage>
typedef HistogramType::Pointer itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::HistogramPointer
 

Definition at line 104 of file itkLabelStatisticsImageFilter.h.

template<class TInputImage, class TLabelImage>
typedef itk::Statistics::Histogram<RealType,1> itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::HistogramType
 

Histogram-related typedefs

Definition at line 103 of file itkLabelStatisticsImageFilter.h.

template<class TInputImage, class TLabelImage>
typedef TInputImage::IndexType itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::IndexType
 

Definition at line 75 of file itkLabelStatisticsImageFilter.h.

template<class TInputImage, class TLabelImage>
typedef TInputImage::Pointer itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::InputImagePointer
 

Image related typedefs.

Reimplemented from itk::ImageToImageFilter< TInputImage, TInputImage >.

Definition at line 72 of file itkLabelStatisticsImageFilter.h.

template<class TInputImage, class TLabelImage>
typedef TLabelImage::Pointer itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::LabelImagePointer
 

Definition at line 80 of file itkLabelStatisticsImageFilter.h.

template<class TInputImage, class TLabelImage>
typedef TLabelImage itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::LabelImageType
 

Label image related typedefs.

Definition at line 79 of file itkLabelStatisticsImageFilter.h.

Referenced by itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::GetLabelInput().

template<class TInputImage, class TLabelImage>
typedef TLabelImage::IndexType itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::LabelIndexType
 

Definition at line 83 of file itkLabelStatisticsImageFilter.h.

template<class TInputImage, class TLabelImage>
typedef TLabelImage::PixelType itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::LabelPixelType
 

Definition at line 84 of file itkLabelStatisticsImageFilter.h.

Referenced by itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::HasLabel().

template<class TInputImage, class TLabelImage>
typedef TLabelImage::RegionType itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::LabelRegionType
 

Definition at line 81 of file itkLabelStatisticsImageFilter.h.

template<class TInputImage, class TLabelImage>
typedef TLabelImage::SizeType itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::LabelSizeType
 

Definition at line 82 of file itkLabelStatisticsImageFilter.h.

template<class TInputImage, class TLabelImage>
typedef itk::hash_map<LabelPixelType, LabelStatistics>::const_iterator itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::MapConstIterator
 

Definition at line 221 of file itkLabelStatisticsImageFilter.h.

template<class TInputImage, class TLabelImage>
typedef itk::hash_map<LabelPixelType, LabelStatistics>::iterator itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::MapIterator
 

Definition at line 220 of file itkLabelStatisticsImageFilter.h.

template<class TInputImage, class TLabelImage>
typedef itk::hash_map<LabelPixelType, LabelStatistics> itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::MapType
 

Type of the map used to store data per label

Definition at line 219 of file itkLabelStatisticsImageFilter.h.

Referenced by itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::~LabelStatisticsImageFilter().

template<class TInputImage, class TLabelImage>
typedef TInputImage::PixelType itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::PixelType
 

Definition at line 76 of file itkLabelStatisticsImageFilter.h.

template<class TInputImage, class TLabelImage>
typedef SmartPointer<Self> itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::Pointer
 

Reimplemented from itk::ImageToImageFilter< TInputImage, TInputImage >.

Definition at line 62 of file itkLabelStatisticsImageFilter.h.

template<class TInputImage, class TLabelImage>
typedef SimpleDataObjectDecorator<RealType> itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::RealObjectType
 

Type of DataObjects used for scalar outputs

Definition at line 97 of file itkLabelStatisticsImageFilter.h.

template<class TInputImage, class TLabelImage>
typedef NumericTraits<PixelType>::RealType itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::RealType
 

Type to use for computations.

Definition at line 91 of file itkLabelStatisticsImageFilter.h.

Referenced by itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::LabelStatistics::LabelStatistics(), and itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::~LabelStatisticsImageFilter().

template<class TInputImage, class TLabelImage>
typedef TInputImage::RegionType itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::RegionType
 

Definition at line 73 of file itkLabelStatisticsImageFilter.h.

Referenced by itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::~LabelStatisticsImageFilter().

template<class TInputImage, class TLabelImage>
typedef LabelStatisticsImageFilter itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::Self
 

Standard Self typedef

Reimplemented from itk::ImageToImageFilter< TInputImage, TInputImage >.

Definition at line 60 of file itkLabelStatisticsImageFilter.h.

Referenced by itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::~LabelStatisticsImageFilter().

template<class TInputImage, class TLabelImage>
typedef TInputImage::SizeType itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::SizeType
 

Definition at line 74 of file itkLabelStatisticsImageFilter.h.

template<class TInputImage, class TLabelImage>
typedef ImageToImageFilter<TInputImage,TInputImage> itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::Superclass
 

Reimplemented from itk::ImageToImageFilter< TInputImage, TInputImage >.

Definition at line 61 of file itkLabelStatisticsImageFilter.h.


Constructor & Destructor Documentation

template<class TInputImage, class TLabelImage>
itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::LabelStatisticsImageFilter  )  [protected]
 

template<class TInputImage, class TLabelImage>
itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::~LabelStatisticsImageFilter  )  [inline, protected]
 

Definition at line 299 of file itkLabelStatisticsImageFilter.h.

References itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::MapType, itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::RealType, itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::RegionType, and itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::Self.


Member Function Documentation

template<class TInputImage, class TLabelImage>
void itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::AfterThreadedGenerateData  )  [protected, virtual]
 

Do final mean and variance computation from data accumulated in threads.

Reimplemented from itk::ImageSource< TInputImage >.

template<class TInputImage, class TLabelImage>
void itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::AllocateOutputs  )  [protected, virtual]
 

Pass the input through unmodified. Do this by Grafting in the AllocateOutputs method.

Reimplemented from itk::ImageSource< TInputImage >.

template<class TInputImage, class TLabelImage>
void itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::BeforeThreadedGenerateData  )  [protected, virtual]
 

Initialize some accumulators before the threads run.

Reimplemented from itk::ImageSource< TInputImage >.

template<class TInputImage, class TLabelImage>
void itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::EnlargeOutputRequestedRegion DataObject data  )  [protected, virtual]
 

Give the process object a chance to indictate that it will produce more output than it was requested to produce. For example, many imaging filters must compute the entire output at once or can only produce output in complete slices. Such filters cannot handle smaller requested regions. These filters must provide an implementation of this method, setting the output requested region to the size they will produce. By default, a process object does not modify the size of the output requested region.

Reimplemented from itk::ProcessObject.

template<class TInputImage, class TLabelImage>
void itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::GenerateInputRequestedRegion  )  [protected, virtual]
 

What is the input requested region that is required to produce the output requested region? The base assumption for image processing filters is that the input requested region can be set to match the output requested region. If a filter requires more input (for instance a filter that uses neighborhoods needs more input than output to avoid introducing artificial boundary conditions) or less input (for instance a magnify filter) will have to override this method. In doing so, it should call its superclass' implementation as its first step. Note that imaging filters operate differently than the classes to this point in the class hierachy. Up till now, the base assumption has been that the largest possible region will be requested of the input.

This implementation of GenerateInputRequestedRegion() only processes the inputs that are a subclass of the ImageBase<InputImageDimension>. If an input is another type of DataObject (including an Image of a different dimension), they are skipped by this method. The subclasses of ImageToImageFilter are responsible for providing an implementation of GenerateInputRequestedRegion() when there are multiple inputs of different types.

See also:
ProcessObject::GenerateInputRequestedRegion(), ImageSource::GenerateInputRequestedRegion()

Reimplemented from itk::ImageToImageFilter< TInputImage, TInputImage >.

template<class TInputImage, class TLabelImage>
BoundingBoxType itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::GetBoundingBox LabelPixelType  label  )  const
 

Return the computed bounding box for a label.

template<class TInputImage, class TLabelImage>
unsigned long itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::GetCount LabelPixelType  label  )  const
 

Return the number of pixels for a label.

template<class TInputImage, class TLabelImage>
HistogramPointer itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::GetHistogram LabelPixelType  label  )  const
 

Return the histogram for a label

template<class TInputImage, class TLabelImage>
LabelImageType* itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::GetLabelInput  )  [inline]
 

Get the label image

Definition at line 236 of file itkLabelStatisticsImageFilter.h.

References itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::LabelImageType.

template<class TInputImage, class TLabelImage>
RealType itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::GetMaximum LabelPixelType  label  )  const
 

Return the computed Maximum for a label.

template<class TInputImage, class TLabelImage>
RealType itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::GetMean LabelPixelType  label  )  const
 

Return the computed Mean for a label.

template<class TInputImage, class TLabelImage>
RealType itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::GetMedian LabelPixelType  label  )  const
 

Return the computed Median for a label. Requires histograms to be enabled!

template<class TInputImage, class TLabelImage>
RealType itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::GetMinimum LabelPixelType  label  )  const
 

Return the computed Minimum for a label.

template<class TInputImage, class TLabelImage>
virtual const char* itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::GetNameOfClass  )  const [virtual]
 

Runtime information support.

Reimplemented from itk::ImageToImageFilter< TInputImage, TInputImage >.

template<class TInputImage, class TLabelImage>
unsigned long itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::GetNumberOfLabels  )  const [inline]
 

Get the number of labels used

Definition at line 253 of file itkLabelStatisticsImageFilter.h.

template<class TInputImage, class TLabelImage>
unsigned long itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::GetNumberOfObjects  )  const [inline]
 

Get the number of labels used

Definition at line 249 of file itkLabelStatisticsImageFilter.h.

template<class TInputImage, class TLabelImage>
RegionType itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::GetRegion LabelPixelType  label  )  const
 

Return the computed region.

template<class TInputImage, class TLabelImage>
RealType itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::GetSigma LabelPixelType  label  )  const
 

Return the computed Standard Deviation for a label.

template<class TInputImage, class TLabelImage>
RealType itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::GetSum LabelPixelType  label  )  const
 

Return the compute Sum for a label.

template<class TInputImage, class TLabelImage>
virtual bool itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::GetUseHistograms  )  [virtual]
 

template<class TInputImage, class TLabelImage>
RealType itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::GetVariance LabelPixelType  label  )  const
 

Return the computed Variance for a label.

template<class TInputImage, class TLabelImage>
bool itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::HasLabel LabelPixelType  label  )  const [inline]
 

Does the specified label exist? Can only be called after a call a call to Update().

Definition at line 243 of file itkLabelStatisticsImageFilter.h.

References itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::LabelPixelType.

template<class TInputImage, class TLabelImage>
itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::itkStaticConstMacro ImageDimension  ,
unsigned  int,
TInputImage::ImageDimension 
 

Image related typedefs.

template<class TInputImage, class TLabelImage>
Pointer itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::New  )  [static]
 

Method for creation through the object factory.

Reimplemented from itk::Object.

template<class TInputImage, class TLabelImage>
void itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::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::ImageToImageFilter< TInputImage, TInputImage >.

template<class TInputImage, class TLabelImage>
void itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::SetHistogramParameters const int  numBins,
RealType  lowerBound,
RealType  upperBound
 

specify Histogram parameters

template<class TInputImage, class TLabelImage>
void itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::SetLabelInput TLabelImage *  input  )  [inline]
 

Set the label image

Definition at line 229 of file itkLabelStatisticsImageFilter.h.

template<class TInputImage, class TLabelImage>
virtual void itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::SetUseHistograms bool  _arg  )  [virtual]
 

template<class TInputImage, class TLabelImage>
void itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::ThreadedGenerateData const RegionType outputRegionForThread,
int  threadId
[protected]
 

Multi-thread version GenerateData.

template<class TInputImage, class TLabelImage>
virtual void itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::UseHistogramsOff  )  [virtual]
 

template<class TInputImage, class TLabelImage>
virtual void itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >::UseHistogramsOn  )  [virtual]
 


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