DMRITool  v0.1.1-139-g860d86b4
Diffusion MRI Tool
itkSlowPolyLineParametricPath.h
Go to the documentation of this file.
1 #ifndef _itkSlowPolyLineParametricPathPath_h
2 #define _itkSlowPolyLineParametricPathPath_h
3 
4 #include "itkPolyLineParametricPath.h"
5 #include "itkVectorContainer.h"
6 #include "itkContinuousIndex.h"
7 #include "itkIndex.h"
8 #include "itkOffset.h"
9 #include "itkVector.h"
10 
11 namespace itk
12 {
13 
14 
38 template <unsigned int VDimension>
39 class ITK_EXPORT SlowPolyLineParametricPath : public
40 PolyLineParametricPath< VDimension >
41 {
42 public:
45  typedef PolyLineParametricPath<VDimension> Superclass;
46  typedef SmartPointer<Self> Pointer;
47  typedef SmartPointer<const Self> ConstPointer;
48 
50  itkTypeMacro(SlowPolyLineParametricPath, PolyLineParametricPath);
51 
53  typedef typename Superclass::InputType InputType;
54 
56  typedef typename Superclass::OutputType OutputType;
57 
58 
60  typedef typename Superclass::ContinuousIndexType ContinuousIndexType;
61  typedef typename Superclass::IndexType IndexType;
62  typedef typename Superclass::OffsetType OffsetType;
63  typedef typename Superclass::PointType PointType;
64  typedef typename Superclass::VectorType VectorType;
65  typedef typename Superclass::VertexType VertexType;
66  typedef typename Superclass::VertexListType VertexListType;
67  typedef typename Superclass::VertexListPointer VertexListPointer;
68 
84  virtual OffsetType IncrementInput(InputType & input) const ITK_OVERRIDE;
85 
87  virtual OutputType Evaluate(const InputType & input) const ITK_OVERRIDE;
88 
92  // virtual VectorType EvaluateDerivative(const InputType & input) const ITK_OVERRIDE;
93  VectorType EvaluateDerivative(const InputType & input, bool isDerivativeNormalizedByDistance=false) const;
94 
95 
97  itkNewMacro( Self );
98 
99  itkSetMacro(UseCentralDifference, bool);
100  itkGetMacro(UseCentralDifference, bool);
101  itkBooleanMacro(UseCentralDifference);
102 
103 protected:
106  void PrintSelf(std::ostream& os, Indent indent) const ITK_OVERRIDE;
107 
110 
111 private:
112  SlowPolyLineParametricPath(const Self&); //purposely not implemented
113  void operator=(const Self&); //purposely not implemented
114 };
115 
116 } // namespace itk
117 
118 #if !defined(ITK_MANUAL_INSTANTIATION) && !defined(__itkSlowPolyLineParametricPath_hxx)
120 #endif
121 
122 #endif
Represent a path of line segments through ND Space.
Superclass::VertexListPointer VertexListPointer
#define ITK_OVERRIDE
Definition: utlITKMacro.h:46
PolyLineParametricPath< VDimension > Superclass
Superclass::ContinuousIndexType ContinuousIndexType