Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::PathConstIterator< TImage, TPath > Class Template Reference
[Image IteratorsPath Representation Objects]

PathConstIterator iterates (traces) over a path through an image. More...

#include <itkPathConstIterator.h>

Inheritance diagram for itk::PathConstIterator< TImage, TPath >:

Inheritance graph
[legend]
List of all members.

Public Types

typedef PathConstIterator Self
typedef TImage::IndexType IndexType
typedef TImage::IndexValueType IndexValueType
typedef TImage::OffsetType OffsetType
typedef TImage::OffsetValueType OffsetValueType
typedef TImage::SizeType SizeType
typedef TImage::SizeValueType SizeValueType
typedef TImage::RegionType RegionType
typedef TImage ImageType
typedef TImage::PixelContainer PixelContainer
typedef PixelContainer::Pointer PixelContainerPointer
typedef TImage::InternalPixelType InternalPixelType
typedef TImage::PixelType PixelType
typedef TImage::AccessorType AccessorType
typedef TPath PathType
typedef PathType::InputType PathInputType
typedef PathType::OutputType PathOutputType

Public Member Functions

 itkStaticConstMacro (ImageIteratorDimension, unsigned int, TImage::ImageDimension)
virtual const char * GetClassName () const
const PathInputType GetPathPosition ()
const IndexType GetIndex ()
const PixelTypeGet (void) const
bool IsAtEnd ()
virtual void VisitStartIndexAsLastIndexIfClosed (bool flag)
void GoToBegin ()
void operator++ ()
Selfoperator= (const Self &it)
 PathConstIterator (const ImageType *imagePtr, const PathType *pathPtr)
virtual ~PathConstIterator ()

Static Public Member Functions

unsigned int GetImageIteratorDimension ()

Protected Attributes

OffsetType m_ZeroOffset
ImageType::ConstPointer m_Image
PathType::ConstPointer m_Path
RegionType m_Region
const double * m_ImageOrigin
const double * m_ImageSpacing
const unsigned long int * m_ImageSize
bool m_VisitStartIndexAsLastIndexIfClosed
bool m_IsAtEnd
PathInputType m_CurrentPathPosition
IndexType m_CurrentImageIndex

Detailed Description

template<class TImage, class TPath>
class itk::PathConstIterator< TImage, TPath >

PathConstIterator iterates (traces) over a path through an image.

This iterator visits only those indices of the image which are overlapped by the path. All indicies are visited in path order. If a path crosses itself at an index, that index of the image will be visited twice. An exception to this rule is that if the path is closed (more specifically, if its starting and ending indicies are coincident), then GoToBegin() will go to the second index, since the "first" index will be visited later as the "last" index. This is so that paths (especially parametric paths) can be properly closed, without double-visiting the starting/ending point. This behavior can be overridden by calling VisitStartIndexAsLastIndexIfClosed(false) before calling GoToBegin(). This class is the const version of the PathIterator, and for this reason it doesn't support the Set() method.

Definition at line 48 of file itkPathConstIterator.h.


Member Typedef Documentation

template<class TImage, class TPath>
typedef TImage::AccessorType itk::PathConstIterator< TImage, TPath >::AccessorType
 

Accessor type that convert data between internal and external representations.

Reimplemented in itk::PathIterator< TImage, TPath >.

Definition at line 94 of file itkPathConstIterator.h.

template<class TImage, class TPath>
typedef TImage itk::PathConstIterator< TImage, TPath >::ImageType
 

Image typedef support.

Reimplemented in itk::PathIterator< TImage, TPath >.

Definition at line 78 of file itkPathConstIterator.h.

template<class TImage, class TPath>
typedef TImage::IndexType itk::PathConstIterator< TImage, TPath >::IndexType
 

Index typedef support.

Reimplemented in itk::PathIterator< TImage, TPath >.

Definition at line 63 of file itkPathConstIterator.h.

template<class TImage, class TPath>
typedef TImage::IndexValueType itk::PathConstIterator< TImage, TPath >::IndexValueType
 

Reimplemented in itk::PathIterator< TImage, TPath >.

Definition at line 64 of file itkPathConstIterator.h.

template<class TImage, class TPath>
typedef TImage::InternalPixelType itk::PathConstIterator< TImage, TPath >::InternalPixelType
 

Internal Pixel Type

Reimplemented in itk::PathIterator< TImage, TPath >.

Definition at line 87 of file itkPathConstIterator.h.

template<class TImage, class TPath>
typedef TImage::OffsetType itk::PathConstIterator< TImage, TPath >::OffsetType
 

Offset typedef support.

Reimplemented in itk::PathIterator< TImage, TPath >.

Definition at line 67 of file itkPathConstIterator.h.

Referenced by itk::PathConstIterator< TImage, TPath >::~PathConstIterator().

