#include <itkExpectationMaximizationMixtureModelEstimator.h>
Inheritance diagram for itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >:
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.
Recent API changes: The static const macro to get the length of a measurement vector, MeasurementVectorSize
has been removed to allow the length of a measurement vector to be specified at run time. It is now obtained at run time from the sample set as input. Please use the function GetMeasurementVectorSize() to get the length.
Definition at line 53 of file itkExpectationMaximizationMixtureModelEstimator.h.
typedef MembershipFunctionBase< MeasurementVectorType > itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::ComponentMembershipFunctionType |
Type of the membership function base class
Definition at line 80 of file itkExpectationMaximizationMixtureModelEstimator.h.
typedef MixtureModelComponentBase< TSample > itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::ComponentType |
Type of the mixture model component base class
Definition at line 73 of file itkExpectationMaximizationMixtureModelEstimator.h.
typedef std::vector< ComponentType* > itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::ComponentVectorType |
Type of the component pointer storage
Definition at line 76 of file itkExpectationMaximizationMixtureModelEstimator.h.
typedef SmartPointer<const Self> itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::ConstPointer |
Reimplemented from itk::Object.
Definition at line 60 of file itkExpectationMaximizationMixtureModelEstimator.h.
typedef TSample::MeasurementType itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::MeasurementType |
TSample template argument related typedefs
Definition at line 65 of file itkExpectationMaximizationMixtureModelEstimator.h.
typedef TSample::MeasurementVectorType itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::MeasurementVectorType |
Definition at line 70 of file itkExpectationMaximizationMixtureModelEstimator.h.
typedef SmartPointer< Self > itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::Pointer |
Reimplemented from itk::Object.
Definition at line 59 of file itkExpectationMaximizationMixtureModelEstimator.h.
typedef Array< double > itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::ProportionVectorType |
Type of the array of the proportion values
Definition at line 83 of file itkExpectationMaximizationMixtureModelEstimator.h.
typedef ExpectationMaximizationMixtureModelEstimator itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::Self |
Standard class typedef
Reimplemented from itk::Object.
Definition at line 57 of file itkExpectationMaximizationMixtureModelEstimator.h.
typedef Object itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::Superclass |
Reimplemented from itk::Object.
Definition at line 58 of file itkExpectationMaximizationMixtureModelEstimator.h.
enum itk::Statistics::ExpectationMaximizationMixtureModelEstimator::TERMINATION_CODE |
Termination status after running optimization
Definition at line 122 of file itkExpectationMaximizationMixtureModelEstimator.h.
itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::ExpectationMaximizationMixtureModelEstimator | ( | ) | [protected] |
virtual itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::~ExpectationMaximizationMixtureModelEstimator | ( | ) | [inline, protected, virtual] |
Definition at line 133 of file itkExpectationMaximizationMixtureModelEstimator.h.
int itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::AddComponent | ( | ComponentType * | component | ) |
Adds a new component (or class).
unsigned long itk::Object::AddObserver | ( | const EventObject & | event, | |
Command * | ||||
) | const [inherited] |
unsigned long itk::Object::AddObserver | ( | const EventObject & | event, | |
Command * | ||||
) | [inherited] |
Allow people to add/remove/invoke observers (callbacks) to any ITK object. This is an implementation of the subject/observer design pattern. An observer is added by specifying an event to respond to and an itk::Command to execute. It returns an unsigned long tag which can be used later to remove the event or retrieve the command. The memory for the Command becomes the responsibility of this object, so don't pass the same instance of a command to two different objects
static void itk::LightObject::BreakOnError | ( | ) | [static, inherited] |
This method is called when itkExceptionMacro executes. It allows the debugger to break on error.
bool itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::CalculateDensities | ( | ) | [protected] |
double itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::CalculateExpectation | ( | ) | [protected] |
virtual LightObject::Pointer itk::Object::CreateAnother | ( | ) | const [virtual, inherited] |
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::LightObject.
virtual void itk::Object::DebugOff | ( | ) | const [virtual, inherited] |
Turn debugging output off.
virtual void itk::Object::DebugOn | ( | ) | const [virtual, inherited] |
Turn debugging output on.
virtual void itk::LightObject::Delete | ( | ) | [virtual, inherited] |
Delete an itk object. This method should always be used to delete an object when the new operator was used to create it. Using the C delete method will not work with reference counting.
void itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::GenerateData | ( | ) | [protected] |
Starts the estimation process
Command* itk::Object::GetCommand | ( | unsigned long | tag | ) | [inherited] |
Get the command associated with the given tag. NOTE: This returns a pointer to a Command, but it is safe to asign this to a Command::Pointer. Since Command inherits from LightObject, at this point in the code, only a pointer or a reference to the Command can be used.
ComponentMembershipFunctionType* itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::GetComponentMembershipFunction | ( | int | componentIndex | ) |
Gets the membership function specified by componentIndex argument.
int itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::GetCurrentIteration | ( | ) | [inline] |
Gets the current iteration.
Definition at line 109 of file itkExpectationMaximizationMixtureModelEstimator.h.
bool itk::Object::GetDebug | ( | ) | const [inherited] |
Get the value of the debug flag.
static bool itk::Object::GetGlobalWarningDisplay | ( | ) | [static, inherited] |
ProportionVectorType* itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::GetInitialProportions | ( | ) |
int itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::GetMaximumIteration | ( | ) |
const MetaDataDictionary& itk::Object::GetMetaDataDictionary | ( | void | ) | const [inherited] |
MetaDataDictionary& itk::Object::GetMetaDataDictionary | ( | void | ) | [inherited] |
virtual unsigned long itk::Object::GetMTime | ( | ) | const [virtual, inherited] |
Return this objects modified time.
Reimplemented in itk::ImageRegistrationMethod< TFixedImage, TMovingImage >, itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >, itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >, itk::PointSetToImageRegistrationMethod< TFixedPointSet, TMovingImage >, itk::PointSetToPointSetRegistrationMethod< TFixedPointSet, TMovingPointSet >, itk::DeformationFieldSource< TOutputImage >, itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >, itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::VectorResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::BoundingBox< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >, itk::ImageAdaptor< TImage, TAccessor >, itk::ImageSpatialObject< TDimension, TPixelType >, itk::MeshSpatialObject< TMesh >, itk::SceneSpatialObject< TSpaceDimension >, itk::SpatialObject< TDimension >, itk::ImageAdaptor< TImage, itk::Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::AddPixelAccessor< TImage::PixelType > >, itk::ImageAdaptor< itk::VectorImage< TPixelType, Dimension >, itk::Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, itk::PixelAccessor< TInternalType, TExternalType > >, itk::ImageAdaptor< TImage, itk::Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, itk::Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageSpatialObject< TDimension, unsigned char >, itk::SpatialObject< 3 >, and itk::SpatialObject< ::itk::GetMeshDimension< TMesh >::PointDimension >.
Referenced by itk::SpatialObject< ::itk::GetMeshDimension< TMesh >::PointDimension >::GetObjectMTime().
virtual const char* itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::GetNameOfClass | ( | ) | const [virtual] |
Standard macros
Reimplemented from itk::Object.
unsigned int itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::GetNumberOfComponents | ( | ) |
Gets the total number of classes currently plugged in.
ProportionVectorType* itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::GetProportions | ( | ) |
Gets the result proportion values
virtual int itk::LightObject::GetReferenceCount | ( | ) | const [inline, virtual, inherited] |
Gets the reference count on this object.
Definition at line 98 of file itkLightObject.h.
const TSample* itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::GetSample | ( | ) | const |
Returns the target data
TERMINATION_CODE itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::GetTerminationCode | ( | ) |
Gets the termination status
static void itk::Object::GlobalWarningDisplayOff | ( | ) | [inline, static, inherited] |
static void itk::Object::GlobalWarningDisplayOn | ( | ) | [inline, static, inherited] |
bool itk::Object::HasObserver | ( | const EventObject & | event | ) | const [inherited] |
Return true if an observer is registered for this event.
void itk::Object::InvokeEvent | ( | const EventObject & | ) | const [inherited] |
Call Execute on all the Commands observing this event id. The actions triggered by this call doesn't modify this object.
void itk::Object::InvokeEvent | ( | const EventObject & | ) | [inherited] |
Call Execute on all the Commands observing this event id.
virtual void itk::Object::Modified | ( | ) | const [virtual, inherited] |
Update the modification time for this object. Many filters rely on the modification time to determine if they need to recompute their data.
Reimplemented in itk::NormalizeImageFilter< TInputImage, TOutputImage >, itk::ImageAdaptor< TImage, TAccessor >, itk::ImageAdaptor< TImage, itk::Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::AddPixelAccessor< TImage::PixelType > >, itk::ImageAdaptor< itk::VectorImage< TPixelType, Dimension >, itk::Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, itk::PixelAccessor< TInternalType, TExternalType > >, itk::ImageAdaptor< TImage, itk::Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, itk::Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, itk::Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, and itk::ImageAdaptor< TImage, itk::Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >.
Referenced by itk::NarrowBandImageFilterBase< TInputImage, itk::Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::InsertNarrowBandNode(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetCenter(), itk::HistogramAlgorithmBase< TInputHistogram >::SetInputHistogram(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetMatrix(), itk::NarrowBandImageFilterBase< TInputImage, itk::Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::SetNarrowBand(), itk::NarrowBandImageFilterBase< TInputImage, itk::Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::SetNarrowBandInnerRadius(), itk::NarrowBandImageFilterBase< TInputImage, itk::Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::SetNarrowBandTotalRadius(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetOffset(), itk::ThresholdLabelerImageFilter< TInputImage, TOutputImage >::SetRealThresholds(), itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::SetSeedPoints1(), itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::SetSeedPoints2(), itk::NonUniformBSpline< TDimension >::SetSplineOrder(), itk::ThresholdLabelerImageFilter< TInputImage, TOutputImage >::SetThresholds(), itk::Statistics::GoodnessOfFitFunctionBase< TInputHistogram >::SetTotalObservedScale(), and itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetTranslation().
static Pointer itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::New | ( | ) | [static] |
Standard macros
Reimplemented from itk::Object.
void itk::LightObject::Print | ( | std::ostream & | os, | |
Indent | indent = 0 | |||
) | const [inherited] |
Cause the object to print itself out.
Referenced by itk::WeakPointer< itk::ProcessObject >::Print().
virtual void itk::LightObject::PrintHeader | ( | std::ostream & | os, | |
Indent | indent | |||
) | const [protected, virtual, inherited] |
bool itk::Object::PrintObservers | ( | std::ostream & | os, | |
Indent | indent | |||
) | const [protected, inherited] |
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.
virtual void itk::LightObject::PrintTrailer | ( | std::ostream & | os, | |
Indent | indent | |||
) | const [protected, virtual, inherited] |
virtual void itk::Object::Register | ( | ) | const [virtual, inherited] |
Increase the reference count (mark as used by another object).
Reimplemented from itk::LightObject.
void itk::Object::RemoveAllObservers | ( | ) | [inherited] |
Remove all observers .
void itk::Object::RemoveObserver | ( | unsigned long | tag | ) | [inherited] |
Remove the observer with this tag value.
void itk::Object::SetDebug | ( | bool | debugFlag | ) | const [inherited] |
Set the value of the debug flag. A non-zero value turns debugging on.
static void itk::Object::SetGlobalWarningDisplay | ( | bool | flag | ) | [static, inherited] |
This is a global flag that controls whether any debug, warning or error messages are displayed.
Referenced by itk::Object::GlobalWarningDisplayOff(), and itk::Object::GlobalWarningDisplayOn().
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)
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.
void itk::Object::SetMetaDataDictionary | ( | const MetaDataDictionary & | rhs | ) | [inherited] |
virtual void itk::Object::SetReferenceCount | ( | int | ) | [virtual, inherited] |
Sets the reference count (use with care)
Reimplemented from itk::LightObject.
void itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::SetSample | ( | const TSample * | sample | ) |
Sets the target data that will be classified by this
virtual void itk::Object::UnRegister | ( | ) | const [virtual, inherited] |
Decrease the reference count (release by another object).
Reimplemented from itk::LightObject.
void itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::Update | ( | ) |
Runs the optimization process.
bool itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::UpdateComponentParameters | ( | ) | [protected] |
bool itk::Statistics::ExpectationMaximizationMixtureModelEstimator< TSample >::UpdateProportions | ( | ) | [protected] |
int itk::LightObject::m_ReferenceCount [mutable, protected, inherited] |
Number of uses of this object by other objects.
Definition at line 119 of file itkLightObject.h.
SimpleFastMutexLock itk::LightObject::m_ReferenceCountLock [mutable, protected, inherited] |
Mutex lock to protect modification to the reference count
Definition at line 122 of file itkLightObject.h.