Medical Imaging Interaction Toolkit  2023.04.00
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
mitkThreeStepLinearModel.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 mitkThreeStepLinearModel_h
14 #define mitkThreeStepLinearModel_h
15 
16 #include "mitkModelBase.h"
17 
19 
20 namespace mitk
21 {
22 
24  {
25 
26  public:
31 
32  typedef Superclass::ParameterNameType ParameterNameType;
33  typedef Superclass::ParametersSizeType ParametersSizeType;
34 
36  itkFactorylessNewMacro(Self);
37  itkCloneMacro(Self);
38 
41 
42  static const std::string MODEL_DISPLAY_NAME;
43  static const std::string NAME_PARAMETER_S0;
44  static const std::string NAME_PARAMETER_t1;
45  static const std::string NAME_PARAMETER_t2;
46  static const std::string NAME_PARAMETER_a1;
47  static const std::string NAME_PARAMETER_a2;
48  static const std::string NAME_PARAMETER_b1;
49  static const std::string NAME_PARAMETER_b2;
50 
51  static const std::string UNIT_PARAMETER_S0;
52  static const std::string UNIT_PARAMETER_t1;
53  static const std::string UNIT_PARAMETER_t2;
54  static const std::string UNIT_PARAMETER_a1;
55  static const std::string UNIT_PARAMETER_a2;
56  static const std::string UNIT_PARAMETER_b1;
57  static const std::string UNIT_PARAMETER_b2;
58 
59  static const unsigned int POSITION_PARAMETER_S0;
60  static const unsigned int POSITION_PARAMETER_t1;
61  static const unsigned int POSITION_PARAMETER_t2;
62  static const unsigned int POSITION_PARAMETER_a1;
63  static const unsigned int POSITION_PARAMETER_a2;
64  static const unsigned int POSITION_PARAMETER_b1;
65  static const unsigned int POSITION_PARAMETER_b2;
66 
67  static const unsigned int NUMBER_OF_PARAMETERS;
68 
69  std::string GetModelDisplayName() const override;
70 
71  std::string GetModelType() const override;
72 
73  FunctionStringType GetFunctionString() const override;
74 
75  std::string GetXName() const override;
76 
77  ParameterNamesType GetParameterNames() const override;
78 
79  ParametersSizeType GetNumberOfParameters() const override;
80 
81  ParamterUnitMapType GetParameterUnits() const override;
82 
83  ParameterNamesType GetStaticParameterNames() const override;
84 
85  ParametersSizeType GetNumberOfStaticParameters() const override;
86 
87  ParameterNamesType GetDerivedParameterNames() const override;
88 
89  ParametersSizeType GetNumberOfDerivedParameters() const override;
90 
91  ParamterUnitMapType GetDerivedParameterUnits() const override;
92 
93 
94  protected:
96  ~ThreeStepLinearModel() override{};
97 
98 
103  itk::LightObject::Pointer InternalClone() const override;
104 
105  ModelResultType ComputeModelfunction(const ParametersType& parameters) const override;
106  DerivedParameterMapType ComputeDerivedParameters(const mitk::ModelBase::ParametersType&
107  parameters) const override;
108 
109  void SetStaticParameter(const ParameterNameType& name,
110  const StaticParameterValuesType& values) override;
111  StaticParameterValuesType GetStaticParameterValue(const ParameterNameType& name) const override;
112 
113  private:
114 
115  //No copy constructor allowed
116  ThreeStepLinearModel(const Self& source);
117  void operator=(const Self&); //purposely not implemented
118 
119  };
120 }
121 
122 
123 #endif
mitk::ModelTraitsInterface::ParamterUnitMapType
std::map< ParameterNameType, std::string > ParamterUnitMapType
Definition: mitkModelTraitsInterface.h:40
MITKPHARMACOKINETICS_EXPORT
#define MITKPHARMACOKINETICS_EXPORT
Definition: MitkPharmacokineticsExports.h:15
mitk::ThreeStepLinearModel::NAME_PARAMETER_a1
static const std::string NAME_PARAMETER_a1
Definition: mitkThreeStepLinearModel.h:46
mitk::ThreeStepLinearModel::POSITION_PARAMETER_t1
static const unsigned int POSITION_PARAMETER_t1
Definition: mitkThreeStepLinearModel.h:60
mitk::ThreeStepLinearModel::Pointer
itk::SmartPointer< Self > Pointer
Definition: mitkThreeStepLinearModel.h:29
mitk::ThreeStepLinearModel::ParametersSizeType
Superclass::ParametersSizeType ParametersSizeType
Definition: mitkThreeStepLinearModel.h:33
mitk::ModelBase::ParameterNamesType
ModelTraitsInterface::ParameterNamesType ParameterNamesType
Definition: mitkModelBase.h:64
mitk::ThreeStepLinearModel::UNIT_PARAMETER_a2
static const std::string UNIT_PARAMETER_a2
Definition: mitkThreeStepLinearModel.h:55
mitk::ThreeStepLinearModel::NUMBER_OF_PARAMETERS
static const unsigned int NUMBER_OF_PARAMETERS
Definition: mitkThreeStepLinearModel.h:67
mitk::ThreeStepLinearModel::~ThreeStepLinearModel
~ThreeStepLinearModel() override
Definition: mitkThreeStepLinearModel.h:96
mitk::ThreeStepLinearModel::MODEL_DISPLAY_NAME
static const std::string MODEL_DISPLAY_NAME
Definition: mitkThreeStepLinearModel.h:40
mitk::ThreeStepLinearModel::POSITION_PARAMETER_t2
static const unsigned int POSITION_PARAMETER_t2
Definition: mitkThreeStepLinearModel.h:61
mitk::ThreeStepLinearModel::UNIT_PARAMETER_b2
static const std::string UNIT_PARAMETER_b2
Definition: mitkThreeStepLinearModel.h:57
mitk::ThreeStepLinearModel::POSITION_PARAMETER_a1
static const unsigned int POSITION_PARAMETER_a1
Definition: mitkThreeStepLinearModel.h:62
mitk::ModelBase::ParametersType
ModelTraitsInterface::ParametersType ParametersType
Definition: mitkModelBase.h:59
mitk::ThreeStepLinearModel::Self
ThreeStepLinearModel Self
Definition: mitkThreeStepLinearModel.h:27
itk::SmartPointer< Self >
mitk::ThreeStepLinearModel::ThreeStepLinearModel
ThreeStepLinearModel()
Definition: mitkThreeStepLinearModel.h:95
MitkPharmacokineticsExports.h
mitk::ThreeStepLinearModel::POSITION_PARAMETER_a2
static const unsigned int POSITION_PARAMETER_a2
Definition: mitkThreeStepLinearModel.h:63
mitk::ThreeStepLinearModel::NAME_PARAMETER_t1
static const std::string NAME_PARAMETER_t1
Definition: mitkThreeStepLinearModel.h:44
mitkModelBase.h
mitk
DataCollection - Class to facilitate loading/accessing structured data.
Definition: RenderingTests.dox:1
mitk::ThreeStepLinearModel::POSITION_PARAMETER_b1
static const unsigned int POSITION_PARAMETER_b1
Definition: mitkThreeStepLinearModel.h:64
mitk::ThreeStepLinearModel::UNIT_PARAMETER_S0
static const std::string UNIT_PARAMETER_S0
Definition: mitkThreeStepLinearModel.h:51
mitk::ThreeStepLinearModel::Superclass
mitk::ModelBase Superclass
Definition: mitkThreeStepLinearModel.h:28
mitk::ThreeStepLinearModel::NAME_PARAMETER_S0
static const std::string NAME_PARAMETER_S0
Definition: mitkThreeStepLinearModel.h:43
mitk::ThreeStepLinearModel
Definition: mitkThreeStepLinearModel.h:23
mitk::ThreeStepLinearModel::UNIT_PARAMETER_t1
static const std::string UNIT_PARAMETER_t1
Definition: mitkThreeStepLinearModel.h:52
mitk::ThreeStepLinearModel::UNIT_PARAMETER_a1
static const std::string UNIT_PARAMETER_a1
Definition: mitkThreeStepLinearModel.h:54
mitk::ThreeStepLinearModel::NAME_PARAMETER_t2
static const std::string NAME_PARAMETER_t2
Definition: mitkThreeStepLinearModel.h:45
mitk::ThreeStepLinearModel::NAME_PARAMETER_a2
static const std::string NAME_PARAMETER_a2
Definition: mitkThreeStepLinearModel.h:47
mitk::ThreeStepLinearModel::ParameterNameType
Superclass::ParameterNameType ParameterNameType
Definition: mitkThreeStepLinearModel.h:32
mitk::ModelTraitsInterface::FunctionStringType
std::string FunctionStringType
Definition: mitkModelTraitsInterface.h:44
mitk::ThreeStepLinearModel::POSITION_PARAMETER_S0
static const unsigned int POSITION_PARAMETER_S0
Definition: mitkThreeStepLinearModel.h:59
mitk::ThreeStepLinearModel::POSITION_PARAMETER_b2
static const unsigned int POSITION_PARAMETER_b2
Definition: mitkThreeStepLinearModel.h:65
mitk::ThreeStepLinearModel::NAME_PARAMETER_b1
static const std::string NAME_PARAMETER_b1
Definition: mitkThreeStepLinearModel.h:48
mitk::ModelBase::ParametersSizeType
ModelTraitsInterface::ParametersSizeType ParametersSizeType
Definition: mitkModelBase.h:65
mitk::ThreeStepLinearModel::UNIT_PARAMETER_b1
static const std::string UNIT_PARAMETER_b1
Definition: mitkThreeStepLinearModel.h:56
mitk::ThreeStepLinearModel::UNIT_PARAMETER_t2
static const std::string UNIT_PARAMETER_t2
Definition: mitkThreeStepLinearModel.h:53
mitk::ThreeStepLinearModel::ConstPointer
itk::SmartPointer< const Self > ConstPointer
Definition: mitkThreeStepLinearModel.h:30
mitk::ThreeStepLinearModel::NAME_PARAMETER_b2
static const std::string NAME_PARAMETER_b2
Definition: mitkThreeStepLinearModel.h:49
mitk::ModelBase
Base class for (dynamic) models. A model can be used to calculate its signal given the discrete time ...
Definition: mitkModelBase.h:47