00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkMaximumDecisionRule_h
00018 #define __itkMaximumDecisionRule_h
00019
00020 #include "itkWin32Header.h"
00021
00022 #include "itkDecisionRuleBase.h"
00023
00024 namespace itk{
00025
00031 class ITKCommon_EXPORT MaximumDecisionRule :
00032 public DecisionRuleBase
00033 {
00034 public:
00036 typedef MaximumDecisionRule Self ;
00037 typedef DecisionRuleBase Superclass;
00038 typedef SmartPointer<Self> Pointer;
00039 typedef SmartPointer<const Self> ConstPointer;
00040
00042 itkTypeMacro(MaximumDecisionRule, DecisionRuleBase);
00043
00045 itkNewMacro(Self) ;
00046
00048 typedef Superclass::VectorType VectorType;
00049 typedef Superclass::ArrayType ArrayType;
00050 typedef Superclass::VariableLengthVectorType VariableLengthVectorType;
00051
00052
00057 virtual unsigned int Evaluate( const VectorType &discriminantScores) const;
00058 virtual unsigned int Evaluate( const ArrayType &discriminantScores) const;
00059 virtual unsigned int Evaluate( const VariableLengthVectorType &discriminantScores) const;
00061
00062
00063 protected:
00064 MaximumDecisionRule() {}
00065 virtual ~MaximumDecisionRule() {}
00066 void PrintSelf(std::ostream& os, Indent indent) const ;
00067 } ;
00068
00069
00070
00071 }
00072
00073 #endif
00074
00075
00076
00077
00078
00079
00080
00081