18 #ifndef itkExpectationMaximizationMixtureModelEstimator_h
19 #define itkExpectationMaximizationMixtureModelEstimator_h
60 template<
typename TSample >
111 void SetSample(
const TSample *sample);
114 const TSample * GetSample()
const;
138 void SetMaximumIteration(
int numberOfIterations);
140 int GetMaximumIteration()
const;
145 return m_CurrentIteration;
149 int AddComponent(ComponentType *component);
152 unsigned int GetNumberOfComponents()
const;
161 TERMINATION_CODE GetTerminationCode()
const;
165 ComponentMembershipFunctionType * GetComponentMembershipFunction(
int componentIndex)
const;
169 const MembershipFunctionVectorObjectType * GetOutput()
const;
174 virtual void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
176 bool CalculateDensities();
178 double CalculateExpectation()
const;
180 bool UpdateComponentParameters();
182 bool UpdateProportions();
205 #ifndef ITK_MANUAL_INSTANTIATION
206 #include "itkExpectationMaximizationMixtureModelEstimator.hxx"
SimpleDataObjectDecorator< MembershipFunctionVectorType > MembershipFunctionVectorObjectType
MembershipFunctionType::ConstPointer MembershipFunctionPointer
Light weight base class for most itk classes.
std::vector< ComponentType * > ComponentVectorType
GaussianMembershipFunctionType::Pointer GaussianMembershipFunctionPointer
std::vector< MembershipFunctionPointer > MembershipFunctionVectorType
GaussianMembershipFunction< MeasurementVectorType > GaussianMembershipFunctionType
int GetCurrentIteration()
MembershipFunctionBase< MeasurementVectorType > ComponentMembershipFunctionType
SimpleDataObjectDecorator< ProportionVectorType > MembershipFunctionsWeightsArrayObjectType
TSample::MeasurementVectorType MeasurementVectorType
MembershipFunctionsWeightsArrayObjectType::Pointer MembershipFunctionsWeightsArrayPointer
MembershipFunctionVectorObjectType::Pointer MembershipFunctionVectorObjectPointer
Decorates any "simple" data type (data types without smart pointers) with a DataObject API...
GaussianMembershipFunction models class membership through a multivariate Gaussian function...
MembershipFunctionBase defines common interfaces for membership functions.
TERMINATION_CODE m_TerminationCode
ProportionVectorType m_InitialProportions
SmartPointer< const Self > ConstPointer
MembershipFunctionVectorObjectPointer m_MembershipFunctionsObject
MixtureModelComponentBase< TSample > ComponentType
ExpectationMaximizationMixtureModelEstimator Self
ComponentVectorType m_ComponentVector
Control indentation during Print() invocation.
TSample::MeasurementType MeasurementType
ProportionVectorType m_Proportions
base class for distribution modules that supports analytical way to update the distribution parameter...
MembershipFunctionsWeightsArrayPointer m_MembershipFunctionsWeightArrayObject
virtual ~ExpectationMaximizationMixtureModelEstimator() override
This class generates the parameter estimates for a mixture model using expectation maximization strat...
Array< double > ProportionVectorType
Base class for most ITK classes.
MembershipFunctionBase< MeasurementVectorType > MembershipFunctionType
SmartPointer< Self > Pointer