DMRITool  v0.1.1-139-g860d86b4
Diffusion MRI Tool
itkODFFromSPFImageFilter.h
Go to the documentation of this file.
1 
18 #ifndef __itkODFFromSPFImageFilter_h
19 #define __itkODFFromSPFImageFilter_h
20 
22 
23 
24 namespace itk
25 {
26 
33 template < class TInputImage, class TOutputImage >
34 class ITK_EXPORT ODFFromSPFImageFilter :
35 public FeaturesFromSPFImageFilter<TInputImage, TOutputImage>
36 {
37 public:
41  typedef SmartPointer<Self> Pointer;
42  typedef SmartPointer<const Self> ConstPointer;
43 
45  itkNewMacro(Self);
46 
49 
51 
52  typedef typename Superclass::MatrixType MatrixType;
53  typedef typename Superclass::MatrixPointer MatrixPointer;
54  typedef typename Superclass::VectorType VectorType;
55  typedef typename Superclass::VectorPointer VectorPointer;
56  typedef typename Superclass::BasisType BasisType;
57  typedef typename Superclass::STDVectorType STDVectorType;
58  typedef typename Superclass::STDVectorPointer STDVectorPointer;
59 
61  itkSetMacro(ODFOrder, int);
62  itkGetMacro(ODFOrder, int);
63  itkSetMacro(BMax, double);
64  itkGetMacro(BMax, double);
65 
66  void ComputeSPFToFeatureTransform() ITK_OVERRIDE;
67 
68 
69 protected:
70  ODFFromSPFImageFilter() : Superclass()
71  {
72  m_BMax=-1;
73  m_ODFOrder=2;
74  }
75 
76  void VerifyInputParameters() const ITK_OVERRIDE;
77 
78  virtual ~ODFFromSPFImageFilter() {};
79 
80  void GenerateOutputInformation() ITK_OVERRIDE;
81 
82  void BeforeThreadedGenerateData () ITK_OVERRIDE;
83  void ThreadedGenerateData(const typename TOutputImage::RegionType& outputRegionForThread,ThreadIdType threadId ) ITK_OVERRIDE;
84 
85  typename LightObject::Pointer InternalClone() const ITK_OVERRIDE;
86 
87  void PrintSelf(std::ostream& os, Indent indent) const ITK_OVERRIDE;
88 
89 private:
90  ODFFromSPFImageFilter(const Self&); //purposely not implemented
91  void operator=(const Self&); //purposely not implemented
92 
93  VectorType m_P;
94  VectorType m_L;
95 
99  double m_BMax;
100 };
101 
102 
103 
104 } // end namespace itk
105 
106 
107 #if ITK_TEMPLATE_EXPLICIT
108 # include "Templates/itkODFFromSPFImageFilter+-.h"
109 #endif
110 
111 #if !defined(ITK_MANUAL_INSTANTIATION) && !defined(__itkODFFromSPFImageFilter_hxx)
113 #endif
114 
115 
116 #endif
117 
Superclass::VectorType VectorType
Superclass::MatrixPointer MatrixPointer
FeaturesFromSPFImageFilter< TInputImage, TOutputImage > Superclass
SmartPointer< const Self > ConstPointer
#define itkTypedefMaskedImageToImageMacro(Superclass)
Definition: utlITKMacro.h:165
Superclass::STDVectorPointer STDVectorPointer
calculate ODFs from SPF coefficients
#define ITK_OVERRIDE
Definition: utlITKMacro.h:46
Superclass::VectorPointer VectorPointer
Superclass::STDVectorType STDVectorType
Superclass::MatrixType MatrixType
Compute some features (DWI/EAP profile, ODFs, scalar indices) from SPF coefficients.