DMRITool  v0.1.1-139-g860d86b4
Diffusion MRI Tool
itkAddNoiseToDWIImageFilter.h
Go to the documentation of this file.
1 
18 #ifndef __itkAddNoiseToDWIImageFilter_h
19 #define __itkAddNoiseToDWIImageFilter_h
20 
21 #include "itkImageToImageFilter.h"
22 
23 namespace itk
24 {
25 
33 template< typename TInputImage, typename TB0Image=Image<double,3>,
34  typename TMaskImage=Image<double,3> >
36  : public ImageToImageFilter< TInputImage, TInputImage >
37 {
38 public:
41  typedef ImageToImageFilter< TInputImage, TInputImage > Superclass;
42  typedef SmartPointer< Self > Pointer;
43 
45  itkNewMacro(Self);
46 
48  itkTypeMacro(AddNoiseToDWIImageFilter, ImageToImageFilter);
49 
50  typedef typename Superclass::InputImageType InputImageType;
51 // typedef typename Superclass::InputImageType DWIImageType;
52  typedef TB0Image B0ImageType;
53  typedef TMaskImage MaskImageType;
54 
55  typedef typename InputImageType::PixelType PixelType;
56 
57  typedef enum
58  {
61  } NoiseType;
62 
63 
64  itkSetMacro(Sigma, double);
65  itkGetMacro(Sigma, double);
66  itkSetMacro(Noisetype, NoiseType);
67  itkGetMacro(Noisetype, NoiseType);
68 
69  itkSetInputMacro(B0Image, B0ImageType);
70  itkSetInputMacro(MaskImage, MaskImageType);
71 
72  itkGetInputMacro(B0Image, B0ImageType);
73  itkGetInputMacro(MaskImage, MaskImageType);
74 
75 protected:
78 
79  void PrintSelf(std::ostream& os, Indent indent) const ITK_OVERRIDE;
80 
82  virtual void GenerateData() ITK_OVERRIDE;
83 
84 private:
85  AddNoiseToDWIImageFilter(const Self &); //purposely not implemented
86  void operator=(const Self &); //purposely not implemented
87 
88  double m_Sigma;
89  NoiseType m_Noisetype;
90 
91 };
92 } //namespace ITK
93 
94 // Define instantiation macro for this template.
95 #define ITK_TEMPLATE_AddNoiseToDWIImageFilter(_, EXPORT, TypeX, TypeY) \
96  namespace itk \
97  { \
98  _( 2 ( class EXPORT AddNoiseToDWIImageFilter< ITK_TEMPLATE_2 TypeX > ) ) \
99  namespace Templates \
100  { \
101  typedef AddNoiseToDWIImageFilter< ITK_TEMPLATE_2 TypeX > AddNoiseToDWIImageFilter##TypeY; \
102  } \
103  }
104 
105 #if ITK_TEMPLATE_EXPLICIT
106 #include "Templates/itkAddNoiseToDWIImageFilter+-.h"
107 #endif
108 
109 #if !defined(ITK_MANUAL_INSTANTIATION) && !defined(__itkAddNoiseToDWIImageFilter_hxx)
111 #endif
112 
113 #endif
ImageToImageFilter< TInputImage, TInputImage > Superclass
void operator=(const Self &)
void PrintSelf(std::ostream &os, Indent indent) const ITK_OVERRIDE
#define ITK_OVERRIDE
Definition: utlITKMacro.h:46
virtual void GenerateData() ITK_OVERRIDE
Superclass::InputImageType InputImageType