Medical Imaging Interaction Toolkit  2023.04.00
Medical Imaging Interaction Toolkit
mitkNumericTwoCompartmentExchangeModel.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 mitkNumericTwoCompartmentExchangeModel_h
14 #define mitkNumericTwoCompartmentExchangeModel_h
15 
16 #include "mitkAIFBasedModelBase.h"
18 
19 
20 namespace mitk
21 {
40  {
41 
42  public:
47 
48 
50  itkFactorylessNewMacro(Self);
51  itkCloneMacro(Self);
52 
55 
56  typedef std::vector<double> state_type;
57 
58 
59  static const std::string MODEL_DISPLAY_NAME;
60 
61  static const std::string NAME_PARAMETER_F;
62  static const std::string NAME_PARAMETER_PS;
63  static const std::string NAME_PARAMETER_ve;
64  static const std::string NAME_PARAMETER_vp;
65  static const std::string NAME_STATIC_PARAMETER_ODEINTStepSize;
66 
67  static const std::string UNIT_PARAMETER_F;
68  static const std::string UNIT_PARAMETER_PS;
69  static const std::string UNIT_PARAMETER_ve;
70  static const std::string UNIT_PARAMETER_vp;
71 
72  static const unsigned int POSITION_PARAMETER_F;
73  static const unsigned int POSITION_PARAMETER_PS;
74  static const unsigned int POSITION_PARAMETER_ve;
75  static const unsigned int POSITION_PARAMETER_vp;
76 
77  static const unsigned int NUMBER_OF_PARAMETERS;
78 
79  std::string GetModelDisplayName() const override;
80 
81  std::string GetModelType() const override;
82 
83  itkGetConstReferenceMacro(ODEINTStepSize, double);
84  itkSetMacro(ODEINTStepSize, double);
85 
86 
87  ParameterNamesType GetParameterNames() const override;
88  ParametersSizeType GetNumberOfParameters() const override;
89 
90  ParamterUnitMapType GetParameterUnits() const override;
91 
92  ParameterNamesType GetStaticParameterNames() const override;
93  ParametersSizeType GetNumberOfStaticParameters() const override;
94 
95 
96  protected:
99 
104  itk::LightObject::Pointer InternalClone() const override;
105 
106  ModelResultType ComputeModelfunction(const ParametersType& parameters) const override;
107 
108  void SetStaticParameter(const ParameterNameType& name, const StaticParameterValuesType& values) override;
109  StaticParameterValuesType GetStaticParameterValue(const ParameterNameType& name) const override;
110 
111  void PrintSelf(std::ostream& os, ::itk::Indent indent) const override;
112 
113  private:
114 
115 
116 
117  //No copy constructor allowed
119  void operator=(const Self&); //purposely not implemented
120 
121  double m_ODEINTStepSize;
122 
123 
124 
125  };
126 }
127 
128 #endif
mitk::NumericTwoCompartmentExchangeModel::POSITION_PARAMETER_vp
static const unsigned int POSITION_PARAMETER_vp
Definition: mitkNumericTwoCompartmentExchangeModel.h:75
mitk::ModelTraitsInterface::ParamterUnitMapType
std::map< ParameterNameType, std::string > ParamterUnitMapType
Definition: mitkModelTraitsInterface.h:40
MITKPHARMACOKINETICS_EXPORT
#define MITKPHARMACOKINETICS_EXPORT
Definition: MitkPharmacokineticsExports.h:15
mitk::NumericTwoCompartmentExchangeModel::NAME_STATIC_PARAMETER_ODEINTStepSize
static const std::string NAME_STATIC_PARAMETER_ODEINTStepSize
Definition: mitkNumericTwoCompartmentExchangeModel.h:65
mitk::ModelBase::ParameterNamesType
ModelTraitsInterface::ParameterNamesType ParameterNamesType
Definition: mitkModelBase.h:64
mitk::NumericTwoCompartmentExchangeModel::UNIT_PARAMETER_ve
static const std::string UNIT_PARAMETER_ve
Definition: mitkNumericTwoCompartmentExchangeModel.h:69
mitk::ModelBase::ModelResultType
ModelTraitsInterface::ModelResultType ModelResultType
Definition: mitkModelBase.h:55
mitkAIFBasedModelBase.h
mitk::NumericTwoCompartmentExchangeModel::POSITION_PARAMETER_ve
static const unsigned int POSITION_PARAMETER_ve
Definition: mitkNumericTwoCompartmentExchangeModel.h:74
mitk::NumericTwoCompartmentExchangeModel::UNIT_PARAMETER_F
static const std::string UNIT_PARAMETER_F
Definition: mitkNumericTwoCompartmentExchangeModel.h:67
mitk::ModelBase::StaticParameterValuesType
std::vector< StaticParameterValueType > StaticParameterValuesType
Definition: mitkModelBase.h:71
mitk::ModelBase::ParameterNameType
ModelTraitsInterface::ParameterNameType ParameterNameType
Definition: mitkModelBase.h:63
mitk::NumericTwoCompartmentExchangeModel::NAME_PARAMETER_vp
static const std::string NAME_PARAMETER_vp
Definition: mitkNumericTwoCompartmentExchangeModel.h:64
mitk::ModelBase::ParametersType
ModelTraitsInterface::ParametersType ParametersType
Definition: mitkModelBase.h:59
mitk::NumericTwoCompartmentExchangeModel::state_type
std::vector< double > state_type
Definition: mitkNumericTwoCompartmentExchangeModel.h:54
itk::SmartPointer< Self >
mitk::NumericTwoCompartmentExchangeModel
Implementation of the numeric model function of the 2 Compartment Exchange model, using an Aterial In...
Definition: mitkNumericTwoCompartmentExchangeModel.h:39
MitkPharmacokineticsExports.h
mitk::NumericTwoCompartmentExchangeModel::NUMBER_OF_PARAMETERS
static const unsigned int NUMBER_OF_PARAMETERS
Definition: mitkNumericTwoCompartmentExchangeModel.h:77
mitk
DataCollection - Class to facilitate loading/accessing structured data.
Definition: RenderingTests.dox:1
mitk::NumericTwoCompartmentExchangeModel::NAME_PARAMETER_ve
static const std::string NAME_PARAMETER_ve
Definition: mitkNumericTwoCompartmentExchangeModel.h:63
mitk::NumericTwoCompartmentExchangeModel::POSITION_PARAMETER_PS
static const unsigned int POSITION_PARAMETER_PS
Definition: mitkNumericTwoCompartmentExchangeModel.h:73
mitk::NumericTwoCompartmentExchangeModel::Self
NumericTwoCompartmentExchangeModel Self
Definition: mitkNumericTwoCompartmentExchangeModel.h:43
mitk::NumericTwoCompartmentExchangeModel::UNIT_PARAMETER_vp
static const std::string UNIT_PARAMETER_vp
Definition: mitkNumericTwoCompartmentExchangeModel.h:70
mitk::NumericTwoCompartmentExchangeModel::Pointer
itk::SmartPointer< Self > Pointer
Definition: mitkNumericTwoCompartmentExchangeModel.h:45
mitk::NumericTwoCompartmentExchangeModel::Superclass
AIFBasedModelBase Superclass
Definition: mitkNumericTwoCompartmentExchangeModel.h:44
mitk::NumericTwoCompartmentExchangeModel::POSITION_PARAMETER_F
static const unsigned int POSITION_PARAMETER_F
Definition: mitkNumericTwoCompartmentExchangeModel.h:72
mitk::NumericTwoCompartmentExchangeModel::UNIT_PARAMETER_PS
static const std::string UNIT_PARAMETER_PS
Definition: mitkNumericTwoCompartmentExchangeModel.h:68
mitk::ModelBase::ParametersSizeType
ModelTraitsInterface::ParametersSizeType ParametersSizeType
Definition: mitkModelBase.h:65
mitk::NumericTwoCompartmentExchangeModel::MODEL_DISPLAY_NAME
static const std::string MODEL_DISPLAY_NAME
Definition: mitkNumericTwoCompartmentExchangeModel.h:59
mitk::NumericTwoCompartmentExchangeModel::ConstPointer
itk::SmartPointer< const Self > ConstPointer
Definition: mitkNumericTwoCompartmentExchangeModel.h:46
mitk::ModelBase
Base class for (dynamic) models. A model can be used to calculate its signal given the discrete time ...
Definition: mitkModelBase.h:47
mitk::AIFBasedModelBase
Base Class for all physiological perfusion models using an Aterial Input Function All AIF based model...
Definition: mitkAIFBasedModelBase.h:31
mitk::NumericTwoCompartmentExchangeModel::NAME_PARAMETER_F
static const std::string NAME_PARAMETER_F
Definition: mitkNumericTwoCompartmentExchangeModel.h:61
mitk::NumericTwoCompartmentExchangeModel::NAME_PARAMETER_PS
static const std::string NAME_PARAMETER_PS
Definition: mitkNumericTwoCompartmentExchangeModel.h:62