18 #ifndef itkMixtureModelComponentBase_h
19 #define itkMixtureModelComponentBase_h
21 #include "vnl/vnl_vector.h"
22 #include "vnl/vnl_matrix.h"
55 template<
typename TSample >
82 virtual void SetSample(
const TSample *sample);
85 const TSample * GetSample()
const;
95 m_MinimalParametersChange = change;
100 return m_MinimalParametersChange;
103 virtual void SetParameters(
const ParametersType & parameters);
112 void AreParametersModified(
bool flag);
115 bool AreParametersModified();
118 void SetWeight(
unsigned int index,
double value);
121 double GetWeight(
unsigned int index)
const;
124 double Evaluate(MeasurementVectorType & measurements);
127 itkGetConstReferenceMacro(Weights, WeightArrayType);
129 virtual void Update();
134 virtual
void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
139 void SetMembershipFunction(MembershipFunctionType *function);
141 virtual
void GenerateData() = 0;
145 const TSample *m_Sample;
147 double m_MinimalParametersChange;
158 bool m_ParametersModified;
163 #ifndef ITK_MANUAL_INSTANTIATION
164 #include "itkMixtureModelComponentBase.hxx"
SmartPointer< const Self > ConstPointer
TSample::MeasurementVectorType MeasurementVectorType
MembershipFunctionBase< MeasurementVectorType > MembershipFunctionType
double GetMinimalParametersChange()
MixtureModelComponentBase Self
Array< double > WeightArrayType
MembershipFunctionBase defines common interfaces for membership functions.
Array< double > ParametersType
virtual ParametersType GetFullParameters()
Control indentation during Print() invocation.
base class for distribution modules that supports analytical way to update the distribution parameter...
TSample::MeasurementVectorSizeType MeasurementVectorSizeType
void SetMinimalParametersChange(double change)
Base class for most ITK classes.
SmartPointer< Self > Pointer