ITK  4.1.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes
itk::StatisticsImageFilter< TInputImage > Class Template Reference

#include <itkStatisticsImageFilter.h>

+ Inheritance diagram for itk::StatisticsImageFilter< TInputImage >:
+ Collaboration diagram for itk::StatisticsImageFilter< TInputImage >:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef DataObject::Pointer DataObjectPointer
typedef
ProcessObject::DataObjectPointerArraySizeType 
DataObjectPointerArraySizeType
typedef TInputImage::IndexType IndexType
typedef TInputImage::Pointer InputImagePointer
typedef
SimpleDataObjectDecorator
< PixelType
PixelObjectType
typedef TInputImage::PixelType PixelType
typedef SmartPointer< SelfPointer
typedef
SimpleDataObjectDecorator
< RealType
RealObjectType
typedef NumericTraits
< PixelType >::RealType 
RealType
typedef TInputImage::RegionType RegionType
typedef StatisticsImageFilter Self
typedef TInputImage::SizeType SizeType
typedef ImageToImageFilter
< TInputImage, TInputImage > 
Superclass

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
const PixelObjectTypeGetMaximumOutput () const
const RealObjectTypeGetMeanOutput () const
const PixelObjectTypeGetMinimumOutput () const
virtual const char * GetNameOfClass () const
const RealObjectTypeGetSigmaOutput () const
const RealObjectTypeGetSumOutput () const
const RealObjectTypeGetVarianceOutput () const
virtual DataObjectPointer MakeOutput (DataObjectPointerArraySizeType idx)
 typedef (Concept::HasNumericTraits< PixelType >) InputHasNumericTraitsCheck
PixelType GetMinimum () const
PixelObjectTypeGetMinimumOutput ()
PixelType GetMaximum () const
PixelObjectTypeGetMaximumOutput ()
RealType GetMean () const
RealObjectTypeGetMeanOutput ()
RealType GetSigma () const
RealObjectTypeGetSigmaOutput ()
RealType GetVariance () const
RealObjectTypeGetVarianceOutput ()
RealType GetSum () const
RealObjectTypeGetSumOutput ()

Static Public Member Functions

static Pointer New ()

Static Public Attributes

static const unsigned int ImageDimension = TInputImage::ImageDimension

Protected Member Functions

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

Private Member Functions

void operator= (const Self &)
 StatisticsImageFilter (const Self &)

Private Attributes

Array< SizeValueTypem_Count
Array< RealTypem_SumOfSquares
Array< PixelTypem_ThreadMax
Array< PixelTypem_ThreadMin
Array< RealTypem_ThreadSum

Detailed Description

template<class TInputImage>
class itk::StatisticsImageFilter< TInputImage >

Compute min. max, variance and mean of an Image.

StatisticsImageFilter computes the minimum, maximum, sum, mean, variance sigma of an image. 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.

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

Wiki Examples:

Definition at line 49 of file itkStatisticsImageFilter.h.


Member Typedef Documentation

template<class TInputImage>
typedef SmartPointer< const Self > itk::StatisticsImageFilter< TInputImage >::ConstPointer
template<class TInputImage>
typedef DataObject::Pointer itk::StatisticsImageFilter< TInputImage >::DataObjectPointer

Smart Pointer type to a DataObject.

Reimplemented from itk::ImageSource< TInputImage >.

Definition at line 81 of file itkStatisticsImageFilter.h.

Make a DataObject of the correct type to be used as the specified output.

Reimplemented from itk::ImageSource< TInputImage >.

Definition at line 137 of file itkStatisticsImageFilter.h.

template<class TInputImage>
typedef TInputImage::IndexType itk::StatisticsImageFilter< TInputImage >::IndexType

Definition at line 70 of file itkStatisticsImageFilter.h.

template<class TInputImage>
typedef TInputImage::Pointer itk::StatisticsImageFilter< TInputImage >::InputImagePointer

Image related typedefs.

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

Definition at line 63 of file itkStatisticsImageFilter.h.

Definition at line 85 of file itkStatisticsImageFilter.h.

template<class TInputImage>
typedef TInputImage::PixelType itk::StatisticsImageFilter< TInputImage >::PixelType

Definition at line 71 of file itkStatisticsImageFilter.h.

template<class TInputImage>
typedef SmartPointer< Self > itk::StatisticsImageFilter< TInputImage >::Pointer

