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

itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition > Class Template Reference
[Image Iterators]

Const version of SmartNeighborhoodIterator, defining iteration of a local N-dimensional neighborhood of pixels across an itk::Image. More...

#include <itkConstSmartNeighborhoodIterator.h>

Inheritance diagram for itk::ConstSmartNeighborhoodIterator:

Inheritance graph
[legend]
Collaboration diagram for itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef ConstSmartNeighborhoodIterator Self
typedef ConstNeighborhoodIterator<
TImage > 
Superclass
typedef Superclass::InternalPixelType InternalPixelType
typedef Superclass::PixelType PixelType
typedef Superclass::ImageType ImageType
typedef Superclass::RegionType RegionType
typedef Superclass::SizeType SizeType
typedef Superclass::SizeValueType SizeValueType
typedef Superclass::NeighborhoodType NeighborhoodType
typedef Superclass::IndexType IndexType
typedef Superclass::IndexValueType IndexValueType
typedef Superclass::OffsetType OffsetType
typedef Superclass::OffsetValueType OffsetValueType
typedef Superclass::ImageBoundaryConditionPointerType ImageBoundaryConditionPointerType
typedef TBoundaryCondition BoundaryConditionType
typedef Superclass::ConstIterator ConstIterator

Public Methods

 itkStaticConstMacro (Dimension, unsigned int, Superclass::Dimension)
 ConstSmartNeighborhoodIterator (const Self &orig)
virtual void Initialize (const SizeType &radius, const ImageType *ptr, const RegionType &region)
Selfoperator= (const Self &orig)
virtual void PrintSelf (std::ostream &, Indent) const
const BoundaryConditionTypeGetBoundaryCondition () const
NeighborhoodType GetNeighborhood () const
virtual PixelType GetPixel (const unsigned long i) const
bool InBounds () const
virtual void OverrideBoundaryCondition (const ImageBoundaryConditionPointerType i)
virtual void ResetBoundaryCondition ()
void SetBoundaryCondition (const TBoundaryCondition &c)
 ConstSmartNeighborhoodIterator ()
 ConstSmartNeighborhoodIterator (const SizeType &radius, const ImageType *ptr, const RegionType &region)

Protected Methods

void SetBound (const SizeType &)

Protected Attributes

ImageBoundaryConditionPointerType m_BoundaryCondition
bool m_InBounds [Dimension]
IndexType m_InnerBoundsLow
IndexType m_InnerBoundsHigh
TBoundaryCondition m_InternalBoundaryCondition
bool m_NeedToUseBoundaryCondition

Detailed Description

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
class itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >

Const version of SmartNeighborhoodIterator, defining iteration of a local N-dimensional neighborhood of pixels across an itk::Image.

ConstSmartNeighborhoodIterator implements the read-only methods of SmartNeighborhoodIterator. It serves as a base class from which other iterators are derived. See SmartNeighborhoodIterator for more complete information.

See also:
Neighborhood , ImageIterator , NeighborhoodIterator , SmartNeighborhoodIterator , RandomAccessNeighborhoodIterator

Definition at line 42 of file itkConstSmartNeighborhoodIterator.h.


Member Typedef Documentation

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
typedef TBoundaryCondition itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::BoundaryConditionType
 

Typedef for boundary condition type.

Reimplemented in itk::SmartNeighborhoodIterator< TImage, TBoundaryCondition >.

Definition at line 73 of file itkConstSmartNeighborhoodIterator.h.

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
typedef Superclass::ConstIterator itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::ConstIterator
 

Support for internal iterator types. Only const iteration is supported in this class.

Reimplemented from itk::ConstNeighborhoodIterator< TImage >.

Definition at line 77 of file itkConstSmartNeighborhoodIterator.h.

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
typedef Superclass::ImageBoundaryConditionPointerType itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::ImageBoundaryConditionPointerType
 

Typedef for generic boundary condition pointer

Reimplemented from itk::ConstNeighborhoodIterator< TImage >.

Reimplemented in itk::SmartNeighborhoodIterator< TImage, TBoundaryCondition >.

Definition at line 70 of file itkConstSmartNeighborhoodIterator.h.

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
typedef Superclass::ImageType itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::ImageType
 

Some common itk object typedefs

Reimplemented from itk::ConstNeighborhoodIterator< TImage >.

Reimplemented in itk::SmartNeighborhoodIterator< TImage, TBoundaryCondition >.

Definition at line 58 of file itkConstSmartNeighborhoodIterator.h.

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
typedef Superclass::IndexType itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::IndexType
 

Typedef support for common objects

Reimplemented from itk::ConstNeighborhoodIterator< TImage >.

