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;
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();
174 #ifndef OTB_MANUAL_INSTANTIATION
base class for distribution representation that supports analytical way to update the distribution pa...
MembershipFunctionType * m_PdfFunction
ParametersType m_Parameters
itk::Array< double > ParametersType
TSample::MeasurementVectorSizeType MeasurementVectorSizeType
void operator=(const Self &)=delete
~ModelComponentBase() override
itk::SmartPointer< const Self > ConstPointer
double Evaluate(MeasurementVectorType &measurements)
MembershipFunctionType * m_CdfFunction
TSample::MeasurementVectorType MeasurementVectorType
ParametersType GetParameters()
itk::SmartPointer< Self > Pointer
ModelComponentBase(const Self &)=delete
itk::Statistics::MembershipFunctionBase< MeasurementVectorType > MembershipFunctionType
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.