Type of DataObjects used for scalar outputs

Definition at line 84 of file itkStatisticsImageFilter.h.

template<class TInputImage>
typedef NumericTraits< PixelType >::RealType itk::StatisticsImageFilter< TInputImage >::RealType

Type to use for computations.

Definition at line 78 of file itkStatisticsImageFilter.h.

template<class TInputImage>
typedef TInputImage::RegionType itk::StatisticsImageFilter< TInputImage >::RegionType

Definition at line 68 of file itkStatisticsImageFilter.h.

template<class TInputImage>
typedef StatisticsImageFilter itk::StatisticsImageFilter< TInputImage >::Self

Standard Self typedef

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

Definition at line 54 of file itkStatisticsImageFilter.h.

template<class TInputImage>
typedef TInputImage::SizeType itk::StatisticsImageFilter< TInputImage >::SizeType

Definition at line 69 of file itkStatisticsImageFilter.h.

template<class TInputImage>
typedef ImageToImageFilter< TInputImage, TInputImage > itk::StatisticsImageFilter< TInputImage >::Superclass

Constructor & Destructor Documentation

template<class TInputImage>
itk::StatisticsImageFilter< TInputImage >::StatisticsImageFilter ( ) [protected]

End concept checking

template<class TInputImage>
itk::StatisticsImageFilter< TInputImage >::~StatisticsImageFilter ( ) [inline, protected]

End concept checking

Definition at line 150 of file itkStatisticsImageFilter.h.

template<class TInputImage>
itk::StatisticsImageFilter< TInputImage >::StatisticsImageFilter ( const Self ) [private]

Member Function Documentation

template<class TInputImage>
void itk::StatisticsImageFilter< TInputImage >::AfterThreadedGenerateData ( ) [protected, virtual]

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

Reimplemented from itk::ImageSource< TInputImage >.

template<class TInputImage>
void itk::StatisticsImageFilter< TInputImage >::AllocateOutputs ( ) [protected, virtual]

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

Reimplemented from itk::ImageSource< TInputImage >.

template<class TInputImage>
void itk::StatisticsImageFilter< TInputImage >::BeforeThreadedGenerateData ( ) [protected, virtual]

Initialize some accumulators before the threads run.

Reimplemented from itk::ImageSource< TInputImage >.

template<class TInputImage>
virtual::itk::LightObject::Pointer itk::StatisticsImageFilter< TInputImage >::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.

