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
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 
52  typedef itk::Array<double> AterialInputFunctionType;
53 
54  itkGetConstReferenceMacro(AterialInputFunctionValues, AterialInputFunctionType);
55  itkGetConstReferenceMacro(AterialInputFunctionTimeGrid, TimeGridType);
56 
57  itkSetMacro(AterialInputFunctionValues, AterialInputFunctionType);
58  itkSetMacro(AterialInputFunctionTimeGrid, TimeGridType);
59 
60  std::string GetXAxisName() const override;
61 
62  std::string GetXAxisUnit() const override;
63 
64  std::string GetYAxisName() const override;
65 
66  std::string GetYAxisUnit() const override;
67 
70  const TimeGridType& GetCurrentAterialInputFunctionTimeGrid() const;
71 
75  const AterialInputFunctionType GetAterialInputFunction(TimeGridType currentTimeGrid) const;
76 
77  ParameterNamesType GetStaticParameterNames() const override;
78  ParametersSizeType GetNumberOfStaticParameters() const override;
79  ParamterUnitMapType GetStaticParameterUnits() const override;
80 
81 
82  protected:
84  ~AIFBasedModelBase() override;
85 
90  bool ValidateModel(std::string& error) const override;
91 
92  void PrintSelf(std::ostream& os, ::itk::Indent indent) const override;
93 
94  void SetStaticParameter(const ParameterNameType& name,
95  const StaticParameterValuesType& values) override;
96 
97  StaticParameterValuesType GetStaticParameterValue(const ParameterNameType& name) const
98  override;
99 
102 
103 
104  private:
105 
106 
107  //No copy constructor allowed
108  AIFBasedModelBase(const Self& source);
109  void operator=(const Self&); //purposely not implemented
110 
111 
112  };
113 }
114 #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:52
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
itk::SmartPointer< Self >
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
DataCollection - Class to facilitate loading/accessing structured data.
Definition: RenderingTests.dox:1
mitk::AIFBasedModelBase::m_AterialInputFunctionValues
AterialInputFunctionType m_AterialInputFunctionValues
Definition: mitkAIFBasedModelBase.h:101
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:100
mitk::AIFBasedModelBase::NAME_STATIC_PARAMETER_AIF
static const std::string NAME_STATIC_PARAMETER_AIF
Definition: mitkAIFBasedModelBase.h:42
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