ITK  4.1.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Protected Member Functions | Private Attributes
itk::Statistics::MixtureModelComponentBase< TSample > Class Template Reference

#include <itkMixtureModelComponentBase.h>

+ Inheritance diagram for itk::Statistics::MixtureModelComponentBase< TSample >:
+ Collaboration diagram for itk::Statistics::MixtureModelComponentBase< TSample >:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef
TSample::MeasurementVectorSizeType 
MeasurementVectorSizeType
typedef
TSample::MeasurementVectorType 
MeasurementVectorType
typedef MembershipFunctionBase
< MeasurementVectorType
MembershipFunctionType
typedef Array< double > ParametersType
typedef SmartPointer< SelfPointer
typedef MixtureModelComponentBase Self
typedef Object Superclass
typedef Array< double > WeightArrayType

Public Member Functions

void AreParametersModified (bool flag)
bool AreParametersModified ()
double Evaluate (MeasurementVectorType &measurements)
virtual ParametersType GetFullParameters ()
MembershipFunctionTypeGetMembershipFunction ()
double GetMinimalParametersChange ()
virtual const char * GetNameOfClass () const
const TSample * GetSample () const
double GetWeight (unsigned int index) const
virtual const WeightArrayTypeGetWeights ()
void SetMinimalParametersChange (double change)
virtual void SetParameters (const ParametersType &parameters)
virtual void SetSample (const TSample *sample)
void SetWeight (unsigned int index, double value)
virtual void Update ()

Protected Member Functions

virtual void GenerateData ()=0
 MixtureModelComponentBase ()
void PrintSelf (std::ostream &os, Indent indent) const
void SetMembershipFunction (MembershipFunctionType *function)
virtual ~MixtureModelComponentBase ()

Private Attributes

MembershipFunctionTypem_MembershipFunction
double m_MinimalParametersChange
ParametersType m_Parameters
bool m_ParametersModified
const TSample * m_Sample
WeightArrayType m_Weights

Detailed Description

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

base class for distribution modules that supports analytical way to update the distribution parameters

This class expects that its subclasses (distribution components) should have analytical expressions for updating its paraters using only the measurement vectors and their associated weights.

This class can be considered as a macro class that encapsulates the storage for the weights, model (subclasses of MembershipFunctionBase), and model parameter estimators (implemenation of analytical expressions).

Subclasses of this class should define their own distribution specific membership function. For example, GaussianMixtureModelComponent class defines and creates a GaussianDensityFunction object for that matter. Subclasses should also cast such membership function object to MembershipFunctionBase object. By doing that, users can get pointers to membership functions from different distributional model

See also:
ExpectationMaximizationMixtureModelEstimator

Definition at line 56 of file itkMixtureModelComponentBase.h.


Member Typedef Documentation

template<class TSample >
typedef SmartPointer< const Self > itk::Statistics::MixtureModelComponentBase< TSample >::ConstPointer

Reimplemented from itk::Object.

Reimplemented in itk::Statistics::GaussianMixtureModelComponent< TSample >.

Definition at line 64 of file itkMixtureModelComponentBase.h.

template<class TSample >
typedef TSample::MeasurementVectorSizeType itk::Statistics::MixtureModelComponentBase< TSample >::MeasurementVectorSizeType
template<class TSample >
typedef TSample::MeasurementVectorType itk::Statistics::MixtureModelComponentBase< TSample >::MeasurementVectorType
template<class TSample >
typedef Array< double > itk::Statistics::MixtureModelComponentBase< TSample >::ParametersType
template<class TSample >
typedef SmartPointer< Self > itk::Statistics::MixtureModelComponentBase< TSample >::Pointer

Reimplemented from itk::Object.

Reimplemented in itk::Statistics::GaussianMixtureModelComponent< TSample >.

Definition at line 63 of file itkMixtureModelComponentBase.h.

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

Standard class typedefs.

Reimplemented from itk::Object.

Reimplemented in itk::Statistics::GaussianMixtureModelComponent< TSample >.

Definition at line 61 of file itkMixtureModelComponentBase.h.

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

Reimplemented from itk::Object.

Reimplemented in itk::Statistics::GaussianMixtureModelComponent< TSample >.

Definition at line 62 of file itkMixtureModelComponentBase.h.

template<class TSample >
typedef Array< double > itk::Statistics::MixtureModelComponentBase< TSample >::WeightArrayType

typedef of strorage for the weights

Reimplemented in itk::Statistics::GaussianMixtureModelComponent< TSample >.

Definition at line 77 of file itkMixtureModelComponentBase.h.


Constructor & Destructor Documentation

