ITK  4.0.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::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType > Class Template Reference

This filter is intended to be used as a helper class to initialize the BayesianClassifierImageFilter. More...

#include <itkBayesianClassifierInitializationImageFilter.h>

Inheritance diagram for itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >:
Collaboration diagram for itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef
ImageRegionConstIterator
< InputImageType
InputImageIteratorType
typedef TInputImage InputImageType
typedef InputImageType::PixelType InputPixelType
typedef Vector< InputPixelType, 1 > MeasurementVectorType
typedef
MembershipFunctionContainerType::Pointer 
MembershipFunctionContainerPointer
typedef VectorContainer
< unsigned int,
MembershipFunctionPointer
MembershipFunctionContainerType
typedef
MembershipFunctionType::Pointer 
MembershipFunctionPointer
typedef
Statistics::MembershipFunctionBase
< MeasurementVectorType
MembershipFunctionType
typedef ImageRegionIterator
< MembershipImageType
MembershipImageIteratorType
typedef
MembershipImageType::Pointer 
MembershipImagePointer
typedef VectorImage
< ProbabilityPrecisionType,
itkGetStaticConstMacro(Dimension) > 
MembershipImageType
typedef
MembershipImageType::PixelType 
MembershipPixelType
typedef VectorImage
< ProbabilityPrecisionType,
itkGetStaticConstMacro(Dimension) > 
OutputImageType
typedef OutputImageType::PixelType OutputPixelType
typedef SmartPointer< SelfPointer
typedef TProbabilityPrecisionType ProbabilityPrecisionType
typedef
BayesianClassifierInitializationImageFilter 
Self
typedef ImageToImageFilter
< InputImageType,
OutputImageType
Superclass

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual void GenerateOutputInformation ()
virtual
MembershipFunctionContainerType
GetMembershipFunctionContainer ()
virtual const char * GetNameOfClass () const
virtual void SetMembershipFunctions (MembershipFunctionContainerType *densityFunctionContainer)
 typedef (Concept::MultiplyOperator< InputPixelType >) InputMultiplyOperatorCheck
 typedef (Concept::AdditiveOperators< double, InputPixelType >) DoublePlusInputCheck
 typedef (Concept::HasNumericTraits< TProbabilityPrecisionType >) ProbabilityHasNumericTraitsCheck
 typedef (Concept::Convertible< double, TProbabilityPrecisionType >) DoubleConvertibleToProbabilityCheck
 typedef (Concept::HasNumericTraits< InputPixelType >) InputHasNumericTraitsCheck
virtual void SetNumberOfClasses (unsigned int _arg)
virtual unsigned int GetNumberOfClasses () const

Static Public Member Functions

static Pointer New ()

Static Public Attributes

static const unsigned int Dimension = ::itk::GetImageDimension< InputImageType >::ImageDimension

Protected Member Functions

virtual void GenerateData ()
virtual void InitializeMembershipFunctions ()
 BayesianClassifierInitializationImageFilter ()
virtual ~BayesianClassifierInitializationImageFilter ()
void PrintSelf (std::ostream &os, Indent indent) const

Private Member Functions

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

Private Attributes

MembershipFunctionContainerType::Pointer m_MembershipFunctionContainer
unsigned int m_NumberOfClasses
bool m_UserSuppliesMembershipFunctions

Detailed Description

template<class TInputImage, class TProbabilityPrecisionType = float>
class itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >

This filter is intended to be used as a helper class to initialize the BayesianClassifierImageFilter.

The goal of this filter is to generate a membership image that indicates the membership of each pixel to each class. These membership images are fed as input to the Bayesian classfier filter.
Parameters
Number of classes: This defines the number of classes, which will determine the number of membership images that will be generated. The user must specify this.
Membership functions: The user can optionally plugin in any membership function. The number of membership functions plugged in should be the same as the number of classes. If the user does not supply membership functions, the filter will generate membership functions for you. These functions are Gaussian density functions centered around 'n' pixel intensity values, $ I_k $. These 'n' values are obtained by running K-means on the image. In other words, the default behaviour of the filter is to generate Gaussian mixture model for the input image.
Inputs and Outputs
The filter takes a scalar Image as input and generates a VectorImage, each component $ c $ of which represents memberships of each pixel to the class $ c $.
Template parameters
This filter is templated over the input image type and the data type used to represent the probabilities (defaults to float).
Author:
John Melonakos, Georgia Tech
Note:
This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149.
See also:
BayesianClassifierImageFilter
VectorImage

Definition at line 76 of file itkBayesianClassifierInitializationImageFilter.h.


Member Typedef Documentation

template<class TInputImage , class TProbabilityPrecisionType = float>
typedef SmartPointer< const Self > itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::ConstPointer
template<class TInputImage , class TProbabilityPrecisionType = float>
typedef ImageRegionConstIterator< InputImageType > itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::InputImageIteratorType

Input image iterators

Definition at line 101 of file itkBayesianClassifierInitializationImageFilter.h.

template<class TInputImage , class TProbabilityPrecisionType = float>
typedef TInputImage itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::InputImageType
template<class TInputImage , class TProbabilityPrecisionType = float>
typedef InputImageType::PixelType itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::InputPixelType

Pixel types.

Definition at line 107 of file itkBayesianClassifierInitializationImageFilter.h.

template<class TInputImage , class TProbabilityPrecisionType = float>
typedef Vector< InputPixelType, 1 > itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::MeasurementVectorType

Type of the Measurement

Definition at line 120 of file itkBayesianClassifierInitializationImageFilter.h.

template<class TInputImage , class TProbabilityPrecisionType = float>
typedef MembershipFunctionContainerType::Pointer itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::MembershipFunctionContainerPointer
template<class TInputImage , class TProbabilityPrecisionType = float>
typedef VectorContainer< unsigned int, MembershipFunctionPointer > itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::MembershipFunctionContainerType

Membership function container

Definition at line 128 of file itkBayesianClassifierInitializationImageFilter.h.

template<class TInputImage , class TProbabilityPrecisionType = float>
typedef MembershipFunctionType::Pointer itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::MembershipFunctionPointer
template<class TInputImage , class TProbabilityPrecisionType = float>
typedef Statistics::MembershipFunctionBase< MeasurementVectorType > itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::MembershipFunctionType

Type of the density functions

Definition at line 123 of file itkBayesianClassifierInitializationImageFilter.h.

template<class TInputImage , class TProbabilityPrecisionType = float>
typedef ImageRegionIterator< MembershipImageType > itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::MembershipImageIteratorType
template<class TInputImage , class TProbabilityPrecisionType = float>
typedef MembershipImageType::Pointer itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::MembershipImagePointer
template<class TInputImage , class TProbabilityPrecisionType = float>
typedef VectorImage< ProbabilityPrecisionType, itkGetStaticConstMacro(Dimension) > itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::MembershipImageType

Image Type and Pixel type for the images representing the membership of a pixel to a particular class. This image has arrays as pixels, the number of elements in the array is the same as the number of classes to be used.

Definition at line 114 of file itkBayesianClassifierInitializationImageFilter.h.

template<class TInputImage , class TProbabilityPrecisionType = float>
typedef MembershipImageType::PixelType itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::MembershipPixelType
template<class TInputImage , class TProbabilityPrecisionType = float>
typedef VectorImage< ProbabilityPrecisionType, itkGetStaticConstMacro(Dimension) > itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::OutputImageType
template<class TInputImage , class TProbabilityPrecisionType = float>
typedef OutputImageType::PixelType itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::OutputPixelType
template<class TInputImage , class TProbabilityPrecisionType = float>
typedef SmartPointer< Self > itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::Pointer
template<class TInputImage , class TProbabilityPrecisionType = float>
typedef TProbabilityPrecisionType itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::ProbabilityPrecisionType
template<class TInputImage , class TProbabilityPrecisionType = float>
typedef BayesianClassifierInitializationImageFilter itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::Self
template<class TInputImage , class TProbabilityPrecisionType = float>
typedef ImageToImageFilter< InputImageType, OutputImageType > itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::Superclass

Constructor & Destructor Documentation

template<class TInputImage , class TProbabilityPrecisionType = float>
itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::BayesianClassifierInitializationImageFilter ( ) [protected]

End concept checking

template<class TInputImage , class TProbabilityPrecisionType = float>
virtual itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::~BayesianClassifierInitializationImageFilter ( ) [inline, protected, virtual]

End concept checking

Definition at line 166 of file itkBayesianClassifierInitializationImageFilter.h.

template<class TInputImage , class TProbabilityPrecisionType = float>
itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::BayesianClassifierInitializationImageFilter ( const Self ) [private]

Member Function Documentation

template<class TInputImage , class TProbabilityPrecisionType = float>
virtual::itk::LightObject::Pointer itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::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 , class TProbabilityPrecisionType = float>
virtual void itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::GenerateData ( ) [protected, virtual]

Here is where the prior and membership probability vector images are created.

Reimplemented from itk::ImageSource< VectorImage< TProbabilityPrecisionType,::itk::GetImageDimension< TInputImage >::ImageDimension > >.