Reimplemented in itk::SmartNeighborhoodIterator< TImage, TBoundaryCondition >.

Definition at line 63 of file itkConstSmartNeighborhoodIterator.h.

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
typedef Superclass::IndexValueType itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::IndexValueType
 

Typedef support for common objects

Reimplemented from itk::ConstNeighborhoodIterator< TImage >.

Definition at line 64 of file itkConstSmartNeighborhoodIterator.h.

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
typedef Superclass::InternalPixelType itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::InternalPixelType
 

Extract image type information.

Reimplemented from itk::ConstNeighborhoodIterator< TImage >.

Reimplemented in itk::SmartNeighborhoodIterator< TImage, TBoundaryCondition >.

Definition at line 51 of file itkConstSmartNeighborhoodIterator.h.

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
typedef Superclass::NeighborhoodType itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::NeighborhoodType
 

Typedef support for common objects

Reimplemented from itk::ConstNeighborhoodIterator< TImage >.

Reimplemented in itk::SmartNeighborhoodIterator< TImage, TBoundaryCondition >.

Definition at line 62 of file itkConstSmartNeighborhoodIterator.h.

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
typedef Superclass::OffsetType itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::OffsetType
 

Typedef support for common objects

Reimplemented from itk::ConstNeighborhoodIterator< TImage >.

Reimplemented in itk::SmartNeighborhoodIterator< TImage, TBoundaryCondition >.

Definition at line 65 of file itkConstSmartNeighborhoodIterator.h.

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
typedef Superclass::OffsetValueType itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::OffsetValueType
 

Typedef support for common objects

Reimplemented from itk::ConstNeighborhoodIterator< TImage >.

Reimplemented in itk::SmartNeighborhoodIterator< TImage, TBoundaryCondition >.

Definition at line 66 of file itkConstSmartNeighborhoodIterator.h.

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
typedef Superclass::PixelType itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::PixelType
 

Reimplemented from itk::ConstNeighborhoodIterator< TImage >.

Reimplemented in itk::SmartNeighborhoodIterator< TImage, TBoundaryCondition >.

Definition at line 52 of file itkConstSmartNeighborhoodIterator.h.

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
typedef Superclass::RegionType itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::RegionType
 

Typedef support for common objects

Reimplemented from itk::ConstNeighborhoodIterator< TImage >.

Reimplemented in itk::SmartNeighborhoodIterator< TImage, TBoundaryCondition >.

Definition at line 59 of file itkConstSmartNeighborhoodIterator.h.

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
typedef ConstSmartNeighborhoodIterator itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::Self
 

Standard class typdefs.

Reimplemented from itk::ConstNeighborhoodIterator< TImage >.

Reimplemented in itk::SmartNeighborhoodIterator< TImage, TBoundaryCondition >.

Definition at line 47 of file itkConstSmartNeighborhoodIterator.h.

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
typedef Superclass::SizeType itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::SizeType
 

Typedef support for common objects

Reimplemented from itk::ConstNeighborhoodIterator< TImage >.

Reimplemented in itk::SmartNeighborhoodIterator< TImage, TBoundaryCondition >.

Definition at line 60 of file itkConstSmartNeighborhoodIterator.h.

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
typedef Superclass::SizeValueType itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::SizeValueType
 

Typedef support for common objects

Reimplemented from itk::ConstNeighborhoodIterator< TImage >.

Definition at line 61 of file itkConstSmartNeighborhoodIterator.h.

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
typedef ConstNeighborhoodIterator<TImage> itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::Superclass
 

Reimplemented from itk::ConstNeighborhoodIterator< TImage >.

Reimplemented in itk::SmartNeighborhoodIterator< TImage, TBoundaryCondition >.

Definition at line 48 of file itkConstSmartNeighborhoodIterator.h.


Constructor & Destructor Documentation

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::ConstSmartNeighborhoodIterator   [inline]
 

Default constructor.

Definition at line 80 of file itkConstSmartNeighborhoodIterator.h.

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::ConstSmartNeighborhoodIterator const Self   orig
 

Copy constructor

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::ConstSmartNeighborhoodIterator const SizeType   radius,
const ImageType   ptr,
const RegionType   region
[inline]
 

Constructor establishes a neighborhood of iterators of a specified dimension to walk a particular image and a particular region of that image.

Definition at line 94 of file itkConstSmartNeighborhoodIterator.h.


Member Function Documentation

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
const BoundaryConditionType* itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::GetBoundaryCondition   const [inline]
 

Returns the internal, default boundary condition.

Definition at line 120 of file itkConstSmartNeighborhoodIterator.h.

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
NeighborhoodType itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::GetNeighborhood   const [virtual]
 

