18#ifndef itkMembershipFunctionBase_h
19#define itkMembershipFunctionBase_h
57template <
typename TVector>
95 if (MeasurementVectorTraits::IsResizable<MeasurementVectorType>({}))
100 if (s == this->m_MeasurementVectorSize)
106 this->m_MeasurementVectorSize = s;
116 if (defaultLength != s)
118 itkExceptionMacro(
"Attempting to change the measurement vector size of a non-resizable vector type");
138 Superclass::PrintSelf(os, indent);
139 os << indent <<
"Length of measurement vectors: " << m_MeasurementVectorSize << std::endl;
Base class for all ITK function objects.
Control indentation during Print() invocation.
Light weight base class for most itk classes.
static unsigned int GetLength()
MembershipFunctionBase defines common interfaces for membership functions.
double Evaluate(const MeasurementVectorType &x) const override=0
~MembershipFunctionBase() override=default
unsigned int MeasurementVectorSizeType
virtual void SetMeasurementVectorSize(MeasurementVectorSizeType s)
TVector MeasurementVectorType
void PrintSelf(std::ostream &os, Indent indent) const override
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....