Medical Imaging Interaction Toolkit  2025.12.02
Medical Imaging Interaction Toolkit
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(AIFBasedModelBase, ModelBase);
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 
81 
86 
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 
105  const StaticParameterValuesType& values) override;
106 
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
#define MITKPHARMACOKINETICS_EXPORT
Base Class for all physiological perfusion models using an Aterial Input Function All AIF based model...
static const unsigned int NUMBER_OF_STATIC_PARAMETERS
static const std::string NAME_STATIC_PARAMETER_AIFTimeGrid
static const std::string UNIT_STATIC_PARAMETER_AIF
void SetStaticParameter(const ParameterNameType &name, const StaticParameterValuesType &values) override
itk::SmartPointer< const Self > ConstPointer
itk::Array< double > AterialInputFunctionType
const AterialInputFunctionType GetAterialInputFunction(TimeGridType currentTimeGrid) const
const TimeGridType & GetCurrentAterialInputFunctionTimeGrid() const
void PrintSelf(std::ostream &os, ::itk::Indent indent) const override
static const std::string X_AXIS_NAME
std::string GetXAxisName() const override
itk::SmartPointer< Self > Pointer
std::string GetYAxisName() const override
static const std::string UNIT_STATIC_PARAMETER_AIFTimeGrid
ParamterUnitMapType GetStaticParameterUnits() const override
static const std::string Y_AXIS_NAME
bool ValidateModel(std::string &error) const override
StaticParameterValuesType GetStaticParameterValue(const ParameterNameType &name) const override
static const std::string Y_AXIS_UNIT
static const std::string X_AXIS_UNIT
std::string GetYAxisUnit() const override
ParametersSizeType GetNumberOfStaticParameters() const override
AterialInputFunctionType m_AterialInputFunctionValues
TimeGridType m_AterialInputFunctionTimeGrid
~AIFBasedModelBase() override
ParameterNamesType GetStaticParameterNames() const override
static const std::string NAME_STATIC_PARAMETER_AIF
std::string GetXAxisUnit() const override
Base class for (dynamic) models. A model can be used to calculate its signal given the discrete time ...
Definition: mitkModelBase.h:48
ModelTraitsInterface::ParametersSizeType ParametersSizeType
Definition: mitkModelBase.h:65
ModelTraitsInterface::ParameterNamesType ParameterNamesType
Definition: mitkModelBase.h:64
std::vector< StaticParameterValueType > StaticParameterValuesType
Definition: mitkModelBase.h:71
ModelTraitsInterface::ParameterNameType ParameterNameType
Definition: mitkModelBase.h:63
itk::Array< double > TimeGridType
Definition: mitkModelBase.h:62
std::map< ParameterNameType, std::string > ParamterUnitMapType
Find image slices visible on a given plane.