ITK  5.4.0
Insight Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
itk::PathConstIterator< TImage, TPath > Class Template Reference

#include <itkPathConstIterator.h>

Detailed Description

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

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

This iterator visits only those indices of the image that are overlapped by a specified 1D path. All indices 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, i.e. its starting and ending indices are coincident. When starting and ending indices are coincident, 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.

MORE INFORMATION
For a complete description of the ITK Image Iterators and their API, please see the Iterators chapter in the ITK Software Guide. The ITK Software Guide is available in print and as a free .pdf download from https://www.itk.org.
See also
ImageConstIterator
ConditionalConstIterator
ConstNeighborhoodIterator
ConstShapedNeighborhoodIterator
ConstSliceIterator
CorrespondenceDataStructureIterator
FloodFilledFunctionConditionalConstIterator
FloodFilledImageFunctionConditionalConstIterator
FloodFilledImageFunctionConditionalIterator
FloodFilledSpatialFunctionConditionalConstIterator
FloodFilledSpatialFunctionConditionalIterator
ImageConstIterator
ImageConstIteratorWithIndex
ImageIterator
ImageIteratorWithIndex
ImageLinearConstIteratorWithIndex
ImageLinearIteratorWithIndex
ImageRandomConstIteratorWithIndex
ImageRandomIteratorWithIndex
ImageRegionConstIterator
ImageRegionConstIteratorWithIndex
ImageRegionExclusionConstIteratorWithIndex
ImageRegionExclusionIteratorWithIndex
ImageRegionIterator
ImageRegionIteratorWithIndex
ImageRegionReverseConstIterator
ImageRegionReverseIterator
ImageReverseConstIterator
ImageReverseIterator
ImageSliceConstIteratorWithIndex
ImageSliceIteratorWithIndex
NeighborhoodIterator
PathIterator
ShapedNeighborhoodIterator
SliceIterator
ImageConstIteratorWithIndex

Definition at line 75 of file itkPathConstIterator.h.

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

Public Types

using AccessorType = typename TImage::AccessorType
 
using ImageType = TImage
 
using IndexType = typename TImage::IndexType
 
using InternalPixelType = typename TImage::InternalPixelType
 
using OffsetType = typename TImage::OffsetType
 
using PathInputType = typename PathType::InputType
 
using PathOutputType = typename PathType::OutputType
 
using PathType = TPath
 
using PixelContainer = typename TImage::PixelContainer
 
using PixelContainerPointer = typename PixelContainer::Pointer
 
using PixelType = typename TImage::PixelType
 
using PointType = typename TImage::PointType
 
using RegionType = typename TImage::RegionType
 
using Self = PathConstIterator
 
using SizeType = typename TImage::SizeType
 
using SpacingType = typename TImage::SpacingType
 

Public Member Functions

const PixelTypeGet () const
 
const IndexType GetIndex ()
 
const PathInputType GetPathPosition ()
 
void GoToBegin ()
 
bool IsAtEnd () const
 
 itkVirtualGetNameOfClassMacro (PathConstIterator)
 
void operator++ ()
 
Selfoperator= (const Self &it)
 
 PathConstIterator (const ImageType *imagePtr, const PathType *pathPtr)
 
virtual void VisitStartIndexAsLastIndexIfClosed (bool flag)
 
virtual ~PathConstIterator ()=default
 

Static Public Member Functions

static unsigned int GetImageIteratorDimension ()
 

Static Public Attributes

static constexpr unsigned int ImageIteratorDimension = TImage::ImageDimension
 

Protected Attributes

IndexType m_CurrentImageIndex {}
 
PathInputType m_CurrentPathPosition {}
 
ImageType::ConstWeakPointer m_Image {}
 
PointType m_ImageOrigin {}
 
const SizeValueTypem_ImageSize {}
 
SpacingType m_ImageSpacing {}
 
bool m_IsAtEnd {}
 
PathType::ConstPointer m_Path {}
 
RegionType m_Region {}
 
bool m_VisitStartIndexAsLastIndexIfClosed {}
 
OffsetType m_ZeroOffset {}
 

Member Typedef Documentation

◆ AccessorType

template<typename TImage , typename TPath >
using itk::PathConstIterator< TImage, TPath >::AccessorType = typename TImage::AccessorType

Accessor type that convert data between internal and external representations.

Definition at line 123 of file itkPathConstIterator.h.

◆ ImageType

