DMRITool  v0.1.1-139-g860d86b4
Diffusion MRI Tool
itkProfileFromSPFImageFilter.h
Go to the documentation of this file.
1 
18 #ifndef __itkProfileFromSPFImageFilter_h
19 #define __itkProfileFromSPFImageFilter_h
20 
22 
23 
24 namespace itk
25 {
26 
34 template < class TInputImage, class TOutputImage >
35 class ITK_EXPORT ProfileFromSPFImageFilter :
36 public FeaturesFromSPFImageFilter<TInputImage, TOutputImage>
37 {
38 public:
42  typedef SmartPointer<Self> Pointer;
43  typedef SmartPointer<const Self> ConstPointer;
44 
46  itkNewMacro(Self);
47 
50 
52 
53  typedef typename Superclass::MatrixType MatrixType;
54  typedef typename Superclass::MatrixPointer MatrixPointer;
55  typedef typename Superclass::VectorType VectorType;
56  typedef typename Superclass::VectorPointer VectorPointer;
57  typedef typename Superclass::BasisType BasisType;
58  typedef typename Superclass::STDVectorType STDVectorType;
60 
61 
62  itkSetMacro(Radius, double);
63  itkGetMacro(Radius, double);
64 
65  itkSetMacro(RadiusVector, STDVectorPointer);
66  itkGetMacro(RadiusVector, STDVectorPointer);
67 
68  void ComputeSPFToFeatureTransform() ITK_OVERRIDE;
69 
70 protected:
71  ProfileFromSPFImageFilter() : Superclass(),
72  m_RadiusVector(new STDVectorType())
73  {
74  m_Radius=-1;
75  }
77 
78  void VerifyInputParameters() const ITK_OVERRIDE;
79  void GenerateOutputInformation() ITK_OVERRIDE;
80 
81  void BeforeThreadedGenerateData () ITK_OVERRIDE;
82  void ThreadedGenerateData(const typename TOutputImage::RegionType& outputRegionForThread,ThreadIdType threadId ) ITK_OVERRIDE;
83 
84  typename LightObject::Pointer InternalClone() const ITK_OVERRIDE;
85  void PrintSelf(std::ostream& os, Indent indent) const ITK_OVERRIDE;
86 
87 private:
88  ProfileFromSPFImageFilter(const Self&); //purposely not implemented
89  void operator=(const Self&); //purposely not implemented
90 
92  double m_Radius;
93 
95  STDVectorPointer m_RadiusVector;
96 };
97 
98 }
99 
100 #if ITK_TEMPLATE_EXPLICIT
101 # include "Templates/itkProfileFromSPFImageFilter+-.h"
102 #endif
103 
104 #if !defined(ITK_MANUAL_INSTANTIATION) && !defined(__itkProfileFromSPFImageFilter_hxx)
106 #endif
107 
108 
109 
110 
111 #endif
112 
Calculate DWI/EAP profile from SPF coefficients.
Superclass::STDVectorPointer STDVectorPointer
#define itkTypedefMaskedImageToImageMacro(Superclass)
Definition: utlITKMacro.h:165
FeaturesFromSPFImageFilter< TInputImage, TOutputImage > Superclass
#define ITK_OVERRIDE
Definition: utlITKMacro.h:46
utl_shared_ptr< STDVectorType > STDVectorPointer
Compute some features (DWI/EAP profile, ODFs, scalar indices) from SPF coefficients.