ITK  4.12.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Attributes | List of all members
itk::ChainCodePath< VDimension > Class Template Reference

#include <itkChainCodePath.h>

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

Detailed Description

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

Represent a path as a sequence of connected image index offsets.

This class is intended to represent sequences of connected indices in an image. It does so by storing the offset of each index from its immediately preceding, connected, index. The only image index stored directly is that of the first index. ChainCodePath maps a 1D integer input (step number) to an ND integer output (either an offset or an image index, depending on whether Evaluate or EvaluateToIndex is called).

See Also
ChainCodePath2D
ParametricPath
Path
Index
Offset

Definition at line 49 of file itkChainCodePath.h.

Public Types

typedef ChainCodeType::size_type ChainCodeSizeType
 
typedef std::vector< OffsetTypeChainCodeType
 
typedef SmartPointer< const SelfConstPointer
 
typedef Index< VDimension > IndexType
 
typedef Superclass::InputType InputType
 
typedef OutputType OffsetType
 
typedef Superclass::OutputType OutputType
 
typedef SmartPointer< SelfPointer
 
typedef ChainCodePath< VDimension > Self
 
typedef Path< unsigned int,
Offset< VDimension >
, VDimension > 
Superclass
 
- Public Types inherited from itk::Path< unsigned int, Offset< VDimension >, VDimension >
typedef SmartPointer< const SelfConstPointer
 
typedef Index< VDimension > IndexType
 
typedef unsigned int InputType
 
typedef Offset< VDimension > OffsetType
 
typedef Offset< VDimension > OutputType
 
typedef SmartPointer< SelfPointer
 
typedef Path Self
 
typedef DataObject Superclass
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual InputType EndOfInput () const override
 
virtual OutputType Evaluate (const InputType &input) const override
 
virtual IndexType EvaluateToIndex (const InputType &input) const override
 
virtual const char * GetNameOfClass () const
 
virtual OffsetType IncrementInput (InputType &input) const override
 
virtual ChainCodeSizeType NumberOfSteps () const
 
virtual void SetStart (IndexType _arg)
 
virtual const IndexTypeGetStart () const
 
virtual void InsertStep (InputType position, OffsetType step)
 
virtual void ChangeStep (InputType position, OffsetType step)
 
virtual void Clear ()
 
virtual void Initialize (void) override
 
- Public Member Functions inherited from itk::Path< unsigned int, Offset< VDimension >, VDimension >
virtual InputType StartOfInput () const
 

Static Public Member Functions

static Pointer New ()
 

Static Public Attributes

static const unsigned int Dimension = VDimension
 
- Static Public Attributes inherited from itk::Path< unsigned int, Offset< VDimension >, VDimension >
static const unsigned int PathDimension
 

Protected Member Functions

 ChainCodePath ()
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
 ~ChainCodePath ()
 
- Protected Member Functions inherited from itk::Path< unsigned int, Offset< VDimension >, VDimension >
virtual IndexType GetZeroIndex () const
 
virtual OffsetType GetZeroOffset () const
 
 Path ()
 
 ~Path ()
 

Private Attributes

ChainCodeType m_Chain
 
IndexType m_Start
 

Member Typedef Documentation

template<unsigned int VDimension>
typedef ChainCodeType::size_type itk::ChainCodePath< VDimension >::ChainCodeSizeType

Definition at line 76 of file itkChainCodePath.h.

template<unsigned int VDimension>
typedef std::vector< OffsetType > itk::ChainCodePath< VDimension >::ChainCodeType

Definition at line 74 of file itkChainCodePath.h.

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

Definition at line 61 of file itkChainCodePath.h.

template<unsigned int VDimension>
typedef Index< VDimension > itk::ChainCodePath< VDimension >::IndexType

Definition at line 72 of file itkChainCodePath.h.

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

Definition at line 68 of file itkChainCodePath.h.

template<unsigned int VDimension>
typedef OutputType itk::ChainCodePath< VDimension >::OffsetType

The output type of this function is an Index

Definition at line 71 of file itkChainCodePath.h.

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

OutputType typedef support.

Definition at line 64 of file itkChainCodePath.h.

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

Definition at line 60 of file itkChainCodePath.h.

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

Standard class typedefs.

Definition at line 57 of file itkChainCodePath.h.

template<unsigned int VDimension>
typedef Path< unsigned int, Offset< VDimension >, VDimension > itk::ChainCodePath< VDimension >::Superclass