template<class TImage, class TPath>
typedef TImage::OffsetValueType itk::PathConstIterator< TImage, TPath >::OffsetValueType
 

Reimplemented in itk::PathIterator< TImage, TPath >.

Definition at line 68 of file itkPathConstIterator.h.

template<class TImage, class TPath>
typedef PathType::InputType itk::PathConstIterator< TImage, TPath >::PathInputType
 

Path 1D Input Type

Reimplemented in itk::PathIterator< TImage, TPath >.

Definition at line 100 of file itkPathConstIterator.h.

template<class TImage, class TPath>
typedef PathType::OutputType itk::PathConstIterator< TImage, TPath >::PathOutputType
 

Path ND Output Type, which is not necessarily an index type

Reimplemented in itk::PathIterator< TImage, TPath >.

Definition at line 103 of file itkPathConstIterator.h.

template<class TImage, class TPath>
typedef TPath itk::PathConstIterator< TImage, TPath >::PathType
 

Path typedef support

Reimplemented in itk::PathIterator< TImage, TPath >.

Definition at line 97 of file itkPathConstIterator.h.

template<class TImage, class TPath>
typedef TImage::PixelContainer itk::PathConstIterator< TImage, TPath >::PixelContainer
 

PixelContainer typedef support. Used to refer to the container for the pixel data. While this was already typdef'ed in the superclass it needs to be redone here for this subclass to compile properly with gcc.

Reimplemented in itk::PathIterator< TImage, TPath >.

Definition at line 83 of file itkPathConstIterator.h.

template<class TImage, class TPath>
typedef PixelContainer::Pointer itk::PathConstIterator< TImage, TPath >::PixelContainerPointer
 

Reimplemented in itk::PathIterator< TImage, TPath >.

Definition at line 84 of file itkPathConstIterator.h.

template<class TImage, class TPath>
typedef TImage::PixelType itk::PathConstIterator< TImage, TPath >::PixelType
 

External Pixel Type

Reimplemented in itk::PathIterator< TImage, TPath >.

Definition at line 90 of file itkPathConstIterator.h.

template<class TImage, class TPath>
typedef TImage::RegionType itk::PathConstIterator< TImage, TPath >::RegionType
 

Region typedef support

Reimplemented in itk::PathIterator< TImage, TPath >.

Definition at line 75 of file itkPathConstIterator.h.

template<class TImage, class TPath>
typedef PathConstIterator itk::PathConstIterator< TImage, TPath >::Self
 

Standard class typedefs.

Reimplemented in itk::PathIterator< TImage, TPath >.

Definition at line 53 of file itkPathConstIterator.h.

template<class TImage, class TPath>
typedef TImage::SizeType itk::PathConstIterator< TImage, TPath >::SizeType
 

Size typedef support.

Reimplemented in itk::PathIterator< TImage, TPath >.

Definition at line 71 of file itkPathConstIterator.h.

template<class TImage, class TPath>
typedef TImage::SizeValueType itk::PathConstIterator< TImage, TPath >::SizeValueType
 

Reimplemented in itk::PathIterator< TImage, TPath >.

Definition at line 72 of file itkPathConstIterator.h.


Constructor & Destructor Documentation

template<class TImage, class TPath>
itk::PathConstIterator< TImage, TPath >::PathConstIterator const ImageType imagePtr,
const PathType pathPtr
 

Constructor establishes an iterator to walk along a path

template<class TImage, class TPath>
virtual itk::PathConstIterator< TImage, TPath >::~PathConstIterator  )  [inline, virtual]
 

Default Destructor. Definition at line 167 of file itkPathConstIterator.h.

References itk::PathConstIterator< TImage, TPath >::OffsetType.


Member Function Documentation

template<class TImage, class TPath>
const PixelType& itk::PathConstIterator< TImage, TPath >::Get void   )  const [inline]
 

Get the pixel value Definition at line 127 of file itkPathConstIterator.h.

template<class TImage, class TPath>
virtual const char* itk::PathConstIterator< TImage, TPath >::GetClassName  )  const [virtual]
 

Run-time type information (and related methods).

Reimplemented in itk::PathIterator< TImage, TPath >.

template<class TImage, class TPath>
unsigned int itk::PathConstIterator< TImage, TPath >::GetImageIteratorDimension  )  [inline, static]
 

Get the dimension (size) of the index. Definition at line 109 of file itkPathConstIterator.h.

template<class TImage, class TPath>
const IndexType itk::PathConstIterator< TImage, TPath >::GetIndex void   )  [inline]
 

Get the index. This provides a read only reference to the index. Definition at line 121 of file itkPathConstIterator.h.

template<class TImage, class TPath>
const PathInputType itk::PathConstIterator< TImage, TPath >::GetPathPosition  )  [inline]
 

Get the input. This provides a read only reference to the input. Definition at line 115 of file itkPathConstIterator.h.

template<class TImage, class TPath>
void itk::PathConstIterator< TImage, TPath >::GoToBegin  ) 
 

Move an iterator to the beginning of the path. If the starting and ending indicies of the path are coincident, then move to the 2'nd index of the path, since the 1'st index will be visited later as the last index. However, if m_VisitStartIndexAsLastIndexIfClosed is false, then GoToBegin() will always move to the 1'st index.

template<class TImage, class TPath>
bool itk::PathConstIterator< TImage, TPath >::IsAtEnd void   )  [inline]
 

Is the iterator at the end of the path? Note that for a closed path, it may be possible to increment back to the start of the path. Definition at line 135 of file itkPathConstIterator.h.

template<class TImage, class TPath>
itk::PathConstIterator< TImage, TPath >::itkStaticConstMacro ImageIteratorDimension  ,
unsigned  int,
TImage::ImageDimension 
 

Dimension of the image the iterator walks. This constant is needed so that functions that are templated over image iterator type (as opposed to being templated over pixel type and dimension) can have compile time access to the dimension of the image that the iterator walks.

Reimplemented in itk::PathIterator< TImage, TPath >.

template<class TImage, class TPath>
void itk::PathConstIterator< TImage, TPath >::operator++  ) 
 

Walk forward along the path to the next index in the image.

template<class TImage, class TPath>
Self& itk::PathConstIterator< TImage, TPath >::operator= const Self it  ) 
 

operator= is provided to make sure the handles to the image and path are properly reference counted.

Reimplemented in itk::PathIterator< TImage, TPath >.

template<class TImage, class TPath>
virtual void itk::PathConstIterator< TImage, TPath >::VisitStartIndexAsLastIndexIfClosed bool  flag  )  [inline, virtual]
 

Should GoToBegin() initially skip the first index of a closed path so that the first index will only be visited once--at the end of the path? If set to false, then GoToBegin() will always move to the 1'st index. The constructor presets m_VisitStartIndexAsLastIndexIfClosed to true. Definition at line 144 of file itkPathConstIterator.h.


Member Data Documentation

template<class TImage, class TPath>
IndexType itk::PathConstIterator< TImage, TPath >::m_CurrentImageIndex [protected]
 

Current ND index position in the image of the path Definition at line 204 of file itkPathConstIterator.h.

template<class TImage, class TPath>
PathInputType itk::PathConstIterator< TImage, TPath >::m_CurrentPathPosition [protected]
 

Current 1D position along the path, such as time or arc length Definition at line 201 of file itkPathConstIterator.h.

template<class TImage, class TPath>
ImageType::ConstPointer itk::PathConstIterator< TImage, TPath >::m_Image [protected]
 

Smart pointer to the source image. Definition at line 174 of file itkPathConstIterator.h.

template<class TImage, class TPath>
const double* itk::PathConstIterator< TImage, TPath >::m_ImageOrigin [protected]
 

The origin of the source image Definition at line 183 of file itkPathConstIterator.h.

template<class TImage, class TPath>
const unsigned long int* itk::PathConstIterator< TImage, TPath >::m_ImageSize [protected]
 

Size of the source image Definition at line 189 of file itkPathConstIterator.h.

template<class TImage, class TPath>
const double* itk::PathConstIterator< TImage, TPath >::m_ImageSpacing [protected]
 

The spacing of the source image Definition at line 186 of file itkPathConstIterator.h.

template<class TImage, class TPath>
bool itk::PathConstIterator< TImage, TPath >::m_IsAtEnd [protected]
 

Is the iterator at the end of its walk? Definition at line 198 of file itkPathConstIterator.h.

template<class TImage, class TPath>
PathType::ConstPointer itk::PathConstIterator< TImage, TPath >::m_Path [protected]
 

Smart pointer to the path we're following Definition at line 177 of file itkPathConstIterator.h.

template<class TImage, class TPath>
RegionType itk::PathConstIterator< TImage, TPath >::m_Region [protected]
 

Region type to iterate over. Definition at line 180 of file itkPathConstIterator.h.

template<class TImage, class TPath>
bool itk::PathConstIterator< TImage, TPath >::m_VisitStartIndexAsLastIndexIfClosed [protected]
 

Should GoToBegin() initially skip the first index of a closed path so that the first index will only be visited once--at the end of the path? If false, then GoToBegin() will always move to the 1'st index. The default value is true, which is set the constructor. Definition at line 195 of file itkPathConstIterator.h.

template<class TImage, class TPath>
OffsetType itk::PathConstIterator< TImage, TPath >::m_ZeroOffset [protected]
 

Definition at line 171 of file itkPathConstIterator.h.


The documentation for this class was generated from the following file:
Generated at Sat Mar 31 02:58:49 2007 for ITK by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2000