"Dereferences" the iterator. Returns the Neighborhood of values in the itk::Image masked by the iterator.

Reimplemented from itk::ConstNeighborhoodIterator< TImage >.

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
virtual PixelType itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::GetPixel const unsigned long    i const [virtual]
 

Returns the pixel value referenced by a linear array location. Unlike operator[], this is a safe operation that will automatically detect and handle boundary conditions.

Reimplemented from itk::ConstNeighborhoodIterator< TImage >.

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
bool itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::InBounds   const
 

Returns false if the iterator overlaps region boundaries, true otherwise. Also updates an internal boolean array indicating which of the iterator's faces are out of bounds.

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
virtual void itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::Initialize const SizeType   radius,
const ImageType   ptr,
const RegionType   region
[virtual]
 

Initializes the iterator to walk a particular image and a particular region of that image. This version is different from the superclass' in that it determines whether the iterator will "ever" have to use the boundary conditions (boundary conditions are skipped if the region padded by radius is within buffered region.

Reimplemented from itk::ConstNeighborhoodIterator< TImage >.

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::itkStaticConstMacro Dimension   ,
unsigned    int,
Superclass::Dimension   
 

Save the dimension of the image.

Reimplemented in itk::SmartNeighborhoodIterator< TImage, TBoundaryCondition >.

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
Self& itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::operator= const Self   orig
 

Assignment operator

Reimplemented from itk::ConstNeighborhoodIterator< TImage >.

Reimplemented in itk::SmartNeighborhoodIterator< TImage, TBoundaryCondition >.

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
virtual void itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::OverrideBoundaryCondition const ImageBoundaryConditionPointerType    i [inline, virtual]
 

Allows a user to override the internal boundary condition. Care should be taken to ensure that the overriding boundary condition is a persistent object during the time it is referenced. The overriding condition can be of a different type than the default type as long as it is a subclass of ImageBoundaryCondition.

Reimplemented from itk::ConstNeighborhoodIterator< TImage >.

Definition at line 142 of file itkConstSmartNeighborhoodIterator.h.

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
virtual void itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::PrintSelf std::ostream &   ,
Indent   
const [virtual]
 

Prints information about the neighborhood pointer structure to std::cout for debugging purposes.

Reimplemented from itk::ConstNeighborhoodIterator< TImage >.

Reimplemented in itk::SmartNeighborhoodIterator< TImage, TBoundaryCondition >.

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
virtual void itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::ResetBoundaryCondition   [inline, virtual]
 

Resets the boundary condition to the internal, default conditions specified by the template parameter.

Reimplemented from itk::ConstNeighborhoodIterator< TImage >.

Definition at line 147 of file itkConstSmartNeighborhoodIterator.h.

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
void itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::SetBound const SizeType   [protected, virtual]
 

Sets loop boundaries for iteration.

Reimplemented from itk::ConstNeighborhoodIterator< TImage >.

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
void itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::SetBoundaryCondition const TBoundaryCondition &    c [inline]
 

Sets the internal, default boundary condition.

Definition at line 151 of file itkConstSmartNeighborhoodIterator.h.


Member Data Documentation

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
ImageBoundaryConditionPointerType itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::m_BoundaryCondition [protected]
 

Pointer to the actual boundary condition that will be used. By default this points to m_BoundaryCondition, but OverrideBoundaryCondition allows a user to point this variable an external boundary condition.

Definition at line 162 of file itkConstSmartNeighborhoodIterator.h.

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
bool itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::m_InBounds[Dimension] [protected]
 

Denotes which of the iterators dimensional sides spill outside region of interest boundaries.

Definition at line 166 of file itkConstSmartNeighborhoodIterator.h.

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
IndexType itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::m_InnerBoundsHigh [protected]
 

Upper threshold of in-bounds loop counter values.

Definition at line 172 of file itkConstSmartNeighborhoodIterator.h.

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
IndexType itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::m_InnerBoundsLow [protected]
 

Lower threshold of in-bounds loop counter values.

Definition at line 169 of file itkConstSmartNeighborhoodIterator.h.

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
TBoundaryCondition itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::m_InternalBoundaryCondition [protected]
 

Default boundary condition.

Definition at line 175 of file itkConstSmartNeighborhoodIterator.h.

template<class TImage, class TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
bool itk::ConstSmartNeighborhoodIterator< TImage, TBoundaryCondition >::m_NeedToUseBoundaryCondition [protected]
 

Does the specified region need to worry about boundary conditions? *

Definition at line 178 of file itkConstSmartNeighborhoodIterator.h.


The documentation for this class was generated from the following file:
Generated at Wed Mar 12 01:15:05 2003 for ITK by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2000