template<class TInputImage>
void itk::StatisticsImageFilter< TInputImage >::EnlargeOutputRequestedRegion ( DataObject ) [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>
void itk::StatisticsImageFilter< TInputImage >::GenerateInputRequestedRegion ( void  ) [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>
PixelType itk::StatisticsImageFilter< TInputImage >::GetMaximum ( void  ) const [inline]

Return the computed Maximum.

Definition at line 96 of file itkStatisticsImageFilter.h.

template<class TInputImage>
PixelObjectType* itk::StatisticsImageFilter< TInputImage >::GetMaximumOutput ( )

Return the computed Maximum.

template<class TInputImage>
const PixelObjectType* itk::StatisticsImageFilter< TInputImage >::GetMaximumOutput ( ) const
template<class TInputImage>
RealType itk::StatisticsImageFilter< TInputImage >::GetMean ( ) const [inline]

Return the computed Mean.

Definition at line 104 of file itkStatisticsImageFilter.h.

template<class TInputImage>
RealObjectType* itk::StatisticsImageFilter< TInputImage >::GetMeanOutput ( )

Return the computed Mean.

template<class TInputImage>
const RealObjectType* itk::StatisticsImageFilter< TInputImage >::GetMeanOutput ( ) const
template<class TInputImage>
PixelType itk::StatisticsImageFilter< TInputImage >::GetMinimum ( void  ) const [inline]

Return the computed Minimum.

Definition at line 88 of file itkStatisticsImageFilter.h.

template<class TInputImage>
PixelObjectType* itk::StatisticsImageFilter< TInputImage >::GetMinimumOutput ( )

Return the computed Minimum.

template<class TInputImage>
const PixelObjectType* itk::StatisticsImageFilter< TInputImage >::GetMinimumOutput ( ) const
template<class TInputImage>
virtual const char* itk::StatisticsImageFilter< TInputImage >::GetNameOfClass ( ) const [virtual]

Runtime information support.

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

template<class TInputImage>
RealType itk::StatisticsImageFilter< TInputImage >::GetSigma ( ) const [inline]

Return the computed Standard Deviation.

Definition at line 112 of file itkStatisticsImageFilter.h.

template<class TInputImage>
RealObjectType* itk::StatisticsImageFilter< TInputImage >::GetSigmaOutput ( )

Return the computed Standard Deviation.

template<class TInputImage>
const RealObjectType* itk::StatisticsImageFilter< TInputImage >::GetSigmaOutput ( ) const
template<class TInputImage>
RealType itk::StatisticsImageFilter< TInputImage >::GetSum ( ) const [inline]

Return the compute Sum.

Definition at line 128 of file itkStatisticsImageFilter.h.

template<class TInputImage>
RealObjectType* itk::StatisticsImageFilter< TInputImage >::GetSumOutput ( )

Return the compute Sum.

template<class TInputImage>
const RealObjectType* itk::StatisticsImageFilter< TInputImage >::GetSumOutput ( ) const
template<class TInputImage>
RealType itk::StatisticsImageFilter< TInputImage >::GetVariance ( ) const [inline]

Return the computed Variance.

Definition at line 120 of file itkStatisticsImageFilter.h.

template<class TInputImage>
RealObjectType* itk::StatisticsImageFilter< TInputImage >::GetVarianceOutput ( )

Return the computed Variance.

template<class TInputImage>
const RealObjectType* itk::StatisticsImageFilter< TInputImage >::GetVarianceOutput ( ) const
template<class TInputImage>
virtual DataObjectPointer itk::StatisticsImageFilter< TInputImage >::MakeOutput ( DataObjectPointerArraySizeType  idx) [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::ImageSource< TInputImage >.

template<class TInputImage>
static Pointer itk::StatisticsImageFilter< TInputImage >::New ( ) [static]

Method for creation through the object factory.

Reimplemented from itk::Object.

template<class TInputImage>
void itk::StatisticsImageFilter< TInputImage >::operator= ( const Self ) [private]

PushBackInput(), PushFronInput() in the public section force the input to be the type expected by an ImageToImageFilter. However, these methods end of "hiding" the versions from the superclass (ProcessObject) whose arguments are DataObjects. Here, we re-expose the versions from ProcessObject to avoid warnings about hiding methods from the superclass.

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

template<class TInputImage>
void itk::StatisticsImageFilter< TInputImage >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected, virtual]

End concept checking

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

template<class TInputImage>
void itk::StatisticsImageFilter< TInputImage >::ThreadedGenerateData ( const RegionType outputRegionForThread,
ThreadIdType  threadId 
) [protected]

Multi-thread version GenerateData.

template<class TInputImage>
itk::StatisticsImageFilter< TInputImage >::typedef ( Concept::HasNumericTraits< PixelType )

Begin concept checking This class requires InputHasNumericTraitsCheck in the form of ( Concept::HasNumericTraits< PixelType > )


Member Data Documentation

template<class TInputImage>
const unsigned int itk::StatisticsImageFilter< TInputImage >::ImageDimension = TInputImage::ImageDimension [static]

Image related typedefs.

Definition at line 75 of file itkStatisticsImageFilter.h.

template<class TInputImage>
Array< SizeValueType > itk::StatisticsImageFilter< TInputImage >::m_Count [private]

Definition at line 183 of file itkStatisticsImageFilter.h.

template<class TInputImage>
Array< RealType > itk::StatisticsImageFilter< TInputImage >::m_SumOfSquares [private]

Definition at line 182 of file itkStatisticsImageFilter.h.

template<class TInputImage>
Array< PixelType > itk::StatisticsImageFilter< TInputImage >::m_ThreadMax [private]

Definition at line 185 of file itkStatisticsImageFilter.h.

template<class TInputImage>
Array< PixelType > itk::StatisticsImageFilter< TInputImage >::m_ThreadMin [private]

Definition at line 184 of file itkStatisticsImageFilter.h.

template<class TInputImage>
Array< RealType > itk::StatisticsImageFilter< TInputImage >::m_ThreadSum [private]

Definition at line 181 of file itkStatisticsImageFilter.h.


The documentation for this class was generated from the following file: