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

itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample > Class Template Reference

Integration point for MembershipCalculator, DecisionRule, and target sample data. More...

#include <itkExpectationMaximizationMixtureModelEstimator.h>

Inheritance diagram for itk::Statistics::ExpectationMaximizationMixtureModelEstimator:

Inheritance graph
[legend]
Collaboration diagram for itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >:

Collaboration graph
[legend]
List of all members.

[NOHEADER]

virtual const char * GetClassName () const
Pointer New ()

Public Types

typedef ExpectationMaximizationMixtureModelEstimator Self
typedef Object Superclass
typedef SmartPointer< SelfPointer
typedef TSample::MeasurementType MeasurementType
typedef TSample::MeasurementVectorType MeasurementVectorType
typedef MixtureModelComponentBase<
TSample > 
ComponentType
typedef std::vector< ComponentType * > ComponentVectorType
typedef MembershipFunctionBase<
MeasurementVectorType
ComponentMembershipFunctionType
typedef Array< double > ProportionVectorType
enum  TERMINATION_CODE { CONVERGED = 0, NOT_CONVERGED = 1 }

Public Methods

 itkStaticConstMacro (MeasurementVectorSize, unsigned int, TSample::MeasurementVectorSize)
void SetSample (TSample *sample)
TSample * GetSample ()
void SetInitialProportions (ProportionVectorType &propotion)
ProportionVectorTypeGetInitialProportions ()
ProportionVectorTypeGetProportions ()
void SetMaximumIteration (int numberOfIterations)
int GetMaximumIteration ()
int GetCurrentIteration ()
int AddComponent (ComponentType *component)
int GetNumberOfComponents ()
void Update ()
TERMINATION_CODE GetTerminationCode ()
ComponentMembershipFunctionTypeGetComponentMembershipFunction (int componentIndex)

Protected Methods

 ExpectationMaximizationMixtureModelEstimator ()
virtual ~ExpectationMaximizationMixtureModelEstimator ()
void PrintSelf (std::ostream &os, Indent indent) const
bool CalculateDensities ()
double CalculateExpectation ()
bool UpdateComponentParameters ()
bool UpdateProportions ()
void GenerateData ()

Detailed Description

template<class TSample>
class itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >

Integration point for MembershipCalculator, DecisionRule, and target sample data.

The first template argument is the type of the target sample data that this classifier will assign a class label for each measurement vector. The second one is the type of a membership value calculator for each. A membership calculator represents a specific knowledge about a class. In other words, it should tell us how "likely" is that a measurement vector (pattern) belong to the class. The third argument is the type of decision rule. The main role of a decision rule is comparing the return values of the membership calculators. However, decision rule can include some prior knowledge that can improve the result.

Before you call the GenerateData method to start the classification process, you should plug in all necessary parts ( one or more membership calculators, a decision rule, and a target sample data). To plug in the decision rule, you use SetDecisionRule method, for the target sample data, SetSample method, and for the membership calculators, use AddMembershipCalculator method.

As the method name indicates, you can have more than one membership calculator. One for each classes. The order you put the membership calculator becomes the class label for the class that is represented by the membership calculator.

The classification result is stored in a vector of Subsample object. Each class has its own class sample (Subsample object) that has InstanceIdentifiers for all measurement vectors belong to the class. The InstanceIdentifiers come from the target sample data. Therefore, the Subsample objects act as separate class masks.

Definition at line 61 of file itkExpectationMaximizationMixtureModelEstimator.h.


Member Typedef Documentation

template<class TSample>
typedef MembershipFunctionBase< MeasurementVectorType > itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::ComponentMembershipFunctionType
 

Definition at line 85 of file itkExpectationMaximizationMixtureModelEstimator.h.

template<class TSample>
typedef MixtureModelComponentBase< TSample > itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::ComponentType
 

Definition at line 83 of file itkExpectationMaximizationMixtureModelEstimator.h.

template<class TSample>
typedef std::vector< ComponentType* > itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::ComponentVectorType
 

Definition at line 84 of file itkExpectationMaximizationMixtureModelEstimator.h.

