ITK  6.0.0
Insight Toolkit
itkDecisionRule.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 itkDecisionRule_h
19#define itkDecisionRule_h
20
21#include <vector>
22#include "vnl/vnl_matrix.h"
23#include "itkObject.h"
24#include "itkObjectFactory.h"
25#include "itkArray.h"
26#include "ITKStatisticsExport.h"
27
28namespace itk
29{
30namespace Statistics
31{
48class ITKStatistics_EXPORT DecisionRule : public Object
49{
50public:
51 ITK_DISALLOW_COPY_AND_MOVE(DecisionRule);
52
58
60 itkOverrideGetNameOfClassMacro(DecisionRule);
61
63 using MembershipValueType = double;
64 using MembershipVectorType = std::vector<MembershipValueType>;
65
67 using ClassIdentifierType = MembershipVectorType::size_type;
68
75 Evaluate(const MembershipVectorType & discriminantScores) const = 0;
76
77protected:
79 ~DecisionRule() override;
80}; // end of class
81} // end of namespace Statistics
82} // end of namespace itk
83
84#endif
Light weight base class for most itk classes.
Base class for most ITK classes.
Definition: itkObject.h:62
Base class for decision rules that return a class label based on a set of discriminant scores.
virtual ClassIdentifierType Evaluate(const MembershipVectorType &discriminantScores) const =0
MembershipVectorType::size_type ClassIdentifierType
std::vector< MembershipValueType > MembershipVectorType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....