NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
itkDynamicContrastEnhancementAnalysisImageFilter.h
Go to the documentation of this file.
1 /*=============================================================================
2 
3  NifTK: A software platform for medical image computing.
4 
5  Copyright (c) University College London (UCL). All rights reserved.
6 
7  This software is distributed WITHOUT ANY WARRANTY; without even
8  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
9  PURPOSE.
10 
11  See LICENSE.txt in the top level directory for details.
12 
13 =============================================================================*/
14 
15 #ifndef __itkDynamicContrastEnhancementAnalysisImageFilter_h
16 #define __itkDynamicContrastEnhancementAnalysisImageFilter_h
17 
18 #include <itkImageToImageFilter.h>
19 
20 namespace itk
21 {
26 template< class TInputImage, class TOutputImage >
28  public ImageToImageFilter< TInputImage, TOutputImage >
29 {
30 public:
33  typedef ImageToImageFilter< TInputImage, TOutputImage > Superclass;
34  typedef SmartPointer< Self > Pointer;
35 
37  itkNewMacro(Self);
38 
40  itkTypeMacro(DynamicContrastEnhancementAnalysisImageFilter, ImageToImageFilter);
41 
43  itkStaticConstMacro(ImageDimension, unsigned int,
44  TInputImage::ImageDimension);
45 
47  typedef TInputImage InputImageType;
48  typedef typename InputImageType::Pointer InputImagePointer;
49  typedef typename InputImageType::ConstPointer InputImageConstPointer;
52  typedef typename InputImageType::SpacingType InputImageSpacingType;
53  typedef typename InputImageType::PointType InputImagePointType;
54 
55  typedef typename NumericTraits<InputImagePixelType>::RealType RealType;
56 
58  typedef TOutputImage OutputImageType;
59  typedef typename OutputImageType::Pointer OutputImagePointer;
63  typedef typename OutputImageType::PointType OutputImagePointType;
64 
66  typedef unsigned char MaskPixelType;
67  typedef typename itk::Image<MaskPixelType, ImageDimension> MaskImageType;
68  typedef typename MaskImageType::Pointer MaskImagePointer;
69 
70 
73  void SetInputImage(const TInputImage *image, RealType tAcquired, unsigned int iAcquired);
74 
76  itkSetObjectMacro( Mask, MaskImageType );
77 
79  OutputImageType *GetOutputAUC( void ) {
80  return dynamic_cast< OutputImageType* >( this->ProcessObject::GetOutput( 0 ) );
81  }
82 
84  OutputImageType *GetOutputMaxRate( void ) {
85  return dynamic_cast< OutputImageType* >( this->ProcessObject::GetOutput( 1 ) );
86  }
87 
89  OutputImageType *GetOutputTime2Max( void ) {
90  return dynamic_cast< OutputImageType* >( this->ProcessObject::GetOutput( 2 ) );
91  }
92 
94  OutputImageType *GetOutputMax( void ) {
95  return dynamic_cast< OutputImageType* >( this->ProcessObject::GetOutput( 3 ) );
96  }
97 
99  OutputImageType *GetOutputWashOut( void ) {
100  return dynamic_cast< OutputImageType* >( this->ProcessObject::GetOutput( 4 ) );
101  }
102 
103 protected:
106 
108  unsigned int m_NumberOfInputImages;
109 
110 
112  MaskImagePointer m_Mask;
113 
114  std::vector< RealType > m_AcquistionTime;
115 
117  MaskImagePointer ResampleMask();
118 
120  virtual void GenerateData();
121 
123  DataObject::Pointer MakeOutput(unsigned int idx);
124 
125 private:
126  DynamicContrastEnhancementAnalysisImageFilter(const Self &); //purposely not implemented
127  void operator=(const Self &); //purposely not implemented
128 
129 };
130 } //namespace ITK
131 
132 
133 #ifndef ITK_MANUAL_INSTANTIATION
134 #include "itkDynamicContrastEnhancementAnalysisImageFilter.txx"
135 #endif
136 
137 
138 #endif // __itkDynamicContrastEnhancementAnalysisImageFilter_h
TInputImage InputImageType
Definition: itkDynamicContrastEnhancementAnalysisImageFilter.h:47
MaskImagePointer m_Mask
Optional mask image.
Definition: itkDynamicContrastEnhancementAnalysisImageFilter.h:112
InputImageType::SpacingType InputImageSpacingType
Definition: itkDynamicContrastEnhancementAnalysisImageFilter.h:52
DataObject::Pointer MakeOutput(unsigned int idx)
InputImageType::ConstPointer InputImageConstPointer
Definition: itkDynamicContrastEnhancementAnalysisImageFilter.h:49
unsigned char MaskPixelType
Definition: itkDynamicContrastEnhancementAnalysisImageFilter.h:66
OutputImageType * GetOutputMax(void)
Get the maximum enhancement image.
Definition: itkDynamicContrastEnhancementAnalysisImageFilter.h:94
GLenum GLsizei GLenum GLenum const GLvoid * image
Definition: glew.h:4052
Definition: niftkITKAffineResampleImage.cxx:74
ImageType::IndexType IndexType
Definition: niftkMakeLapUSProbeBasicModel.cxx:32
Image filter to process a set of contrast enhancement images.
Definition: itkDynamicContrastEnhancementAnalysisImageFilter.h:27
InputImageType::Pointer InputImagePointer
Definition: itkDynamicContrastEnhancementAnalysisImageFilter.h:48
MaskImageType::Pointer MaskImagePointer
Definition: itkDynamicContrastEnhancementAnalysisImageFilter.h:68
DynamicContrastEnhancementAnalysisImageFilter Self
Definition: itkDynamicContrastEnhancementAnalysisImageFilter.h:32
OutputImageType * GetOutputTime2Max(void)
Get the time to maximum enhancement image.
Definition: itkDynamicContrastEnhancementAnalysisImageFilter.h:89
OutputImageType::PixelType OutputImagePixelType
Definition: itkDynamicContrastEnhancementAnalysisImageFilter.h:61
SmartPointer< Self > Pointer
Definition: itkDynamicContrastEnhancementAnalysisImageFilter.h:34
OutputImageType::IndexType OutputImageIndexType
Definition: itkDynamicContrastEnhancementAnalysisImageFilter.h:62
NumericTraits< InputImagePixelType >::RealType RealType
Definition: itkDynamicContrastEnhancementAnalysisImageFilter.h:55
float PixelType
Definition: niftkBreastDCEandADC.cxx:88
~DynamicContrastEnhancementAnalysisImageFilter()
Definition: itkDynamicContrastEnhancementAnalysisImageFilter.h:105
InputImageType::RegionType InputImageRegionType
Definition: itkDynamicContrastEnhancementAnalysisImageFilter.h:50
ImageType::RegionType RegionType
Definition: niftkMakeLapUSProbeBasicModel.cxx:30
OutputImageType * GetOutputWashOut(void)
Get the maximum wash out rate image.
Definition: itkDynamicContrastEnhancementAnalysisImageFilter.h:99
TOutputImage OutputImageType
Definition: itkDynamicContrastEnhancementAnalysisImageFilter.h:58
itk::Image< MaskPixelType, ImageDimension > MaskImageType
Definition: itkDynamicContrastEnhancementAnalysisImageFilter.h:67
InputImageType::PointType InputImagePointType
Definition: itkDynamicContrastEnhancementAnalysisImageFilter.h:53
std::vector< RealType > m_AcquistionTime
Definition: itkDynamicContrastEnhancementAnalysisImageFilter.h:114
OutputImageType::PointType OutputImagePointType
Definition: itkDynamicContrastEnhancementAnalysisImageFilter.h:63
InputImageType::PixelType InputImagePixelType
Definition: itkDynamicContrastEnhancementAnalysisImageFilter.h:51
OutputImageType * GetOutputAUC(void)
Get the area under the contrast enhancement curve (subtracted) image.
Definition: itkDynamicContrastEnhancementAnalysisImageFilter.h:79
unsigned int m_NumberOfInputImages
The number of input images.
Definition: itkDynamicContrastEnhancementAnalysisImageFilter.h:108
OutputImageType::Pointer OutputImagePointer
Definition: itkDynamicContrastEnhancementAnalysisImageFilter.h:59
void SetInputImage(const TInputImage *image, RealType tAcquired, unsigned int iAcquired)
OutputImageType * GetOutputMaxRate(void)
Get the maximum enhancement rate image.
Definition: itkDynamicContrastEnhancementAnalysisImageFilter.h:84
itkStaticConstMacro(ImageDimension, unsigned int, TInputImage::ImageDimension)
ImageToImageFilter< TInputImage, TOutputImage > Superclass
Definition: itkDynamicContrastEnhancementAnalysisImageFilter.h:33
OutputImageType::RegionType OutputImageRegionType
Definition: itkDynamicContrastEnhancementAnalysisImageFilter.h:60
MaskImagePointer ResampleMask()
Resample the mask image.