Medical Imaging Interaction Toolkit  2018.4.99-12ad79a3
Medical Imaging Interaction Toolkit
mitkDescriptivePharmacokineticBrixModel.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 DESCRIPTIVEPHARMACOKINETICBRIXMODEL_H
14 #define DESCRIPTIVEPHARMACOKINETICBRIXMODEL_H
15 
16 #include <iostream>
17 
18 #include "mitkModelBase.h"
20 
21 namespace mitk
22 {
23 
25  {
26 
27  public:
32 
34  itkFactorylessNewMacro(Self);
35  itkCloneMacro(Self);
36 
39 
40  static const std::string MODEL_DISPLAY_NAME;
41 
42  static const std::string NAME_PARAMETER_A;
43  static const std::string NAME_PARAMETER_kep;
44  static const std::string NAME_PARAMETER_kel;
45  static const std::string NAME_PARAMETER_tlag;
46  static const std::string NAME_STATIC_PARAMETER_Tau;
47  static const std::string NAME_STATIC_PARAMETER_S0;
48 
49  static const std::string UNIT_PARAMETER_A;
50  static const std::string UNIT_PARAMETER_kep;
51  static const std::string UNIT_PARAMETER_kel;
52  static const std::string UNIT_PARAMETER_tlag;
53  static const std::string UNIT_STATIC_PARAMETER_Tau;
54  static const std::string UNIT_STATIC_PARAMETER_S0;
55 
56  static const unsigned int POSITION_PARAMETER_A;
57  static const unsigned int POSITION_PARAMETER_kep;
58  static const unsigned int POSITION_PARAMETER_kel;
59 
60  //tlag in minutes
61  static const unsigned int POSITION_PARAMETER_tlag;
62 
63  static const unsigned int NUMBER_OF_PARAMETERS;
64 
65  itkSetMacro(Tau, double);
66  itkGetConstReferenceMacro(Tau, double);
67 
68  itkSetMacro(S0, double);
69  itkGetConstReferenceMacro(S0, double);
70 
71  std::string GetModelDisplayName() const override;
72 
73  std::string GetModelType() const override;
74 
75  std::string GetXAxisName() const override;
76 
77  std::string GetXAxisUnit() const override;
78 
79  std::string GetYAxisName() const override;
80 
81  std::string GetYAxisUnit() const override;
82 
83  ParameterNamesType GetParameterNames() const override;
84 
85  ParametersSizeType GetNumberOfParameters() const override;
86 
87  ParamterUnitMapType GetParameterUnits() const override;
88 
89 
90  ParameterNamesType GetStaticParameterNames() const override;
91  ParametersSizeType GetNumberOfStaticParameters() const override;
92  ParamterUnitMapType GetStaticParameterUnits() const override;
93 
94  protected:
97 
102  itk::LightObject::Pointer InternalClone() const override;
103 
104  ModelResultType ComputeModelfunction(const ParametersType& parameters) const override;
105 
106  void SetStaticParameter(const ParameterNameType& name,
107  const StaticParameterValuesType& values) override;
108  StaticParameterValuesType GetStaticParameterValue(const ParameterNameType& name) const
109  override;
110 
111 
112  void PrintSelf(std::ostream& os, ::itk::Indent indent) const override;
113 
114  private:
116  double m_Tau;
117 
120  double m_S0;
121 
122  //No copy constructor allowed
123  DescriptivePharmacokineticBrixModel(const Self& source);
124  void operator=(const Self&); //purposely not implemented
125 
126 
127  };
128 }
129 
130 
131 #endif //DESCRIPTIVEPHARMACOKINETICBRIXMODEL_H
Base class for (dynamic) models. A model can be used to calculate its signal given the discrete time ...
Definition: mitkModelBase.h:47
ModelTraitsInterface::ParametersType ParametersType
Definition: mitkModelBase.h:59
#define MITKPHARMACOKINETICS_EXPORT
DataCollection - Class to facilitate loading/accessing structured data.
ModelTraitsInterface::ParametersSizeType ParametersSizeType
Definition: mitkModelBase.h:65
std::vector< StaticParameterValueType > StaticParameterValuesType
Definition: mitkModelBase.h:71
ModelTraitsInterface::ModelResultType ModelResultType
Definition: mitkModelBase.h:55
ModelTraitsInterface::ParameterNameType ParameterNameType
Definition: mitkModelBase.h:63
ModelTraitsInterface::ParameterNamesType ParameterNamesType
Definition: mitkModelBase.h:64
std::map< ParameterNameType, std::string > ParamterUnitMapType