ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkDistanceToCentroidMembershipFunction.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright NumFOCUS
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * https://www.apache.org/licenses/LICENSE-2.0.txt
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *=========================================================================*/
18#ifndef itkDistanceToCentroidMembershipFunction_h
19#define itkDistanceToCentroidMembershipFunction_h
20
22#include "itkDistanceMetric.h"
23
24namespace itk::Statistics
25{
42template <typename TVector>
43class ITK_TEMPLATE_EXPORT DistanceToCentroidMembershipFunction : public MembershipFunctionBase<TVector>
44{
45public:
46 ITK_DISALLOW_COPY_AND_MOVE(DistanceToCentroidMembershipFunction);
47
53
56 itkOverrideGetNameOfClassMacro(DistanceToCentroidMembershipFunction);
57 itkNewMacro(Self);
61
63 using MeasurementVectorType = TVector;
64
67
70
75
78
80 itkGetModifiableObjectMacro(DistanceMetric, DistanceMetricType);
81
85
87 void
88 SetCentroid(const CentroidType & centroid);
89
91 const CentroidType &
92 GetCentroid() const;
93
97 double
98 Evaluate(const MeasurementVectorType & measurement) const override;
99
100protected:
103 void
104 PrintSelf(std::ostream & os, Indent indent) const override;
105
107 [[nodiscard]] typename LightObject::Pointer
108 InternalClone() const override;
109
110private:
112};
113} // namespace itk::Statistics
114
115#ifndef ITK_MANUAL_INSTANTIATION
116# include "itkDistanceToCentroidMembershipFunction.hxx"
117#endif
118
119#endif
Control indentation during Print() invocation.
Definition itkIndent.h:50
SmartPointer< Self > Pointer
Implements transparent reference counting.
this class declares common interfaces for distance functions.
void SetMeasurementVectorSize(MeasurementVectorSizeType) override
void SetCentroid(const CentroidType &centroid)
LightObject::Pointer InternalClone() const override
double Evaluate(const MeasurementVectorType &measurement) const override
void PrintSelf(std::ostream &os, Indent indent) const override