Medical Imaging Interaction Toolkit  2023.12.00
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
mitkAIFBasedModelBase.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 #ifndef mitkAIFBasedModelBase_h
13 #define mitkAIFBasedModelBase_h
14 
15 
17 #include "mitkModelBase.h"
18 #include "itkArray2D.h"
19 
20 namespace mitk
21 {
22 
32  {
33  public:
34 
39 
40 
42  itkTypeMacro(PhysiologciModelBase, AIFBasedModelBase);
43 
44 
45  static const std::string NAME_STATIC_PARAMETER_AIF;
46  static const std::string NAME_STATIC_PARAMETER_AIFTimeGrid;
47 
48  static const std::string UNIT_STATIC_PARAMETER_AIF;
49  static const std::string UNIT_STATIC_PARAMETER_AIFTimeGrid;
50 
51  static const unsigned int NUMBER_OF_STATIC_PARAMETERS;
52 
53  static const std::string X_AXIS_NAME;
54 
55  static const std::string X_AXIS_UNIT;
56 
57  static const std::string Y_AXIS_NAME;
58 
59  static const std::string Y_AXIS_UNIT;
60 
62  typedef itk::Array<double> AterialInputFunctionType;
63 
64  itkGetConstReferenceMacro(AterialInputFunctionValues, AterialInputFunctionType);
65  itkGetConstReferenceMacro(AterialInputFunctionTimeGrid, TimeGridType);
66 
67  itkSetMacro(AterialInputFunctionValues, AterialInputFunctionType);
68  itkSetMacro(AterialInputFunctionTimeGrid, TimeGridType);
69 
70  std::string GetXAxisName() const override;
71 
72  std::string GetXAxisUnit() const override;
73 
74  std::string GetYAxisName() const override;
75 
76  std::string GetYAxisUnit() const override;
77 
80  const TimeGridType& GetCurrentAterialInputFunctionTimeGrid() const;
81 
85  const AterialInputFunctionType GetAterialInputFunction(TimeGridType currentTimeGrid) const;
86 
87  ParameterNamesType GetStaticParameterNames() const override;
88  ParametersSizeType GetNumberOfStaticParameters() const override;
89  ParamterUnitMapType GetStaticParameterUnits() const override;
90 
91 
92  protected:
94  ~AIFBasedModelBase() override;
95 
100  bool ValidateModel(std::string& error) const override;
101 
102  void PrintSelf(std::ostream& os, ::itk::Indent indent) const override;
103 
104  void SetStaticParameter(const ParameterNameType& name,
105  const StaticParameterValuesType& values) override;
106 
107  StaticParameterValuesType GetStaticParameterValue(const ParameterNameType& name) const
108  override;
109 
112 
113 
114  private:
115 
116 
117  //No copy constructor allowed
118  AIFBasedModelBase(const Self& source);
119  void operator=(const Self&); //purposely not implemented
120 
121 
122  };
123 }
124 #endif
mitk::ModelTraitsInterface::ParamterUnitMapType
std::map< ParameterNameType, std::string > ParamterUnitMapType
Definition: mitkModelTraitsInterface.h:40
MITKPHARMACOKINETICS_EXPORT
#define MITKPHARMACOKINETICS_EXPORT
Definition: MitkPharmacokineticsExports.h:15
mitk::AIFBasedModelBase::Superclass
ModelBase Superclass
Definition: mitkAIFBasedModelBase.h:36
mitk::AIFBasedModelBase::AterialInputFunctionType
itk::Array< double > AterialInputFunctionType
Definition: mitkAIFBasedModelBase.h:62
mitk::ModelBase::ParameterNamesType
ModelTraitsInterface::ParameterNamesType ParameterNamesType
Definition: mitkModelBase.h:64
mitk::AIFBasedModelBase::UNIT_STATIC_PARAMETER_AIF
static const std::string UNIT_STATIC_PARAMETER_AIF
Definition: mitkAIFBasedModelBase.h:48
mitk::ModelBase::StaticParameterValuesType
std::vector< StaticParameterValueType > StaticParameterValuesType
Definition: mitkModelBase.h:71
mitk::ModelBase::ParameterNameType
ModelTraitsInterface::ParameterNameType ParameterNameType
Definition: mitkModelBase.h:63
mitk::AIFBasedModelBase::Y_AXIS_UNIT
static const std::string Y_AXIS_UNIT
Definition: mitkAIFBasedModelBase.h:59
itk::SmartPointer< Self >
mitk::AIFBasedModelBase::X_AXIS_NAME
static const std::string X_AXIS_NAME
Definition: mitkAIFBasedModelBase.h:53
mitk::AIFBasedModelBase::Y_AXIS_NAME
static const std::string Y_AXIS_NAME
Definition: mitkAIFBasedModelBase.h:57
mitk::AIFBasedModelBase::X_AXIS_UNIT
static const std::string X_AXIS_UNIT
Definition: mitkAIFBasedModelBase.h:55
mitk::AIFBasedModelBase::Self
AIFBasedModelBase Self
Definition: mitkAIFBasedModelBase.h:35
MitkPharmacokineticsExports.h
mitk::AIFBasedModelBase::Pointer
itk::SmartPointer< Self > Pointer
Definition: mitkAIFBasedModelBase.h:37
mitkModelBase.h
mitk
Find image slices visible on a given plane.
Definition: RenderingTests.dox:1
mitk::AIFBasedModelBase::m_AterialInputFunctionValues
AterialInputFunctionType m_AterialInputFunctionValues
Definition: mitkAIFBasedModelBase.h:111
mitk::AIFBasedModelBase::ConstPointer
itk::SmartPointer< const Self > ConstPointer
Definition: mitkAIFBasedModelBase.h:38
mitk::AIFBasedModelBase::NAME_STATIC_PARAMETER_AIFTimeGrid
static const std::string NAME_STATIC_PARAMETER_AIFTimeGrid
Definition: mitkAIFBasedModelBase.h:46
mitk::ModelBase::ParametersSizeType
ModelTraitsInterface::ParametersSizeType ParametersSizeType
Definition: mitkModelBase.h:65
mitk::AIFBasedModelBase::m_AterialInputFunctionTimeGrid
TimeGridType m_AterialInputFunctionTimeGrid
Definition: mitkAIFBasedModelBase.h:110
mitk::AIFBasedModelBase::NAME_STATIC_PARAMETER_AIF
static const std::string NAME_STATIC_PARAMETER_AIF
Definition: mitkAIFBasedModelBase.h:42
mitk::ModelBase::TimeGridType
itk::Array< double > TimeGridType
Definition: mitkModelBase.h:62
mitk::AIFBasedModelBase::NUMBER_OF_STATIC_PARAMETERS
static const unsigned int NUMBER_OF_STATIC_PARAMETERS
Definition: mitkAIFBasedModelBase.h:51
mitk::AIFBasedModelBase::UNIT_STATIC_PARAMETER_AIFTimeGrid
static const std::string UNIT_STATIC_PARAMETER_AIFTimeGrid
Definition: mitkAIFBasedModelBase.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
mitk::AIFBasedModelBase
Base Class for all physiological perfusion models using an Aterial Input Function All AIF based model...
Definition: mitkAIFBasedModelBase.h:31