template<class TInputImage , class TProbabilityPrecisionType = float>
virtual void itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::GenerateOutputInformation ( ) [virtual]

Generate the information decribing the output data. The default implementation of this method will copy information from the input to the output. A filter may override this method if its output will have different information than its input. For instance, a filter that shrinks an image will need to provide an implementation for this method that changes the spacing of the pixels. Such filters should call their superclass' implementation of this method prior to changing the information values they need (i.e. GenerateOutputInformation() should call Superclass::GenerateOutputInformation() prior to changing the information.

Reimplemented from itk::ProcessObject.

template<class TInputImage , class TProbabilityPrecisionType = float>
virtual MembershipFunctionContainerType* itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::GetMembershipFunctionContainer ( ) [virtual]
template<class TInputImage , class TProbabilityPrecisionType = float>
virtual const char* itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::GetNameOfClass ( ) const [virtual]
template<class TInputImage , class TProbabilityPrecisionType = float>
virtual unsigned int itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::GetNumberOfClasses ( ) const [virtual]

Set/Get methods for the number of classes. The user must supply this.

template<class TInputImage , class TProbabilityPrecisionType = float>
virtual void itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::InitializeMembershipFunctions ( ) [protected, virtual]

Initialize the membership functions. This will be called only if the membership function hasn't already been set. This method initializes membership functions using Gaussian density functions centered around the means computed using Kmeans.

template<class TInputImage , class TProbabilityPrecisionType = float>
static Pointer itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::New ( ) [static]

Method for creation through the object factory.

Reimplemented from itk::Object.

template<class TInputImage , class TProbabilityPrecisionType = float>
void itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::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, VectorImage< TProbabilityPrecisionType,::itk::GetImageDimension< TInputImage >::ImageDimension > >.

template<class TInputImage , class TProbabilityPrecisionType = float>
void itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected, virtual]
template<class TInputImage , class TProbabilityPrecisionType = float>
virtual void itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::SetMembershipFunctions ( MembershipFunctionContainerType densityFunctionContainer) [virtual]

Method to set/get the density functions. Here you can set a vector container of density functions. If no density functions are specified, the filter will create ones for you. These default density functions are Gaussian density functions centered around the K-means of the input image.

template<class TInputImage , class TProbabilityPrecisionType = float>
virtual void itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::SetNumberOfClasses ( unsigned int  _arg) [virtual]

Set/Get methods for the number of classes. The user must supply this.

template<class TInputImage , class TProbabilityPrecisionType = float>
itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::typedef ( Concept::MultiplyOperator< InputPixelType )

Begin concept checking This class requires InputMultiplyOperatorCheck in the form of ( Concept::MultiplyOperator< InputPixelType > )

template<class TInputImage , class TProbabilityPrecisionType = float>
itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::typedef ( Concept::HasNumericTraits< TProbabilityPrecisionType >  )

This class requires ProbabilityHasNumericTraitsCheck in the form of ( Concept::HasNumericTraits< TProbabilityPrecisionType > )

template<class TInputImage , class TProbabilityPrecisionType = float>
itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::typedef ( Concept::Convertible< double, TProbabilityPrecisionType >  )

This class requires DoubleConvertibleToProbabilityCheck in the form of ( Concept::Convertible< double, TProbabilityPrecisionType > )

template<class TInputImage , class TProbabilityPrecisionType = float>
itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::typedef ( Concept::AdditiveOperators< double, InputPixelType )

This class requires DoublePlusInputCheck in the form of ( Concept::AdditiveOperators< double, InputPixelType > )

template<class TInputImage , class TProbabilityPrecisionType = float>
itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::typedef ( Concept::HasNumericTraits< InputPixelType )

This class requires InputHasNumericTraitsCheck in the form of ( Concept::HasNumericTraits< InputPixelType > )


Member Data Documentation

template<class TInputImage , class TProbabilityPrecisionType = float>
const unsigned int itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::Dimension = ::itk::GetImageDimension< InputImageType >::ImageDimension [static]

Dimension of the input image

Definition at line 89 of file itkBayesianClassifierInitializationImageFilter.h.

template<class TInputImage , class TProbabilityPrecisionType = float>
MembershipFunctionContainerType::Pointer itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::m_MembershipFunctionContainer [private]
template<class TInputImage , class TProbabilityPrecisionType = float>
unsigned int itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::m_NumberOfClasses [private]
template<class TInputImage , class TProbabilityPrecisionType = float>
bool itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >::m_UserSuppliesMembershipFunctions [private]

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