template<class TSample>
typedef TSample::MeasurementType itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::MeasurementType
 

TSample template argument related typedefs

Definition at line 80 of file itkExpectationMaximizationMixtureModelEstimator.h.

template<class TSample>
typedef TSample::MeasurementVectorType itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::MeasurementVectorType
 

Definition at line 81 of file itkExpectationMaximizationMixtureModelEstimator.h.

template<class TSample>
typedef SmartPointer< Self > itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::Pointer
 

Reimplemented from itk::Object.

Definition at line 67 of file itkExpectationMaximizationMixtureModelEstimator.h.

template<class TSample>
typedef Array< double > itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::ProportionVectorType
 

Definition at line 93 of file itkExpectationMaximizationMixtureModelEstimator.h.

template<class TSample>
typedef ExpectationMaximizationMixtureModelEstimator itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::Self
 

Standard class typedef

Reimplemented from itk::Object.

Definition at line 65 of file itkExpectationMaximizationMixtureModelEstimator.h.

template<class TSample>
typedef Object itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::Superclass
 

Reimplemented from itk::Object.

Definition at line 66 of file itkExpectationMaximizationMixtureModelEstimator.h.


Member Enumeration Documentation

template<class TSample>
enum itk::Statistics::ExpectationMaximizationMixtureModelEstimator::TERMINATION_CODE
 

Enumeration values:
CONVERGED 
NOT_CONVERGED 

Definition at line 114 of file itkExpectationMaximizationMixtureModelEstimator.h.


Constructor & Destructor Documentation

template<class TSample>
itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::ExpectationMaximizationMixtureModelEstimator   [protected]
 

template<class TSample>
virtual itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::~ExpectationMaximizationMixtureModelEstimator   [inline, protected, virtual]
 

Definition at line 121 of file itkExpectationMaximizationMixtureModelEstimator.h.

References HardConnectedComponentImageFilter::GenerateData(), and HardConnectedComponentImageFilter::PrintSelf().


Member Function Documentation

template<class TSample>
int itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::AddComponent ComponentType   component
 

template<class TSample>
bool itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::CalculateDensities   [protected]
 

template<class TSample>
double itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::CalculateExpectation   [protected]
 

template<class TSample>
void itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::GenerateData   [protected]
 

Starts the classification process

template<class TSample>
virtual const char* itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::GetClassName   const [virtual]
 

Standard macros

Reimplemented from itk::Object.

template<class TSample>
ComponentMembershipFunctionType* itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::GetComponentMembershipFunction int    componentIndex
 

template<class TSample>
int itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::GetCurrentIteration   [inline]
 

Definition at line 105 of file itkExpectationMaximizationMixtureModelEstimator.h.

template<class TSample>
ProportionVectorType* itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::GetInitialProportions  
 

template<class TSample>
int itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::GetMaximumIteration  
 

template<class TSample>
int itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::GetNumberOfComponents  
 

template<class TSample>
ProportionVectorType* itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::GetProportions  
 

template<class TSample>
TSample* itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::GetSample  
 

Returns the target data

template<class TSample>
TERMINATION_CODE itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::GetTerminationCode  
 

template<class TSample>
itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::itkStaticConstMacro MeasurementVectorSize   ,
unsigned    int,
TSample::MeasurementVectorSize   
 

Length constant

template<class TSample>
Pointer itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::New   [static]
 

Standard macros

Reimplemented from itk::Object.

template<class TSample>
void itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::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 TSample>
void itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::SetInitialProportions ProportionVectorType   propotion
 

template<class TSample>
void itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::SetMaximumIteration int    numberOfIterations
 

template<class TSample>
void itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::SetSample TSample *    sample
 

Sets the target data that will be classified by this

template<class TSample>
void itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::Update  
 

template<class TSample>
bool itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::UpdateComponentParameters   [protected]
 

template<class TSample>
bool itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::UpdateProportions   [protected]
 


The documentation for this class was generated from the following file:
Generated at Wed Mar 12 01:22:35 2003 for ITK by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2000