18 #ifndef itkMixtureModelComponentBase_h
19 #define itkMixtureModelComponentBase_h
21 #include "vnl/vnl_vector.h"
22 #include "vnl/vnl_matrix.h"
55 template<
typename TSample >
81 virtual void SetSample(
const TSample *sample);
84 const TSample * GetSample()
const;
94 m_MinimalParametersChange = change;
99 return m_MinimalParametersChange;
102 virtual void SetParameters(
const ParametersType & parameters);
111 void AreParametersModified(
bool flag);
114 bool AreParametersModified();
117 void SetWeight(
unsigned int index,
double value);
120 double GetWeight(
unsigned int index)
const;
123 double Evaluate(MeasurementVectorType & measurements);
126 itkGetConstReferenceMacro(Weights, WeightArrayType);
128 virtual void Update();
133 void PrintSelf(std::ostream & os,
Indent indent)
const override;
138 void SetMembershipFunction(MembershipFunctionType *
function);
140 virtual void GenerateData() = 0;
162 #ifndef ITK_MANUAL_INSTANTIATION
163 #include "itkMixtureModelComponentBase.hxx"
typename TSample::MeasurementVectorType MeasurementVectorType
Light weight base class for most itk classes.
bool m_ParametersModified
MembershipFunctionType * m_MembershipFunction
double GetMinimalParametersChange()
MembershipFunctionBase defines common interfaces for membership functions.
double m_MinimalParametersChange
virtual ParametersType GetFullParameters()
ParametersType m_Parameters
WeightArrayType m_Weights
Control indentation during Print() invocation.
base class for distribution modules that supports analytical way to update the distribution parameter...
typename TSample::MeasurementVectorSizeType MeasurementVectorSizeType
void SetMinimalParametersChange(double change)
Base class for most ITK classes.