12 #ifndef mitkConcentrationCurveGenerator_h
13 #define mitkConcentrationCurveGenerator_h
16 #include <itkBinaryFunctorImageFilter.h>
43 itkSetConstObjectMacro(DynamicImage,
Image);
44 itkGetConstObjectMacro(DynamicImage,
Image);
47 itkSetMacro(RelaxationTime,
double);
48 itkGetConstReferenceMacro(RelaxationTime,
double);
50 itkSetMacro(Relaxivity,
double);
51 itkGetConstReferenceMacro(Relaxivity,
double);
53 itkSetMacro(RecoveryTime,
double);
54 itkGetConstReferenceMacro(RecoveryTime,
double);
56 itkSetMacro(FlipAngle,
double);
57 itkGetConstReferenceMacro(FlipAngle,
double);
59 itkSetMacro(Factor,
double);
60 itkGetConstReferenceMacro(Factor,
double);
63 itkSetConstObjectMacro(T10Image,
Image);
64 itkGetConstObjectMacro(T10Image,
Image);
66 itkSetMacro(T2Factor,
double);
67 itkGetConstReferenceMacro(T2Factor,
double);
69 itkSetMacro(T2EchoTime,
double);
70 itkGetConstReferenceMacro(T2EchoTime,
double);
75 itkSetMacro(BaselineStartTimeStep,
unsigned int);
76 itkGetConstReferenceMacro(BaselineStartTimeStep,
unsigned int);
78 itkSetMacro(BaselineEndTimeStep,
unsigned int);
79 itkGetConstReferenceMacro(BaselineEndTimeStep,
unsigned int);
81 itkSetMacro(isTurboFlashSequence,
bool);
82 itkGetConstReferenceMacro(isTurboFlashSequence,
bool);
84 itkSetMacro(AbsoluteSignalEnhancement,
bool);
85 itkGetConstReferenceMacro(AbsoluteSignalEnhancement,
bool);
87 itkSetMacro(RelativeSignalEnhancement,
bool);
88 itkGetConstReferenceMacro(RelativeSignalEnhancement,
bool);
90 itkSetMacro(UsingT1Map,
bool);
91 itkGetConstReferenceMacro(UsingT1Map,
bool);
94 itkSetMacro(isT2weightedImage,
bool);
95 itkGetConstReferenceMacro(isT2weightedImage,
bool);
105 template<
class TPixel_input,
class TPixel_baseline>
106 mitk::Image::Pointer convertToConcentration(
const itk::Image<TPixel_input, 3> *itkInputImage,
const itk::Image<TPixel_baseline, 3> *itkBaselineImage);
114 void PrepareBaselineImage();
116 template<
class TPixel>
117 void CalculateAverageBaselineImage(
const itk::Image<TPixel,4> *itkBaselineImage);
120 virtual void Convert();
130 bool m_isT2weightedImage;
132 bool m_isTurboFlashSequence;
133 bool m_AbsoluteSignalEnhancement;
134 bool m_RelativeSignalEnhancement;
139 double m_RecoveryTime;
141 double m_RelaxationTime;
151 unsigned int m_BaselineStartTimeStep;
153 unsigned int m_BaselineEndTimeStep;