18 #ifndef itkExpectationMaximizationMixtureModelEstimator_h
19 #define itkExpectationMaximizationMixtureModelEstimator_h
60 template<
typename TSample >
106 void SetSample(
const TSample *sample);
109 const TSample * GetSample()
const;
131 void SetMaximumIteration(
int numberOfIterations);
133 int GetMaximumIteration()
const;
138 return m_CurrentIteration;
142 int AddComponent(ComponentType *component);
145 unsigned int GetNumberOfComponents()
const;
154 TERMINATION_CODE GetTerminationCode()
const;
158 ComponentMembershipFunctionType * GetComponentMembershipFunction(
int componentIndex)
const;
162 const MembershipFunctionVectorObjectType * GetOutput()
const;
167 void PrintSelf(std::ostream & os,
Indent indent)
const override;
169 bool CalculateDensities();
171 double CalculateExpectation()
const;
173 bool UpdateComponentParameters();
175 bool UpdateProportions();
184 int m_MaxIteration{100};
185 int m_CurrentIteration{0};
198 #ifndef ITK_MANUAL_INSTANTIATION
199 #include "itkExpectationMaximizationMixtureModelEstimator.hxx"
std::vector< ComponentType * > ComponentVectorType
Light weight base class for most itk classes.
typename TSample::MeasurementType MeasurementType
typename TSample::MeasurementVectorType MeasurementVectorType
std::vector< MembershipFunctionPointer > MembershipFunctionVectorType
int GetCurrentIteration()
typename 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...
typename GaussianMembershipFunctionType::Pointer GaussianMembershipFunctionPointer
MembershipFunctionBase defines common interfaces for membership functions.
TERMINATION_CODE m_TerminationCode
ProportionVectorType m_InitialProportions
typename MembershipFunctionType::ConstPointer MembershipFunctionPointer
typename MembershipFunctionsWeightsArrayObjectType::Pointer MembershipFunctionsWeightsArrayPointer
MembershipFunctionVectorObjectPointer m_MembershipFunctionsObject
ComponentVectorType m_ComponentVector
Control indentation during Print() invocation.
ProportionVectorType m_Proportions
base class for distribution modules that supports analytical way to update the distribution parameter...
MembershipFunctionsWeightsArrayPointer m_MembershipFunctionsWeightArrayObject
This class generates the parameter estimates for a mixture model using expectation maximization strat...
Base class for most ITK classes.