DMRITool  v0.1.1-139-g860d86b4
Diffusion MRI Tool
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
itk::SlowPolyLineParametricPath< VDimension > Class Template Reference

#include <itkSlowPolyLineParametricPath.h>

+ Inheritance diagram for itk::SlowPolyLineParametricPath< VDimension >:
+ Collaboration diagram for itk::SlowPolyLineParametricPath< VDimension >:

Detailed Description

template<unsigned int VDimension>
class itk::SlowPolyLineParametricPath< VDimension >

Represent a path of line segments through ND Space.

This class is intended to represent parametric paths through an image, where the paths are composed of line segments. Each line segment traverses one unit of input. A classic application of this class is the representation of contours in 2D images, especially when the contours only need to be approximately correct. Another use of a path is to guide the movement of an iterator through an image.

See also
EllipseParametricPath
FourierSeriesPath
OrthogonallyCorrectedParametricPath
ParametricPath
ChainCodePath
Path
ContinuousIndex
Index
Offset
Vector

Definition at line 39 of file itkSlowPolyLineParametricPath.h.

Public Types

typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::ContinuousIndexType ContinuousIndexType
 
typedef Superclass::IndexType IndexType
 
typedef Superclass::InputType InputType
 
typedef Superclass::OffsetType OffsetType
 
typedef Superclass::OutputType OutputType
 
typedef SmartPointer< SelfPointer
 
typedef Superclass::PointType PointType
 
typedef SlowPolyLineParametricPath Self
 
typedef PolyLineParametricPath< VDimension > Superclass
 
typedef Superclass::VectorType VectorType
 
typedef Superclass::VertexListPointer VertexListPointer
 
typedef Superclass::VertexListType VertexListType
 
typedef Superclass::VertexType VertexType
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual OutputType Evaluate (const InputType &input) const ITK_OVERRIDE
 
VectorType EvaluateDerivative (const InputType &input, bool isDerivativeNormalizedByDistance=false) const
 
virtual const char * GetNameOfClass () const
 
virtual bool GetUseCentralDifference ()
 
virtual OffsetType IncrementInput (InputType &input) const ITK_OVERRIDE
 
virtual void SetUseCentralDifference (bool _arg)
 
virtual void UseCentralDifferenceOff ()
 
virtual void UseCentralDifferenceOn ()
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

void PrintSelf (std::ostream &os, Indent indent) const ITK_OVERRIDE
 
 SlowPolyLineParametricPath ()
 
 ~SlowPolyLineParametricPath ()
 

Protected Attributes

bool m_UseCentralDifference
 

Private Member Functions

void operator= (const Self &)
 
 SlowPolyLineParametricPath (const Self &)
 

Member Typedef Documentation

template<unsigned int VDimension>
typedef SmartPointer<const Self> itk::SlowPolyLineParametricPath< VDimension >::ConstPointer

Definition at line 47 of file itkSlowPolyLineParametricPath.h.

template<unsigned int VDimension>
typedef Superclass::ContinuousIndexType itk::SlowPolyLineParametricPath< VDimension >::ContinuousIndexType

Basic data-structure types used

Definition at line 60 of file itkSlowPolyLineParametricPath.h.

template<unsigned int VDimension>
typedef Superclass::IndexType itk::SlowPolyLineParametricPath< VDimension >::IndexType

Definition at line 61 of file itkSlowPolyLineParametricPath.h.

template<unsigned int VDimension>
typedef Superclass::InputType itk::SlowPolyLineParametricPath< VDimension >::InputType

Input type

Definition at line 50 of file itkSlowPolyLineParametricPath.h.

template<unsigned int VDimension>
typedef Superclass::OffsetType itk::SlowPolyLineParametricPath< VDimension >::OffsetType

Definition at line 62 of file itkSlowPolyLineParametricPath.h.

template<unsigned int VDimension>
typedef Superclass::OutputType itk::SlowPolyLineParametricPath< VDimension >::OutputType

Output type

Definition at line 56 of file itkSlowPolyLineParametricPath.h.

template<unsigned int VDimension>
typedef SmartPointer<Self> itk::SlowPolyLineParametricPath< VDimension >::Pointer

Definition at line 46 of file itkSlowPolyLineParametricPath.h.

template<unsigned int VDimension>
typedef Superclass::PointType itk::SlowPolyLineParametricPath< VDimension >::PointType

Definition at line 63 of file itkSlowPolyLineParametricPath.h.

template<unsigned int VDimension>
typedef SlowPolyLineParametricPath itk::SlowPolyLineParametricPath< VDimension >::Self

Standard class typedefs.

Definition at line 44 of file itkSlowPolyLineParametricPath.h.

template<unsigned int VDimension>
typedef PolyLineParametricPath<VDimension> itk::SlowPolyLineParametricPath< VDimension >::Superclass

Definition at line 45 of file itkSlowPolyLineParametricPath.h.

template<unsigned int VDimension>
typedef Superclass::VectorType itk::SlowPolyLineParametricPath< VDimension >::VectorType

Definition at line 64 of file itkSlowPolyLineParametricPath.h.

template<unsigned int VDimension>
typedef Superclass::VertexListPointer itk::SlowPolyLineParametricPath< VDimension >::VertexListPointer

Definition at line 67 of file itkSlowPolyLineParametricPath.h.