template<typename TImage , typename TPath >
using itk::PathConstIterator< TImage, TPath >::ImageType = TImage

Image type alias support

Definition at line 107 of file itkPathConstIterator.h.

◆ IndexType

template<typename TImage , typename TPath >
using itk::PathConstIterator< TImage, TPath >::IndexType = typename TImage::IndexType

Index type alias support

Definition at line 89 of file itkPathConstIterator.h.

◆ InternalPixelType

template<typename TImage , typename TPath >
using itk::PathConstIterator< TImage, TPath >::InternalPixelType = typename TImage::InternalPixelType

Internal Pixel Type

Definition at line 116 of file itkPathConstIterator.h.

◆ OffsetType

template<typename TImage , typename TPath >
using itk::PathConstIterator< TImage, TPath >::OffsetType = typename TImage::OffsetType

Offset type alias support

Definition at line 92 of file itkPathConstIterator.h.

◆ PathInputType

template<typename TImage , typename TPath >
using itk::PathConstIterator< TImage, TPath >::PathInputType = typename PathType::InputType

Path 1D Input Type

Definition at line 129 of file itkPathConstIterator.h.

◆ PathOutputType

template<typename TImage , typename TPath >
using itk::PathConstIterator< TImage, TPath >::PathOutputType = typename PathType::OutputType

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

Definition at line 132 of file itkPathConstIterator.h.

◆ PathType

template<typename TImage , typename TPath >
using itk::PathConstIterator< TImage, TPath >::PathType = TPath

Path type alias support

Definition at line 126 of file itkPathConstIterator.h.

◆ PixelContainer

template<typename TImage , typename TPath >
using itk::PathConstIterator< TImage, TPath >::PixelContainer = typename TImage::PixelContainer

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

Definition at line 112 of file itkPathConstIterator.h.

◆ PixelContainerPointer

template<typename TImage , typename TPath >
using itk::PathConstIterator< TImage, TPath >::PixelContainerPointer = typename PixelContainer::Pointer

Definition at line 113 of file itkPathConstIterator.h.

◆ PixelType

template<typename TImage , typename TPath >
using itk::PathConstIterator< TImage, TPath >::PixelType = typename TImage::PixelType

External Pixel Type

Definition at line 119 of file itkPathConstIterator.h.

◆ PointType

template<typename TImage , typename TPath >
using itk::PathConstIterator< TImage, TPath >::PointType = typename TImage::PointType

Origin type alias support

Definition at line 104 of file itkPathConstIterator.h.

◆ RegionType

template<typename TImage , typename TPath >
using itk::PathConstIterator< TImage, TPath >::RegionType = typename TImage::RegionType

Region type alias support

Definition at line 98 of file itkPathConstIterator.h.

◆ Self

template<typename TImage , typename TPath >
using itk::PathConstIterator< TImage, TPath >::Self = PathConstIterator

Standard class type aliases.

Definition at line 80 of file itkPathConstIterator.h.

◆ SizeType

template<typename TImage , typename TPath >
using itk::PathConstIterator< TImage, TPath >::SizeType = typename TImage::SizeType

Size type alias support

Definition at line 95 of file itkPathConstIterator.h.

◆ SpacingType

template<typename TImage , typename TPath >
using itk::PathConstIterator< TImage, TPath >::SpacingType = typename TImage::SpacingType

Spacing type alias support

Definition at line 101 of file itkPathConstIterator.h.

Constructor & Destructor Documentation

◆ PathConstIterator()

template<typename TImage , typename TPath >
itk::PathConstIterator< TImage, TPath >::PathConstIterator ( const ImageType imagePtr,
const PathType pathPtr 
)

Constructor establishes an iterator to walk along a path

◆ ~PathConstIterator()

template<typename TImage , typename TPath >
virtual itk::PathConstIterator< TImage, TPath >::~PathConstIterator ( )
virtualdefault

Default Destructor.

Member Function Documentation

◆ Get()

template<typename TImage , typename TPath >
const PixelType& itk::PathConstIterator< TImage, TPath >::Get ( ) const
inline

Get the pixel value

Definition at line 160 of file itkPathConstIterator.h.

◆ GetImageIteratorDimension()

template<typename TImage , typename TPath >
static unsigned int itk::PathConstIterator< TImage, TPath >::GetImageIteratorDimension ( )
inlinestatic

Get the dimension (size) of the index.

Definition at line 139 of file itkPathConstIterator.h.

◆ GetIndex()

