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);
118 void SetWeight(
unsigned int index,
double value);
121 double GetWeight(
unsigned int index)
const;
134 virtual void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
163 #ifndef ITK_MANUAL_INSTANTIATION
164 #include "itkMixtureModelComponentBase.hxx"
double GetWeight(unsigned int index) const
MixtureModelComponentBase()
MembershipFunctionType * GetMembershipFunction()
void SetMembershipFunction(MembershipFunctionType *function)
virtual void PrintSelf(std::ostream &os, Indent indent) const ITK_OVERRIDE
SmartPointer< const Self > ConstPointer
bool m_ParametersModified
TSample::MeasurementVectorType MeasurementVectorType
virtual void SetParameters(const ParametersType ¶meters)
MembershipFunctionType * m_MembershipFunction
MembershipFunctionBase< MeasurementVectorType > MembershipFunctionType
double Evaluate(MeasurementVectorType &measurements)
bool AreParametersModified()
virtual void GenerateData()=0
double GetMinimalParametersChange()
MixtureModelComponentBase Self
const TSample * GetSample() const
Array< double > WeightArrayType
MembershipFunctionBase defines common interfaces for membership functions.
Array< double > ParametersType
virtual void SetSample(const TSample *sample)
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...
virtual ~MixtureModelComponentBase()
TSample::MeasurementVectorSizeType MeasurementVectorSizeType
void SetMinimalParametersChange(double change)
Base class for most ITK classes.
SmartPointer< Self > Pointer
void SetWeight(unsigned int index, double value)