Medical Imaging Interaction Toolkit  2023.04.00
Medical Imaging Interaction Toolkit
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