ITK
6.0.0
Insight Toolkit
|
#include <itkConstNeighborhoodIterator.h>
Const version of NeighborhoodIterator, defining iteration of a local N-dimensional neighborhood of pixels across an itk::Image.
ConstNeighborhoodIterator implements the read-only methods of NeighborhoodIterator. It serves as a base class from which other iterators are derived. See NeighborhoodIterator for more complete information.
Definition at line 51 of file itkConstNeighborhoodIterator.h.
Static Public Attributes | |
static constexpr DimensionValueType | Dimension = TImage::ImageDimension |
Static Public Attributes inherited from itk::Neighborhood< TImage::InternalPixelType *, TImage::ImageDimension > | |
static constexpr unsigned int | NeighborhoodDimension |
Protected Member Functions | |
void | SetBeginIndex (const IndexType &start) |
void | SetBound (const SizeType &) |
void | SetEndIndex () |
void | SetLoop (const IndexType &p) |
void | SetPixelPointers (const IndexType &) |
Protected Member Functions inherited from itk::Neighborhood< TImage::InternalPixelType *, TImage::ImageDimension > | |
virtual void | Allocate (NeighborIndexType i) |
virtual void | ComputeNeighborhoodOffsetTable () |
virtual void | ComputeNeighborhoodStrideTable () |
void | SetSize () |
Protected Attributes | |
const InternalPixelType * | m_Begin { nullptr } |
IndexType | m_BeginIndex { { 0 } } |
IndexType | m_Bound { { 0 } } |
ImageBoundaryConditionPointerType | m_BoundaryCondition { &m_InternalBoundaryCondition } |
ImageType::ConstWeakPointer | m_ConstImage {} |
const InternalPixelType * | m_End { nullptr } |
IndexType | m_EndIndex { { 0 } } |
bool | m_InBounds [Dimension] { false } |
IndexType | m_InnerBoundsHigh {} |
IndexType | m_InnerBoundsLow {} |
TBoundaryCondition | m_InternalBoundaryCondition {} |
bool | m_IsInBounds { false } |
bool | m_IsInBoundsValid { false } |
IndexType | m_Loop { { 0 } } |
bool | m_NeedToUseBoundaryCondition { false } |
NeighborhoodAccessorFunctorType | m_NeighborhoodAccessorFunctor {} |
RegionType | m_Region {} |
OffsetType | m_WrapOffset { { 0 } } |
using itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::BoundaryConditionType = TBoundaryCondition |
Typedef for boundary condition type.
Definition at line 84 of file itkConstNeighborhoodIterator.h.
using itk::Neighborhood< TPixel, VDimension, TAllocator >::ConstIterator = typename AllocatorType::const_iterator |
Definition at line 76 of file itkNeighborhood.h.
using itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::DimensionValueType = unsigned int |
Type used to refer to space dimensions
Definition at line 60 of file itkConstNeighborhoodIterator.h.
using itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::ImageBoundaryConditionConstPointerType = const ImageBoundaryCondition<ImageType, OutputImageType> * |
Definition at line 98 of file itkConstNeighborhoodIterator.h.
using itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::ImageBoundaryConditionPointerType = ImageBoundaryCondition<ImageType, OutputImageType> * |
Typedef for generic boundary condition pointer
Definition at line 97 of file itkConstNeighborhoodIterator.h.
using itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::ImageType = TImage |
Typedef support for common objects
Definition at line 77 of file itkConstNeighborhoodIterator.h.
using itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::IndexType = Index<Self::Dimension> |
Definition at line 79 of file itkConstNeighborhoodIterator.h.
using itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::InternalPixelType = typename TImage::InternalPixelType |
Extract image type information.
Definition at line 56 of file itkConstNeighborhoodIterator.h.
using itk::Neighborhood< TPixel, VDimension, TAllocator >::Iterator = typename AllocatorType::iterator |
Iterator type alias support Note the naming is intentional, i.e., AllocatorType::iterator and AllocatorType::const_iterator, because the allocator may be a vnl object or other type, which uses this form.
Definition at line 75 of file itkNeighborhood.h.
using itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::NeighborhoodAccessorFunctorType = typename ImageType::NeighborhoodAccessorFunctorType |
Typedef for the functor used to access neighborhoods of pixel pointers. This is obtained as a trait from the image and is different for Image and VectorImage.
Definition at line 94 of file itkConstNeighborhoodIterator.h.
using itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::NeighborhoodType = Neighborhood<PixelType, Self::Dimension> |
Definition at line 80 of file itkConstNeighborhoodIterator.h.
using itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::NeighborIndexType = typename NeighborhoodType::NeighborIndexType |
Type used to refer to the elements in the list of neighbor pixels.
Definition at line 89 of file itkConstNeighborhoodIterator.h.
using itk::Neighborhood< TPixel, VDimension, TAllocator >::OffsetType = Offset<VDimension> |
Offset type used to reference neighbor locations
Definition at line 86 of file itkNeighborhood.h.
using itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::OutputImageType = typename BoundaryConditionType::OutputImageType |
Definition at line 86 of file itkConstNeighborhoodIterator.h.
using itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::PixelType = typename TImage::PixelType |
Definition at line 57 of file itkConstNeighborhoodIterator.h.
using itk::Neighborhood< TPixel, VDimension, TAllocator >::RadiusType = itk::Size<VDimension> |
Radius type alias support
Definition at line 83 of file itkNeighborhood.h.
using itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::RegionType = typename TImage::RegionType |
Definition at line 78 of file itkConstNeighborhoodIterator.h.
using itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::Self = ConstNeighborhoodIterator |
Standard class type aliases.
Definition at line 66 of file itkConstNeighborhoodIterator.h.
using itk::Neighborhood< TPixel, VDimension, TAllocator >::SizeType = itk::Size<VDimension> |
Size and value type alias support
Definition at line 79 of file itkNeighborhood.h.
using itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::Superclass = Neighborhood<InternalPixelType *, Self::Dimension> |
Definition at line 67 of file itkConstNeighborhoodIterator.h.
|
default |
Default constructor
|
overridedefault |
Virtual destructor
itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::ConstNeighborhoodIterator | ( | const ConstNeighborhoodIterator< TImage, TBoundaryCondition > & | ) |
Copy constructor
|
inline |
Constructor which establishes the region size, neighborhood, and image over which to walk.
Definition at line 111 of file itkConstNeighborhoodIterator.h.
OffsetType itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::ComputeInternalIndex | ( | const NeighborIndexType | n | ) | const |
Computes the internal, N-d offset of a pixel array position n from (0,0, ..., 0) in the "upper-left" corner of the neighborhood.
|
inline |
Returns the N-dimensional starting index of the iterator's position on the image.
Definition at line 301 of file itkConstNeighborhoodIterator.h.
|
inline |
Returns the array of upper loop bounds used during iteration.
Definition at line 139 of file itkConstNeighborhoodIterator.h.
|
inline |
Returns the loop bound used to define the edge of a single dimension in the itk::Image region.
Definition at line 147 of file itkConstNeighborhoodIterator.h.
|
inline |
Definition at line 515 of file itkConstNeighborhoodIterator.h.
RegionType itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::GetBoundingBoxAsImageRegion | ( | ) | const |
Returns a bounding box for the region spanned by this neighborhood represented by an itk::ImageRegion
|
inline |
Returns the pixel referenced at the center of the ConstNeighborhoodIterator.
Definition at line 162 of file itkConstNeighborhoodIterator.h.
|
inline |
Returns the pointer to the center pixel of the neighborhood.
Definition at line 154 of file itkConstNeighborhoodIterator.h.
Referenced by itk::ConstNeighborhoodIterator< TSparseImageType >::operator<(), itk::ConstNeighborhoodIterator< TSparseImageType >::operator<=(), itk::ConstNeighborhoodIterator< TSparseImageType >::operator==(), itk::ConstNeighborhoodIterator< TSparseImageType >::operator>(), and itk::ConstNeighborhoodIterator< TSparseImageType >::operator>=().
|
inline |
Definition at line 183 of file itkConstNeighborhoodIterator.h.
|
inline |
Returns a smartpointer to the image on which this iterator operates.
Definition at line 169 of file itkConstNeighborhoodIterator.h.
|
inline |
Returns the N-dimensional index of the iterator's position in the image.
Definition at line 177 of file itkConstNeighborhoodIterator.h.
|
inline |
Returns the image index for neighbor pixel at offset o from the center of the neighborhood.
Definition at line 278 of file itkConstNeighborhoodIterator.h.
|
inline |
Returns the image index for neighbor pixel at index i in the neighborhood.
Definition at line 286 of file itkConstNeighborhoodIterator.h.
|
inline |
Definition at line 540 of file itkConstNeighborhoodIterator.h.
NeighborhoodType itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::GetNeighborhood | ( | ) | const |
Function that "dereferences" a ConstNeighborhoodIterator, returning a Neighborhood of pixel values.
|
inline |
Returns the pixel value located one pixel distant from the neighborhood center in the specified positive axis direction. No bounds checking is done on the size of the neighborhood.
Definition at line 252 of file itkConstNeighborhoodIterator.h.
|
inline |
Returns the pixel value located i pixels distant from the neighborhood center in the positive specified "axis" direction. No bounds checking is done on the size of the neighborhood.
Definition at line 243 of file itkConstNeighborhoodIterator.h.
Referenced by itk::VectorGradientMagnitudeImageFilter< TInputImage, TRealType, TOutputImage >::EvaluateAtNeighborhood(), itk::VectorGradientMagnitudeImageFilter< TInputImage, TRealType, TOutputImage >::EvaluateAtNeighborhood3D(), and itk::VectorGradientMagnitudeImageFilter< TInputImage, TRealType, TOutputImage >::NonPCEvaluateAtNeighborhood().
|
inline |
Returns the pixel value located at a linear array location i.
Definition at line 195 of file itkConstNeighborhoodIterator.h.
|
inline |
Returns the pixel value located at the itk::Offset o from the center of the neighborhood.
Definition at line 221 of file itkConstNeighborhoodIterator.h.
|
inline |
Returns the pixel value located at the itk::Offset o from the center of the neighborhood. Sets "IsInBounds" to true if the offset is inside the image and the pixel value returned is an actual pixel in the image. Sets "IsInBounds" to false if the offset is outside the image and the pixel value returned is a boundary condition.
Definition at line 234 of file itkConstNeighborhoodIterator.h.
PixelType itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::GetPixel | ( | NeighborIndexType | n, |
bool & | IsInBounds | ||
) | const |
Return the pixel value located at a linear array location i. Sets "IsInBounds" to true if the location is inside the image and the pixel value returned is an actual pixel in the image. Sets "IsInBounds" to false if the location is outside the image and the pixel value returned is a boundary condition.
|
inline |
Returns the pixel value located one pixel distant from the neighborhood center in the specified negative axis direction. No bounds checking is done on the size of the neighborhood.
Definition at line 270 of file itkConstNeighborhoodIterator.h.
|
inline |
Returns the pixel value located i pixels distant from the neighborhood center in the negative specified "axis" direction. No bounds checking is done on the size of the neighborhood.
Definition at line 261 of file itkConstNeighborhoodIterator.h.
Referenced by itk::VectorGradientMagnitudeImageFilter< TInputImage, TRealType, TOutputImage >::EvaluateAtNeighborhood(), itk::VectorGradientMagnitudeImageFilter< TInputImage, TRealType, TOutputImage >::EvaluateAtNeighborhood3D(), and itk::VectorGradientMagnitudeImageFilter< TInputImage, TRealType, TOutputImage >::NonPCEvaluateAtNeighborhood().
|
inline |
Returns the region of iteration.
Definition at line 293 of file itkConstNeighborhoodIterator.h.
|
inline |
Returns the offsets used to wrap across dimensional boundaries.
Definition at line 313 of file itkConstNeighborhoodIterator.h.
|
inline |
Returns the internal offset associated with wrapping around a single dimension's region boundary in the itk::Image. An offset for each dimension is necessary to shift pointers when wrapping around region edges because region memory is not necessarily contiguous within the buffer.
Definition at line 324 of file itkConstNeighborhoodIterator.h.
void itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::GoToBegin | ( | ) |
Method for rewinding the iterator to its beginning pixel.
Referenced by itk::Statistics::ImageToNeighborhoodSampleAdaptor< TImage, TBoundaryCondition >::Begin().
void itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::GoToEnd | ( | ) |
Method for sending the iterator to one past the last pixel in its region.
Referenced by itk::Statistics::ImageToNeighborhoodSampleAdaptor< TImage, TBoundaryCondition >::End().
bool itk::ConstNeighborhoodIterator< 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.
bool itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::IndexInBounds | ( | const NeighborIndexType | n | ) | const |
Returns true if the neighborhood index is within region boundaries, false otherwise.
bool itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::IndexInBounds | ( | const NeighborIndexType | n, |
OffsetType & | internalIndex, | ||
OffsetType & | offset | ||
) | const |
Returns true if the neighborhood index is within region boundaries, false otherwise. If false, then internalIndex and offset are calculated. Otherwise their values are left unchanged. Also updates an internal boolean array indicating which of the iterator's faces are out of bounds.
n | - linear neighborhood index. |
internalIndex | - calculated for index n only when the neighborhood is not completely within region boundaries. |
offset | - per-dimension offsets for index n to nearest boundary index, calculate only when the neighborhood is not completely within region boundaries. |
void itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::Initialize | ( | const SizeType & | radius, |
const ImageType * | ptr, | ||
const RegionType & | region | ||
) |
Initializes the iterator to walk a particular image and a particular region of that image.
|
inline |
Method for determining whether the iterator is at the beginning of its iteration region.
Definition at line 346 of file itkConstNeighborhoodIterator.h.
|
inline |
Method for determining whether the iterator has reached the end of its iteration region.
Definition at line 354 of file itkConstNeighborhoodIterator.h.
itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION | ( | Self | ) |
|
inline |
Definition at line 528 of file itkConstNeighborhoodIterator.h.
|
inline |
Definition at line 522 of file itkConstNeighborhoodIterator.h.
Self& itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::operator++ | ( | ) |
Increments the pointers in the ConstNeighborhoodIterator, wraps across boundaries automatically, accounting for the disparity in the buffer size and the region size of the image.
Self& itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::operator+= | ( | const OffsetType & | ) |
Addition of an itk::Offset. Note that this method does not do any bounds checking. Adding an offset that moves the iterator out of its assigned region will produce undefined results.
|
inline |
Distance between two iterators
Definition at line 457 of file itkConstNeighborhoodIterator.h.
Self& itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::operator-- | ( | ) |
Decrements the pointers in the ConstNeighborhoodIterator, wraps across boundaries automatically, accounting for the disparity in the buffer size and the region size of the image.
Self& itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::operator-= | ( | const OffsetType & | ) |
Subtraction of an itk::Offset. Note that this method does not do any bounds checking. Subtracting an offset that moves the iterator out of its assigned region will produce undefined results.
|
inline |
Returns a boolean < comparison of the memory addresses of the center elements of two ConstNeighborhoodIterators of like pixel type and dimensionality. The radii of the iterators are ignored.
Definition at line 399 of file itkConstNeighborhoodIterator.h.
|
inline |
Returns a boolean < comparison of the memory addresses of the center elements of two ConstNeighborhoodIterators of like pixel type and dimensionality. The radii of the iterators are ignored.
Definition at line 408 of file itkConstNeighborhoodIterator.h.
Self& itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::operator= | ( | const Self & | orig | ) |
Assignment operator
|
inline |
Returns a boolean == comparison of the memory addresses of the center elements of two ConstNeighborhoodIterators of like pixel type and dimensionality. The radii of the iterators are ignored.
Definition at line 388 of file itkConstNeighborhoodIterator.h.
|
inline |
Returns a boolean > comparison of the memory addresses of the center elements of two ConstNeighborhoodIterators of like pixel type and dimensionality. The radii of the iterators are ignored.
Definition at line 417 of file itkConstNeighborhoodIterator.h.
|
inline |
Returns a boolean >= comparison of the memory addresses of the center elements of two ConstNeighborhoodIterators of like pixel type and dimensionality. The radii of the iterators are ignored.
Definition at line 426 of file itkConstNeighborhoodIterator.h.
|
inline |
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.
Definition at line 493 of file itkConstNeighborhoodIterator.h.
|
overridevirtual |
Standard itk print method
Reimplemented from itk::Neighborhood< TImage::InternalPixelType *, TImage::ImageDimension >.
Reimplemented in itk::ConstShapedNeighborhoodIterator< TImage, TBoundaryCondition >, and itk::ConstShapedNeighborhoodIterator< ImageType, ZeroFluxNeumannBoundaryCondition< ImageType > >.
|
inline |
Resets the boundary condition to the internal, default conditions specified by the template parameter.
Definition at line 501 of file itkConstNeighborhoodIterator.h.
|
inlineprotected |
Default method for setting the index of the first pixel in the iteration region.
Definition at line 575 of file itkConstNeighborhoodIterator.h.
|
protected |
Method for setting internal loop boundaries. This method must be defined in each subclass because each subclass may handle loop boundaries differently.
|
inline |
Sets the internal, default boundary condition.
Definition at line 508 of file itkConstNeighborhoodIterator.h.
|
protected |
Default method for setting the index of the first pixel in the iteration region.
|
inline |
This method positions the iterator at an indexed location in the image. SetLocation should NOT be used to update the position of the iterator during iteration, only for initializing it to a position prior to iteration. This method is not optimized for speed.
Definition at line 436 of file itkConstNeighborhoodIterator.h.
|
inlineprotected |
Default method for setting the coordinate location of the iterator. Loop indices correspond to the actual Image region index.
Definition at line 553 of file itkConstNeighborhoodIterator.h.
|
inline |
Definition at line 534 of file itkConstNeighborhoodIterator.h.
|
protected |
Default method for setting the values of the internal pointers to itk::Image memory buffer locations. This method should generally only be called when the iterator is initialized.
void itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::SetRegion | ( | const RegionType & | region | ) |
Set the region to iterate over.
|
staticconstexpr |
Save the image dimension.
Definition at line 63 of file itkConstNeighborhoodIterator.h.
|
protected |
A pointer to the first pixel in the iteration region.
Definition at line 593 of file itkConstNeighborhoodIterator.h.
|
protected |
The starting index for iteration within the itk::Image region on which this ConstNeighborhoodIterator is defined.
Definition at line 587 of file itkConstNeighborhoodIterator.h.
|
protected |
An array of upper looping boundaries used during iteration.
Definition at line 590 of file itkConstNeighborhoodIterator.h.
|
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 625 of file itkConstNeighborhoodIterator.h.
|
protected |
The image on which iteration is defined.
Definition at line 596 of file itkConstNeighborhoodIterator.h.
|
protected |
A pointer to one past the last pixel in the iteration region.
Definition at line 599 of file itkConstNeighborhoodIterator.h.
|
protected |
The end index for iteration within the itk::Image region on which this ConstNeighborhoodIterator is defined.
Definition at line 603 of file itkConstNeighborhoodIterator.h.
|
mutableprotected |
Denotes which of the iterators dimensional sides spill outside region of interest boundaries. By default false
for each dimension.
Definition at line 629 of file itkConstNeighborhoodIterator.h.
|
protected |
Upper threshold of in-bounds loop counter values.
Definition at line 643 of file itkConstNeighborhoodIterator.h.
|
protected |
Lower threshold of in-bounds loop counter values.
Definition at line 640 of file itkConstNeighborhoodIterator.h.
|
protected |
Default boundary condition.
Definition at line 619 of file itkConstNeighborhoodIterator.h.
|
mutableprotected |
Denotes if iterator is entirely within bounds
Definition at line 632 of file itkConstNeighborhoodIterator.h.
|
mutableprotected |
Is the m_InBounds and m_IsInBounds variables up to date? Set to false whenever the iterator is repositioned. Set to true within InBounds().
Definition at line 637 of file itkConstNeighborhoodIterator.h.
|
protected |
Array of loop counters used during iteration.
Definition at line 606 of file itkConstNeighborhoodIterator.h.
Referenced by itk::ConstNeighborhoodIterator< TSparseImageType >::operator-().
|
protected |
Does the specified region need to worry about boundary conditions?
Definition at line 646 of file itkConstNeighborhoodIterator.h.
|
protected |
Functor type used to access neighborhoods of pixel pointers
Definition at line 649 of file itkConstNeighborhoodIterator.h.
|
protected |
The region over which iteration is defined.
Definition at line 609 of file itkConstNeighborhoodIterator.h.
|
protected |
The internal array of offsets that provide support for regions of interest. An offset for each dimension is necessary to shift pointers when wrapping around region edges because region memory is not necessarily contiguous within the buffer.
Definition at line 616 of file itkConstNeighborhoodIterator.h.