template<typename TImage , typename TPath >
const IndexType itk::PathConstIterator< TImage, TPath >::GetIndex ( )
inline

Get the index. This provides a read only reference to the index.

Definition at line 153 of file itkPathConstIterator.h.

◆ GetPathPosition()

template<typename TImage , typename TPath >
const PathInputType itk::PathConstIterator< TImage, TPath >::GetPathPosition ( )
inline

Get the input. This provides a read only reference to the input.

Definition at line 146 of file itkPathConstIterator.h.

◆ GoToBegin()

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

Move an iterator to the beginning of the path. If the starting and ending indices 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.

◆ IsAtEnd()

template<typename TImage , typename TPath >
bool itk::PathConstIterator< TImage, TPath >::IsAtEnd ( ) const
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 169 of file itkPathConstIterator.h.

◆ itkVirtualGetNameOfClassMacro()

template<typename TImage , typename TPath >
itk::PathConstIterator< TImage, TPath >::itkVirtualGetNameOfClassMacro ( PathConstIterator< TImage, TPath >  )

Run-time type information (and related methods).

◆ operator++()

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

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

◆ operator=()

template<typename TImage , typename 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.

◆ VisitStartIndexAsLastIndexIfClosed()

template<typename TImage , typename TPath >
virtual void itk::PathConstIterator< TImage, TPath >::VisitStartIndexAsLastIndexIfClosed ( bool  flag)
inlinevirtual

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 179 of file itkPathConstIterator.h.

Member Data Documentation

◆ ImageIteratorDimension

template<typename TImage , typename TPath >
constexpr unsigned int itk::PathConstIterator< TImage, TPath >::ImageIteratorDimension = TImage::ImageDimension
staticconstexpr

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.

Definition at line 86 of file itkPathConstIterator.h.

◆ m_CurrentImageIndex

template<typename TImage , typename TPath >
IndexType itk::PathConstIterator< TImage, TPath >::m_CurrentImageIndex {}
protected

Current ND index position in the image of the path

Definition at line 242 of file itkPathConstIterator.h.

◆ m_CurrentPathPosition

template<typename TImage , typename TPath >
PathInputType itk::PathConstIterator< TImage, TPath >::m_CurrentPathPosition {}
protected

Current 1D position along the path, such as time or arc length

Definition at line 239 of file itkPathConstIterator.h.

◆ m_Image

template<typename TImage , typename TPath >
ImageType::ConstWeakPointer itk::PathConstIterator< TImage, TPath >::m_Image {}
protected

Smart pointer to the source image.

Definition at line 212 of file itkPathConstIterator.h.

◆ m_ImageOrigin

template<typename TImage , typename TPath >
PointType itk::PathConstIterator< TImage, TPath >::m_ImageOrigin {}
protected

The origin of the source image

Definition at line 221 of file itkPathConstIterator.h.

◆ m_ImageSize

template<typename TImage , typename TPath >
const SizeValueType* itk::PathConstIterator< TImage, TPath >::m_ImageSize {}
protected

Size of the source image

Definition at line 227 of file itkPathConstIterator.h.

◆ m_ImageSpacing

template<typename TImage , typename TPath >
SpacingType itk::PathConstIterator< TImage, TPath >::m_ImageSpacing {}
protected

The spacing of the source image

Definition at line 224 of file itkPathConstIterator.h.

◆ m_IsAtEnd

template<typename TImage , typename TPath >
bool itk::PathConstIterator< TImage, TPath >::m_IsAtEnd {}
protected

Is the iterator at the end of its walk?

Definition at line 236 of file itkPathConstIterator.h.

◆ m_Path

template<typename TImage , typename TPath >
PathType::ConstPointer itk::PathConstIterator< TImage, TPath >::m_Path {}
protected

Smart pointer to the path we're following

Definition at line 215 of file itkPathConstIterator.h.

◆ m_Region

template<typename TImage , typename TPath >
RegionType itk::PathConstIterator< TImage, TPath >::m_Region {}
protected

Region type to iterate over.

Definition at line 218 of file itkPathConstIterator.h.

◆ m_VisitStartIndexAsLastIndexIfClosed

template<typename TImage , typename 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 233 of file itkPathConstIterator.h.

◆ m_ZeroOffset

template<typename TImage , typename TPath >
OffsetType itk::PathConstIterator< TImage, TPath >::m_ZeroOffset {}
protected

Definition at line 209 of file itkPathConstIterator.h.


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