Medical Imaging Interaction Toolkit  2018.4.99-b5518f0d
Medical Imaging Interaction Toolkit
mitkModelTraitsInterface.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef __MODEL_TRAITS_INTERFACE_H
14 #define __MODEL_TRAITS_INTERFACE_H
15 
16 #include "MitkModelFitExports.h"
17 
18 #include <itkArray.h>
19 #include <itkArray2D.h>
20 #include <itkObject.h>
21 
22 namespace mitk
23 {
25  {
26  public:
27 
28 
29  typedef itk::Array<double> ModelResultType;
30  using ParameterValueType = double;
31  typedef itk::Array<ParameterValueType> ParametersType;
32 
33  typedef std::string ParameterNameType;
34  typedef std::vector<ParameterNameType> ParameterNamesType;
35  typedef ParametersType::SizeValueType ParametersSizeType;
36  typedef ParameterNamesType DerivedParameterNamesType;
37  typedef ParametersSizeType DerivedParametersSizeType;
38 
39  typedef std::map<ParameterNameType, double> ParamterScaleMapType;
40  typedef std::map<ParameterNameType, std::string> ParamterUnitMapType;
41  typedef std::map<ParameterNameType, double> DerivedParamterScaleMapType;
42  typedef std::map<ParameterNameType, std::string> DerivedParamterUnitMapType;
43 
44  typedef std::string FunctionStringType;
45  typedef std::string ModellClassIDType;
46 
49  virtual ParameterNamesType GetParameterNames() const = 0;
52  virtual ParametersSizeType GetNumberOfParameters() const = 0;
53 
54  virtual ParamterScaleMapType GetParameterScales() const = 0;
55  virtual ParamterUnitMapType GetParameterUnits() const = 0;
56 
59  virtual DerivedParameterNamesType GetDerivedParameterNames() const = 0;
62  virtual DerivedParametersSizeType GetNumberOfDerivedParameters() const = 0;
63 
64  virtual DerivedParamterScaleMapType GetDerivedParameterScales() const = 0;
65  virtual DerivedParamterUnitMapType GetDerivedParameterUnits() const = 0;
66 
67  virtual std::string GetModelDisplayName() const = 0;
68 
69  virtual std::string GetModelType() const = 0;
70 
71  virtual FunctionStringType GetFunctionString() const = 0;
72 
73  virtual ModellClassIDType GetClassID() const = 0;
74 
75  virtual std::string GetXName() const = 0;
76 
77  virtual std::string GetXAxisName() const = 0;
78  virtual std::string GetXAxisUnit() const = 0;
79 
80  virtual std::string GetYAxisName() const = 0;
81  virtual std::string GetYAxisUnit() const = 0;
82 
83  protected:
85  virtual ~ModelTraitsInterface() {};
86 
87  private:
88 
89  //No copy constructor allowed
91  void operator=(const ModelTraitsInterface&); //purposely not implemented
92  };
93 }
94 
95 #endif // __MODEL_TRAITS_INTERFACE_H
itk::Array< double > ModelResultType
std::map< ParameterNameType, double > DerivedParamterScaleMapType
ParametersType::SizeValueType ParametersSizeType
std::map< ParameterNameType, double > ParamterScaleMapType
DataCollection - Class to facilitate loading/accessing structured data.
#define MITKMODELFIT_EXPORT
itk::Array< ParameterValueType > ParametersType
std::vector< ParameterNameType > ParameterNamesType
ParameterNamesType DerivedParameterNamesType
ParametersSizeType DerivedParametersSizeType
std::map< ParameterNameType, std::string > ParamterUnitMapType
std::map< ParameterNameType, std::string > DerivedParamterUnitMapType