DMRITool  v0.1.1-139-g860d86b4
Diffusion MRI Tool
itkDiffusionModelEstimationImageFilter.h
Go to the documentation of this file.
1 
18 #ifndef __itkDiffusionModelEstimationImageFilter_h
19 #define __itkDiffusionModelEstimationImageFilter_h
20 
21 
22 #include "itkImage.h"
23 #include "itkVectorImage.h"
25 
26 #include "utlITK.h"
27 #include "utlNDArray.h"
28 
30 
31 namespace itk
32 {
33 
41 template < class TInputImage, class TOutputImage >
43  : public MaskedImageToImageFilter<TInputImage, TOutputImage>
44 {
45 public:
49  typedef SmartPointer<Self> Pointer;
50  typedef SmartPointer<const Self> ConstPointer;
51 
53  itkNewMacro(Self);
54 
57 
60 
63  typedef utl_shared_ptr<MatrixType> MatrixPointer;
64  typedef utl_shared_ptr<VectorType> VectorPointer;
65  typedef std::vector<double> STDVectorType;
66  typedef utl_shared_ptr<STDVectorType > STDVectorPointer;
67 
70 
73 
74  itkSetObjectMacro(SamplingSchemeQSpace, SamplingSchemeQSpaceType);
75  itkGetObjectMacro(SamplingSchemeQSpace, SamplingSchemeQSpaceType);
76 
77  // itkSetMacro(BasisMatrix, MatrixPointer);
78  itkGetMacro(BasisMatrix, MatrixPointer);
79 
80  itkSetMacro(MD0, double);
81  itkGetMacro(MD0, double);
82 
84  virtual void ComputeBasisMatrix ()
85  {}
86 
87  virtual void ComputeRegularizationWeight ( )
88  {}
89 
90 protected:
92 
94 
95  virtual void VerifyInputParameters() const;
96 
97  void PrintSelf(std::ostream& os, Indent indent) const ITK_OVERRIDE;
98  typename LightObject::Pointer InternalClone() const ITK_OVERRIDE;
99 
101  SamplingSchemeQSpacePointer m_SamplingSchemeQSpace;
102 
104  double m_MD0;
105 
106  MatrixPointer m_BasisMatrix;
107 
109  VectorPointer m_RegularizationWeight;
110 
111 private:
112  DiffusionModelEstimationImageFilter(const Self&); //purposely not implemented
113  void operator=(const Self&); //purposely not implemented
114 
115 
116 };
117 
118 }
119 
120 #if ITK_TEMPLATE_EXPLICIT
121 # include "Templates/itkDiffusionModelEstimationImageFilter+-.h"
122 #endif
123 
124 #if !defined(ITK_MANUAL_INSTANTIATION) && !defined(__itkDiffusionModelEstimationImageFilter_hxx)
126 #endif
127 
128 
129 #endif
130 
base filter for estimation of diffusion models
#define itkTypedefMaskedImageToImageMacro(Superclass)
Definition: utlITKMacro.h:165
#define ITK_OVERRIDE
Definition: utlITKMacro.h:46
ImageToImageFilter with mask and threaded logger support.
this class describes sampling in a 3D space (Q space or R space).
this class describes sampling in Q space.
MaskedImageToImageFilter< TInputImage, TOutputImage > Superclass
SmartPointer< Self > Pointer