DMRITool  v0.1.1-139-g860d86b4
Diffusion MRI Tool
itkDiffusionModelEstimationInSphericalCoordinateImageFilter.h
Go to the documentation of this file.
1 
19 #ifndef __itkDiffusionModelEstimationInSphericalCoordinateImageFilter_h
20 #define __itkDiffusionModelEstimationInSphericalCoordinateImageFilter_h
21 
22 
24 
25 namespace itk
26 {
27 
35 template < class TInputImage, class TOutputImage >
37  : public DiffusionModelEstimationImageFilter<TInputImage, TOutputImage>
38 {
39 public:
43  typedef SmartPointer<Self> Pointer;
44  typedef SmartPointer<const Self> ConstPointer;
45 
47  itkNewMacro(Self);
48 
51 
61 
69 
71 
72  typedef typename Superclass::MatrixType MatrixType;
73  typedef typename Superclass::VectorType VectorType;
76  typedef typename Superclass::STDVectorType STDVectorType;
78 
79  itkSetMacro(SHRank, int);
80  itkGetMacro(SHRank, int);
81  itkSetMacro(RadialRank, int);
82  itkGetMacro(RadialRank, int);
83 
84  // void SetBasisSHMatrix(const MatrixPointer& mat);
85  itkGetMacro(BasisSHMatrix, MatrixPointer);
86  // void SetBasisRadialMatrix(const MatrixPointer& mat);
87  itkGetMacro(BasisRadialMatrix, MatrixPointer);
88 
90  virtual void ComputeSHMatrix();
91 
93  virtual void ComputeRadialMatrix ()
94  {}
95 
96 protected:
98 
100 
101  virtual void VerifyInputParameters() const ITK_OVERRIDE;
102 
103  void PrintSelf(std::ostream& os, Indent indent) const ITK_OVERRIDE;
104  typename LightObject::Pointer InternalClone() const ITK_OVERRIDE;
105 
107  int m_SHRank;
110 
111  MatrixPointer m_BasisSHMatrix;
112  MatrixPointer m_BasisRadialMatrix;
113 
114 private:
115  DiffusionModelEstimationInSphericalCoordinateImageFilter(const Self&); //purposely not implemented
116  void operator=(const Self&); //purposely not implemented
117 
118 
119 };
120 
121 }
122 
123 #if ITK_TEMPLATE_EXPLICIT
124 # include "Templates/itkDiffusionModelEstimationInSphericalCoordinateImageFilter+-.h"
125 #endif
126 
127 #if !defined(ITK_MANUAL_INSTANTIATION) && !defined(__itkDiffusionModelEstimationInSphericalCoordinateImageFilter_hxx)
129 #endif
130 
131 
132 #endif
133 
base filter for estimation of diffusion models
#define ITK_OVERRIDE
Definition: utlITKMacro.h:46
std::shared_ptr< NDArray< T, 2 > > ComputeSHMatrix(const unsigned int rank, const NDArray< T, 2 > &grad, const int mode)
Definition: utl.h:171
base filter for estimation of diffusion models in spherical coordinates