Definition at line 58 of file itkChainCodePath.h.

Constructor & Destructor Documentation

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

Definition at line 149 of file itkChainCodePath.h.

Member Function Documentation

template<unsigned int VDimension>
virtual void itk::ChainCodePath< VDimension >::ChangeStep ( InputType  position,
OffsetType  step 
)
inlinevirtual

Change the direction of a step in the chaincode

Definition at line 118 of file itkChainCodePath.h.

template<unsigned int VDimension>
virtual void itk::ChainCodePath< VDimension >::Clear ( void  )
inlinevirtual

Remove all steps from the chain code

Reimplemented in itk::ChainCodePath2D.

Definition at line 126 of file itkChainCodePath.h.

template<unsigned int VDimension>
virtual::itk::LightObject::Pointer itk::ChainCodePath< VDimension >::CreateAnother ( ) const
template<unsigned int VDimension>
virtual InputType itk::ChainCodePath< VDimension >::EndOfInput ( ) const
inlineoverridevirtual

Where does the path end (what is the last valid input value)?

Reimplemented from itk::Path< unsigned int, Offset< VDimension >, VDimension >.

Definition at line 96 of file itkChainCodePath.h.

template<unsigned int VDimension>
virtual OutputType itk::ChainCodePath< VDimension >::Evaluate ( const InputType input) const
inlineoverridevirtual

Evaluate the chaincode for the offset at the specified path-position.

Implements itk::Path< unsigned int, Offset< VDimension >, VDimension >.

Definition at line 81 of file itkChainCodePath.h.

template<unsigned int VDimension>
virtual IndexType itk::ChainCodePath< VDimension >::EvaluateToIndex ( const InputType input) const
overridevirtual

Like Evaluate(), but returns the index at the specified path-position.

Implements itk::Path< unsigned int, Offset< VDimension >, VDimension >.

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

Run-time type information (and related methods).

Reimplemented from itk::Path< unsigned int, Offset< VDimension >, VDimension >.

Reimplemented in itk::ChainCodePath2D.

template<unsigned int VDimension>
virtual const IndexType& itk::ChainCodePath< VDimension >::GetStart ( ) const
virtual

Set/Get the index associated with the initial position of the path

template<unsigned int VDimension>
virtual OffsetType itk::ChainCodePath< VDimension >::IncrementInput ( InputType input) const
overridevirtual

Increment the input variable passed by reference and then return the offset stored at the new path-position. If the chaincode is unable to be incremented, input is not changed and an offset of zero is returned, which may be used to check for the end of the chain code.

Implements itk::Path< unsigned int, Offset< VDimension >, VDimension >.

template<unsigned int VDimension>
virtual void itk::ChainCodePath< VDimension >::Initialize ( void  )
inlineoverridevirtual

Needed for Pipelining

Definition at line 140 of file itkChainCodePath.h.

template<unsigned int VDimension>
virtual void itk::ChainCodePath< VDimension >::InsertStep ( InputType  position,
OffsetType  step 
)
inlinevirtual

Insert a new step into the chaincode at a specified position

Definition at line 110 of file itkChainCodePath.h.

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

New() method for dynamic construction

template<unsigned int VDimension>
virtual ChainCodeSizeType itk::ChainCodePath< VDimension >::NumberOfSteps ( ) const
inlinevirtual

How many steps in the chaincode?

Reimplemented in itk::ChainCodePath2D.

Definition at line 134 of file itkChainCodePath.h.

template<unsigned int VDimension>
void itk::ChainCodePath< VDimension >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotectedvirtual
template<unsigned int VDimension>
virtual void itk::ChainCodePath< VDimension >::SetStart ( IndexType  _arg)
virtual

Set/Get the index associated with the initial position of the path

Member Data Documentation

template<unsigned int VDimension>
const unsigned int itk::ChainCodePath< VDimension >::Dimension = VDimension
static

Dimension underlying input image.

Definition at line 54 of file itkChainCodePath.h.

template<unsigned int VDimension>
ChainCodeType itk::ChainCodePath< VDimension >::m_Chain
private

Definition at line 156 of file itkChainCodePath.h.

template<unsigned int VDimension>
IndexType itk::ChainCodePath< VDimension >::m_Start
private

Definition at line 153 of file itkChainCodePath.h.


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