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
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