7 #ifndef itkCalculatorT1ImageFilter_h 8 #define itkCalculatorT1ImageFilter_h 10 #include "tomatolib_export.h" 11 #include "CmakeConfigForTomato.h" 15 #include "itkLogger.h" 21 #include "itkDataObject.h" 22 #include "itkImageToImageFilter.h" 23 #include "itkImageRegionSplitterDirection.h" 24 #include "itkImageRegionIterator.h" 25 #include "itkImageLinearIteratorWithIndex.h" 34 template<
typename TImageIn,
typename TImageOut1,
typename TImageOut2 = TImageIn>
35 class CalculatorT1ImageFilter :
public ImageToImageFilter<TImageIn, TImageOut1> {
38 typedef CalculatorT1ImageFilter Self;
39 typedef ImageToImageFilter<TImageIn, TImageOut1> Superclass;
40 typedef SmartPointer<Self> Pointer;
43 typedef typename Superclass::OutputImageRegionType OutputImageRegionType;
49 itkTypeMacro(CalculatorT1ImageFilter, ImageToImageFilter);
51 typedef typename TImageIn::PixelType PixelTypeIn;
52 typedef typename TImageOut1::PixelType PixelTypeOut;
54 void SetInputMagImage(
const TImageIn *magImage);
55 void SetInputPhaImage(
const TImageIn *phaImage);
57 TImageOut2* GetMagSignRecovered();
59 TImageOut1* GetAImage();
60 TImageOut1* GetBImage();
61 TImageOut1* GetT1starImage();
62 TImageOut1* GetT1Image();
63 TImageOut1* GetR2Image();
64 TImageOut1* GetChiSqrtImage();
65 TImageOut1* GetSNRImage();
66 TImageOut1* GetNShmolliSamplesUsedImage();
67 TImageOut1* GetDeltaAImage();
68 TImageOut1* GetDeltaBImage();
69 TImageOut1* GetDeltaT1Image();
70 TImageOut1* GetT2Image();
71 TImageOut1* GetR2AbsImage();
75 this->m_Calculator = calculator;
83 itkSetMacro( LimitOutputIntensity,
bool );
84 itkGetMacro( LimitOutputIntensity,
bool );
85 itkBooleanMacro(LimitOutputIntensity);
87 itkSetMacro( UpperLimitOutputIntensity, PixelTypeOut );
88 itkGetMacro( UpperLimitOutputIntensity, PixelTypeOut );
90 itkSetMacro( LowerLimitOutputIntensity, PixelTypeOut );
91 itkGetMacro( LowerLimitOutputIntensity, PixelTypeOut );
95 CalculatorT1ImageFilter();
98 ~CalculatorT1ImageFilter() {};
101 virtual void ThreadedGenerateData(
const OutputImageRegionType& outputRegionForThread, ThreadIdType threadId ) ITK_OVERRIDE;
104 virtual void BeforeThreadedGenerateData() ITK_OVERRIDE;
107 virtual
void GenerateOutputInformation() ITK_OVERRIDE;
110 virtual const ImageRegionSplitterBase* GetImageRegionSplitter() const ITK_OVERRIDE{
111 return m_ImageRegionSplitter;
115 typename ImageRegionSplitterDirection::Pointer m_ImageRegionSplitter;
118 typename TImageOut1::PixelType LimitResult(
typename TImageOut1::PixelType result );
121 ITK_DISALLOW_COPY_AND_ASSIGN(CalculatorT1ImageFilter);
126 bool m_LimitOutputIntensity;
127 PixelTypeOut m_UpperLimitOutputIntensity;
128 PixelTypeOut m_LowerLimitOutputIntensity;
132 #ifndef TOMATOLIB_COMPILED 133 #ifndef ITK_MANUAL_INSTANTIATION 135 #endif //ITK_MANUAL_INSTANTIATION 136 #endif //TOMATOLIB_COMPILED 140 #endif // itkCalculatorT1ImageFilter_h
Definition: itkImageFileReaderKW.h:31
Definition: OxCalculator.h:28