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

This class generates the parameter estimates for a mixture model using expectation maximization strategy. 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 ()
ProportionVectorTypeGetProportions ()
int GetCurrentIteration ()
int AddComponent (ComponentType *component)
int GetNumberOfComponents ()
void Update ()
TERMINATION_CODE GetTerminationCode ()
ComponentMembershipFunctionTypeGetComponentMembershipFunction (int componentIndex)
void SetInitialProportions (ProportionVectorType &propotion)
ProportionVectorTypeGetInitialProportions ()
void SetMaximumIteration (int numberOfIterations)
int GetMaximumIteration ()

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 >

This class generates the parameter estimates for a mixture model using expectation maximization strategy.

The first template argument is the type of the target sample data. This estimator expects one or more mixture model component objects of the classes derived from the MixtureModelComponentBase. The actual component (or module) parameters are updated by each component. Users can think this class as a strategy or a integration point for the EM procedure. The initial proportion (SetInitialProportions), the input sample (SetSample), the mixture model components (AddComponent), and the maximum iteration (SetMaximumIteration) are required. The EM procedure terminates when the current iteration reaches the maximum iteration or the model parameters converge.

See also:
MixtureModelComponentBase, GaussianMixtureModelComponent

Definition at line 46 of file itkExpectationMaximizationMixtureModelEstimator.h.


Member Typedef Documentation

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

Type of the membership function base class

Definition at line 76 of file itkExpectationMaximizationMixtureModelEstimator.h.

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

Type of the mixture model component base class

Definition at line 69 of file itkExpectationMaximizationMixtureModelEstimator.h.

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

Type of the component pointer storage

Definition at line 72 of file itkExpectationMaximizationMixtureModelEstimator.h.

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

TSample template argument related typedefs

Definition at line 65 of file itkExpectationMaximizationMixtureModelEstimator.h.

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

Definition at line 66 of file itkExpectationMaximizationMixtureModelEstimator.h.

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

Reimplemented from itk::Object.

Definition at line 52 of file itkExpectationMaximizationMixtureModelEstimator.h.

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

Type of the array of the proportion values

Definition at line 79 of file itkExpectationMaximizationMixtureModelEstimator.h.

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

Standard class typedef

Reimplemented from itk::Object.

Definition at line 50 of file itkExpectationMaximizationMixtureModelEstimator.h.

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

Reimplemented from itk::Object.

Definition at line 51 of file itkExpectationMaximizationMixtureModelEstimator.h.


Member Enumeration Documentation

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

Termination status after running optimization

Enumeration values:
CONVERGED 
NOT_CONVERGED 

Definition at line 118 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 129 of file itkExpectationMaximizationMixtureModelEstimator.h.

References HardConnectedComponentImageFilter::GenerateData().


Member Function Documentation

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

Adds a new component (or class).

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 estimation 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
 

Gets the membership function specified by componentIndex argument.

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

Gets the current iteration.

Definition at line 105 of file itkExpectationMaximizationMixtureModelEstimator.h.

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

Set/Gets the initial proportion values. The size of proportion vector should be same as the number of component (or classes)

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

Set/Gets the maximum number of iterations. When the optimization process reaches the maximum number of interations, even if the class parameters aren't converged, the optimization process stops.

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

Gets the total number of classes currently plugged in.

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

Gets the result proportion values

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

Returns the target data

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

Gets the termination status

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
 

Set/Gets the initial proportion values. The size of proportion vector should be same as the number of component (or classes)

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

Set/Gets the maximum number of iterations. When the optimization process reaches the maximum number of interations, even if the class parameters aren't converged, the optimization process stops.

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  
 

Runs the optimization process.

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 Tue Sep 16 11:42:25 2003 for ITK by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2000