template<unsigned int VDimension>
typedef Superclass::VertexListType itk::SlowPolyLineParametricPath< VDimension >::VertexListType

Definition at line 66 of file itkSlowPolyLineParametricPath.h.

template<unsigned int VDimension>
typedef Superclass::VertexType itk::SlowPolyLineParametricPath< VDimension >::VertexType

Definition at line 65 of file itkSlowPolyLineParametricPath.h.

Constructor & Destructor Documentation

template<unsigned int VDimension>
itk::SlowPolyLineParametricPath< VDimension >::SlowPolyLineParametricPath ( )
protected

Constructor

Definition at line 26 of file itkSlowPolyLineParametricPath.hxx.

References itk::SlowPolyLineParametricPath< VDimension >::Evaluate().

+ Here is the call graph for this function:

template<unsigned int VDimension>
itk::SlowPolyLineParametricPath< VDimension >::~SlowPolyLineParametricPath ( )
inlineprotected

Definition at line 105 of file itkSlowPolyLineParametricPath.h.

References ITK_OVERRIDE.

template<unsigned int VDimension>
itk::SlowPolyLineParametricPath< VDimension >::SlowPolyLineParametricPath ( const Self )
private

Member Function Documentation

template<unsigned int VDimension>
virtual::itk::LightObject::Pointer itk::SlowPolyLineParametricPath< VDimension >::CreateAnother ( void  ) const
template<unsigned int VDimension>
PolyLineParametricPath< VDimension >::OutputType itk::SlowPolyLineParametricPath< VDimension >::Evaluate ( const InputType input) const
virtual

Return the location of the parametric path at the specified location.

Definition at line 35 of file itkSlowPolyLineParametricPath.hxx.

References itk::SlowPolyLineParametricPath< VDimension >::EvaluateDerivative().

Referenced by itk::SlowPolyLineParametricPath< VDimension >::SlowPolyLineParametricPath().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<unsigned int VDimension>
PolyLineParametricPath< VDimension >::VectorType itk::SlowPolyLineParametricPath< VDimension >::EvaluateDerivative ( const InputType input,
bool  isDerivativeNormalizedByDistance = false 
) const

This function overrides the superclass EvaluateDerivative and instead calculates the instantaneous derivative of input by taking the index of the previous and next integral timepoints and subtracting them

Definition at line 70 of file itkSlowPolyLineParametricPath.hxx.

References itk::SlowPolyLineParametricPath< VDimension >::IncrementInput().

Referenced by itk::SlowPolyLineParametricPath< VDimension >::Evaluate().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<unsigned int VDimension>
virtual const char* itk::SlowPolyLineParametricPath< VDimension >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

template<unsigned int VDimension>
virtual bool itk::SlowPolyLineParametricPath< VDimension >::GetUseCentralDifference ( )
virtual
template<unsigned int VDimension>
SlowPolyLineParametricPath< VDimension >::OffsetType itk::SlowPolyLineParametricPath< VDimension >::IncrementInput ( InputType input) const
virtual

Increment the input variable passed by reference such that the ND index of the path moves to its next vertex-connected (8-connected in 2D) neighbor. Return the Index-space offset of the path from its prior input to its new input. If the path is unable to increment, input is not changed and an offset of Zero is returned. Children are not required to implement bounds checking.

This is a fairly slow, iterative algorithm that numerically converges to the next index along the path, in a vertex-connected (8-connected in 2D) fashion. When possible, children of this class should overload this function with something more efficient.

WARNING: This default implementation REQUIRES that the ND endpoint of the path be either unique or coincident only with the startpoint, since it uses the endpoint as a stopping condition.

Definition at line 107 of file itkSlowPolyLineParametricPath.hxx.

References itk::SlowPolyLineParametricPath< VDimension >::PrintSelf().

Referenced by itk::SlowPolyLineParametricPath< VDimension >::EvaluateDerivative().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<unsigned int VDimension>
static Pointer itk::SlowPolyLineParametricPath< VDimension >::New ( )
static

New() method for dynamic construction

template<unsigned int VDimension>
void itk::SlowPolyLineParametricPath< VDimension >::operator= ( const Self )
private
template<unsigned int VDimension>
void itk::SlowPolyLineParametricPath< VDimension >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protected

Standard "PrintSelf" method

Definition at line 178 of file itkSlowPolyLineParametricPath.hxx.

Referenced by itk::SlowPolyLineParametricPath< VDimension >::IncrementInput().

+ Here is the caller graph for this function:

template<unsigned int VDimension>
virtual void itk::SlowPolyLineParametricPath< VDimension >::SetUseCentralDifference ( bool  _arg)
virtual
template<unsigned int VDimension>
virtual void itk::SlowPolyLineParametricPath< VDimension >::UseCentralDifferenceOff ( )
virtual
template<unsigned int VDimension>
virtual void itk::SlowPolyLineParametricPath< VDimension >::UseCentralDifferenceOn ( )
virtual

Member Data Documentation

template<unsigned int VDimension>
bool itk::SlowPolyLineParametricPath< VDimension >::m_UseCentralDifference
protected

If true, use central difference for EvaluateDerivative

Definition at line 109 of file itkSlowPolyLineParametricPath.h.


The documentation for this class was generated from the following files: