Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
mitkAterialInputFunctionGenerator.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 mitkAterialInputFunctionGenerator_h
14 #define mitkAterialInputFunctionGenerator_h
15 
16 #include <mitkImage.h>
17 #include <mitkAIFBasedModelBase.h>
19 
20 
21 namespace mitk
22 {
38  {
39  public:
40 
42  itkNewMacro(Self);
43 
46  itkSetConstObjectMacro(DynamicImage, Image);
48  itkGetConstObjectMacro(DynamicImage, Image);
49 
52  itkSetConstObjectMacro(Mask, Image);
54  itkGetConstObjectMacro(Mask, Image);
55 
58  itkSetMacro(HCL, double);
61  itkGetConstReferenceMacro(HCL, double);
62 
64  static const double DEFAULT_HEMATOCRIT_LEVEL;
65 
68  {
69  this->m_HCL = DEFAULT_HEMATOCRIT_LEVEL;
70  };
74  {
75  return DEFAULT_HEMATOCRIT_LEVEL;
76  }
77 
90 
91  protected:
93  {
94  m_Mask = nullptr;
95  m_DynamicImage = nullptr;
96  this->SetDefaultHematocritLevel();
97  };
98 
100 
101  //template <typename TPixel, unsigned int VDim>
102  //void DoCalculateAIF(itk::Image<TPixel, VDim>* image);
103 
106  virtual void CalculateAIFAndGetResult();
107 
109  virtual void CheckValidInputs() const;
110 
112 
113 
114  itk::TimeStamp m_GenerationTimeStamp;
115 
116  private:
117  Image::ConstPointer m_DynamicImage;
118  Image::ConstPointer m_Mask;
119 
120 
122  ModelBase::TimeGridType m_AIFTimeGrid;
123 
124  double m_HCL;
125  };
126 
127 }
128 
129 #endif
#define MITKPHARMACOKINETICS_EXPORT
itk::Array< double > AterialInputFunctionType
Array type for the Arterial Input Function AIF(t).
Computes the Arterial Input Function (AIF) from a 4D dynamic image and an artery mask.
double GetDefaultHematocritLevel()
Returns the default hematocrit level constant (0.45).
ModelBase::TimeGridType GetAterialInputFunctionTimeGrid()
Computes and returns the AIF time grid.
static const double DEFAULT_HEMATOCRIT_LEVEL
Default hematocrit level value (0.45).
void SetDefaultHematocritLevel()
Resets the hematocrit level to the default value (0.45).
virtual void CheckValidInputs() const
Makes sure that m_DynamicImage and m_Mask are set.
mitkClassMacroItkParent(AterialInputFunctionGenerator, itk::Object)
virtual void CalculateAIFAndGetResult()
Passes m_DynamicImage and m_Mask to the itkMaskedNaryStatisticsImageFilter and mitkExtractTimeGrid an...
AIFBasedModelBase::AterialInputFunctionType GetAterialInputFunction()
Computes and returns the AIF concentration values.
Image class for storing multi-dimensional medical image data.
Definition: mitkImage.h:76
itk::Array< double > TimeGridType
Type defining the time grid used by models.
Definition: mitkModelBase.h:70
Find image slices visible on a given plane.