template<class TSample >
itk::Statistics::MixtureModelComponentBase< TSample >::MixtureModelComponentBase ( ) [protected]
template<class TSample >
virtual itk::Statistics::MixtureModelComponentBase< TSample >::~MixtureModelComponentBase ( ) [protected, virtual]

Member Function Documentation

template<class TSample >
void itk::Statistics::MixtureModelComponentBase< TSample >::AreParametersModified ( bool  flag)

sets the parameters modified tag. if one or more of the membership funtion's parameters are changed, then flag should be true

template<class TSample >
bool itk::Statistics::MixtureModelComponentBase< TSample >::AreParametersModified ( )

returns the value of parameter modified tag

template<class TSample >
double itk::Statistics::MixtureModelComponentBase< TSample >::Evaluate ( MeasurementVectorType measurements)

returns the membership score of the "measurements" vector

template<class TSample >
virtual void itk::Statistics::MixtureModelComponentBase< TSample >::GenerateData ( ) [protected, pure virtual]
template<class TSample >
virtual ParametersType itk::Statistics::MixtureModelComponentBase< TSample >::GetFullParameters ( ) [inline, virtual]

Definition at line 105 of file itkMixtureModelComponentBase.h.

returns the pointer to the membership function object. Subclasses of this class are responsible for creating the actual membership function objects and cast them to MembershipFunctionBase objects

template<class TSample >
double itk::Statistics::MixtureModelComponentBase< TSample >::GetMinimalParametersChange ( ) [inline]

Definition at line 98 of file itkMixtureModelComponentBase.h.

template<class TSample >
virtual const char* itk::Statistics::MixtureModelComponentBase< TSample >::GetNameOfClass ( ) const [virtual]

Standard Macros

Reimplemented from itk::Object.

Reimplemented in itk::Statistics::GaussianMixtureModelComponent< TSample >.

template<class TSample >
const TSample* itk::Statistics::MixtureModelComponentBase< TSample >::GetSample ( ) const

returns the sample pointer

template<class TSample >
double itk::Statistics::MixtureModelComponentBase< TSample >::GetWeight ( unsigned int  index) const

returns the index-th weight

template<class TSample >
virtual const WeightArrayType& itk::Statistics::MixtureModelComponentBase< TSample >::GetWeights ( ) [virtual]

returns the pointer to the weights array

template<class TSample >
void itk::Statistics::MixtureModelComponentBase< 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.

Reimplemented in itk::Statistics::GaussianMixtureModelComponent< TSample >.

template<class TSample >
void itk::Statistics::MixtureModelComponentBase< TSample >::SetMembershipFunction ( MembershipFunctionType function) [protected]

stores the pointer to the membership function. subclasses use this funtion to store their membership function object after dynamic creation

template<class TSample >
void itk::Statistics::MixtureModelComponentBase< TSample >::SetMinimalParametersChange ( double  change) [inline]

Definition at line 93 of file itkMixtureModelComponentBase.h.

template<class TSample >
virtual void itk::Statistics::MixtureModelComponentBase< TSample >::SetParameters ( const ParametersType parameters) [virtual]
template<class TSample >
virtual void itk::Statistics::MixtureModelComponentBase< TSample >::SetSample ( const TSample *  sample) [virtual]

stores the sample pointer

Reimplemented in itk::Statistics::GaussianMixtureModelComponent< TSample >.

template<class TSample >
void itk::Statistics::MixtureModelComponentBase< TSample >::SetWeight ( unsigned int  index,
double  value 
)

sets the index-th weight with the "value"

template<class TSample >
virtual void itk::Statistics::MixtureModelComponentBase< TSample >::Update ( ) [virtual]

Member Data Documentation

SmartPointer to the memberhip function - usually density function

Definition at line 152 of file itkMixtureModelComponentBase.h.

template<class TSample >
double itk::Statistics::MixtureModelComponentBase< TSample >::m_MinimalParametersChange [private]

Definition at line 147 of file itkMixtureModelComponentBase.h.

template<class TSample >
ParametersType itk::Statistics::MixtureModelComponentBase< TSample >::m_Parameters [private]

Definition at line 149 of file itkMixtureModelComponentBase.h.

template<class TSample >
bool itk::Statistics::MixtureModelComponentBase< TSample >::m_ParametersModified [private]

indicative flag of membership function's parameter changes

Definition at line 158 of file itkMixtureModelComponentBase.h.

template<class TSample >
const TSample* itk::Statistics::MixtureModelComponentBase< TSample >::m_Sample [private]

target sample data pointer

Definition at line 145 of file itkMixtureModelComponentBase.h.

template<class TSample >
WeightArrayType itk::Statistics::MixtureModelComponentBase< TSample >::m_Weights [private]

weights array

Definition at line 155 of file itkMixtureModelComponentBase.h.


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