Medical Imaging Interaction Toolkit  2018.4.99-a28b433c
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 ATERIALINPUTFUNCTIONGENERATOR_H
14 #define ATERIALINPUTFUNCTIONGENERATOR_H
15 
16 #include <mitkImage.h>
17 #include "mitkAIFBasedModelBase.h"
19 
20 
21 namespace mitk
22 {
34  {
35  public:
36 
38  itkNewMacro(Self);
39 
42  itkSetConstObjectMacro(DynamicImage, Image);
43  itkGetConstObjectMacro(DynamicImage, Image);
44 
47  itkSetConstObjectMacro(Mask, Image);
48  itkGetConstObjectMacro(Mask, Image);
49 
51  itkSetMacro(HCL, double);
52  itkGetConstReferenceMacro(HCL, double);
53 
54  //Common Value for Hematocrit level is 0.45
55  static const double DEFAULT_HEMATOCRIT_LEVEL;
56 
58  {
59  this->m_HCL = DEFAULT_HEMATOCRIT_LEVEL;
60  };
62  {
63  return DEFAULT_HEMATOCRIT_LEVEL;
64  }
65 
66  AIFBasedModelBase::AterialInputFunctionType GetAterialInputFunction();
67  ModelBase::TimeGridType GetAterialInputFunctionTimeGrid();
68 
69  protected:
71  {
72  m_Mask = nullptr;
73  m_DynamicImage = nullptr;
74  this->SetDefaultHematocritLevel();
75  };
76 
78 
79  //template <typename TPixel, unsigned int VDim>
80  //void DoCalculateAIF(itk::Image<TPixel, VDim>* image);
81 
84  virtual void CalculateAIFAndGetResult();
85 
87  virtual void CheckValidInputs() const;
88 
89  bool HasOutdatedResults();
90 
91 
92  itk::TimeStamp m_GenerationTimeStamp;
93 
94  private:
95  Image::ConstPointer m_DynamicImage;
96  Image::ConstPointer m_Mask;
97 
98 
100  ModelBase::TimeGridType m_AIFTimeGrid;
101 
102  double m_HCL;
103  };
104 
105 }
106 
107 #endif // ATERIALINPUTFUNCTIONGENERATOR_H
#define MITKPHARMACOKINETICS_EXPORT
DataCollection - Class to facilitate loading/accessing structured data.
itk::Array< double > TimeGridType
Definition: mitkModelBase.h:62
#define mitkClassMacroItkParent(className, SuperClassName)
Definition: mitkCommon.h:49
Image class for storing images.
Definition: mitkImage.h:72
itk::Array< double > AterialInputFunctionType
Compute the Aterial Input Function from a given dynamic image and a mask defining the tumour supplyin...