22 #ifndef otbModelComponentBase_h
23 #define otbModelComponentBase_h
25 #include <vnl/vnl_vector.h>
26 #include <vnl/vnl_matrix.h>
28 #include "itkObject.h"
30 #include "itkMembershipFunctionBase.h"
64 template <
class TSample>
88 virtual void SetSample(
const TSample* sample);
91 const TSample* GetSample()
const;
117 double Evaluate(MeasurementVectorType& measurements);
118 double Pdf(MeasurementVectorType& measurements);
122 double Cdf(MeasurementVectorType& measurements);
126 virtual void Update();
129 virtual void ShowParameters(std::ostream& os, itk::Indent indent)
const;
138 void PrintSelf(std::ostream& os, itk::Indent indent)
const override;
140 virtual void GenerateData();
145 void SetPdfMembershipFunction(MembershipFunctionType*
function);
148 int IsSampleModified();
155 void operator=(
const Self&) =
delete;
174 #ifndef OTB_MANUAL_INSTANTIATION