Medical Imaging Interaction Toolkit  2025.12.02
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 mitkModelTraitsInterface_h
14 #define mitkModelTraitsInterface_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;
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 
53 
56 
63 
66 
67  virtual std::string GetModelDisplayName() const = 0;
68 
69  virtual std::string GetModelType() const = 0;
70 
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
#define MITKMODELFIT_EXPORT
std::map< ParameterNameType, double > ParamterScaleMapType
virtual std::string GetYAxisUnit() const =0
virtual std::string GetModelType() const =0
virtual DerivedParametersSizeType GetNumberOfDerivedParameters() const =0
virtual std::string GetYAxisName() const =0
ParametersType::SizeValueType ParametersSizeType
itk::Array< double > ModelResultType
ParametersSizeType DerivedParametersSizeType
virtual ParametersSizeType GetNumberOfParameters() const =0
std::map< ParameterNameType, std::string > ParamterUnitMapType
virtual std::string GetModelDisplayName() const =0
virtual DerivedParameterNamesType GetDerivedParameterNames() const =0
virtual ModellClassIDType GetClassID() const =0
virtual std::string GetXName() const =0
virtual ParamterUnitMapType GetParameterUnits() const =0
virtual ParamterScaleMapType GetParameterScales() const =0
virtual FunctionStringType GetFunctionString() const =0
virtual DerivedParamterScaleMapType GetDerivedParameterScales() const =0
itk::Array< ParameterValueType > ParametersType
std::map< ParameterNameType, std::string > DerivedParamterUnitMapType
virtual std::string GetXAxisUnit() const =0
std::map< ParameterNameType, double > DerivedParamterScaleMapType
virtual std::string GetXAxisName() const =0
ParameterNamesType DerivedParameterNamesType
virtual ParameterNamesType GetParameterNames() const =0
virtual DerivedParamterUnitMapType GetDerivedParameterUnits() const =0
std::vector< ParameterNameType > ParameterNamesType
Find image slices visible on a given plane.