Computer Assisted Medical Intervention Tool Kit  version 5.2
Method.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * $CAMITK_LICENCE_BEGIN$
3  *
4  * CamiTK - Computer Assisted Medical Intervention ToolKit
5  * (c) 2001-2024 Univ. Grenoble Alpes, CNRS, Grenoble INP - UGA, TIMC, 38000 Grenoble, France
6  *
7  * Visit http://camitk.imag.fr for more information
8  *
9  * This file is part of CamiTK.
10  *
11  * CamiTK is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * CamiTK is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU Lesser General Public License version 3 for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public License
21  * version 3 along with CamiTK. If not, see <http://www.gnu.org/licenses/>.
22  *
23  * $CAMITK_LICENCE_END$
24  ****************************************************************************/
25 
26 
27 #ifndef STOPPINGCRITERION_STOPPINGCRITERIA_METHOD_H
28 #define STOPPINGCRITERION_STOPPINGCRITERIA_METHOD_H
29 
30 #include <vector>
31 
32 #include <MonitorIn.hxx>
33 #include <MonitoringModel.hxx>
34 
42 class Method {
43 public:
48  Method(mml::Method* m);
50  virtual ~Method() = default;
51 
53  enum ScopeType {
54  Any,
56  Sum,
57  None
58  };
62  virtual bool test(std::vector<double>& values);
66  virtual bool individualTest(double tested) = 0;
68  virtual std::string toString() = 0;
70  std::string scopeTosString();
71 
72 
73 protected:
82 };
83 
84 #endif // STOPPINGCRITERION_STOPPINGCRITERIA_METHOD_H
A Method represent how to make the boolean assessment with criteria data (a vector of double)
Definition: Method.h:42
virtual std::string toString()=0
get Method name
virtual bool individualTest(double tested)=0
return true if the double passed the test
Method(mml::Method *m)
constructor
Definition: Method.cpp:34
virtual ~Method()=default
destructor
virtual bool test(std::vector< double > &values)
return true if the vector of fouble values passed the test (see scope)
Definition: Method.cpp:56
ScopeType scope
scope of the method Any: test is true if all indivitual test are true in the values vector Average: t...
Definition: Method.h:81
std::string scopeTosString()
get a String of the scope
Definition: Method.cpp:90
ScopeType
the scope of the method
Definition: Method.h:53
@ Sum
Definition: Method.h:56
@ Any
Definition: Method.h:54
@ None
Definition: Method.h:57
@ Average
Definition: Method.h:55