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 50 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 () |
virtual void | PrintSelf (std::ostream &, Indent) const |
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 83 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 59 of file itkConstNeighborhoodIterator.h.
using itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::ImageBoundaryConditionConstPointerType = const ImageBoundaryCondition<ImageType, OutputImageType> * |
Definition at line 97 of file itkConstNeighborhoodIterator.h.
using itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::ImageBoundaryConditionPointerType = ImageBoundaryCondition<ImageType, OutputImageType> * |
Typedef for generic boundary condition pointer
Definition at line 96 of file itkConstNeighborhoodIterator.h.
using itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::ImageType = TImage |
Typedef support for common objects
Definition at line 76 of file itkConstNeighborhoodIterator.h.
using itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::IndexType = Index<Self::Dimension> |
Definition at line 78 of file itkConstNeighborhoodIterator.h.
using itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::InternalPixelType = typename TImage::InternalPixelType |
Extract image type information.
Definition at line 55 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 93 of file itkConstNeighborhoodIterator.h.
using itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::NeighborhoodType = Neighborhood<PixelType, Self::Dimension> |
Definition at line 79 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 88 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 85 of file itkConstNeighborhoodIterator.h.
using itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::PixelType = typename TImage::PixelType |
Definition at line 56 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 77 of file itkConstNeighborhoodIterator.h.
using itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::Self = ConstNeighborhoodIterator |
Standard class type aliases.
Definition at line 65 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 66 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 110 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 300 of file itkConstNeighborhoodIterator.h.
|
inline |
Returns the array of upper loop bounds used during iteration.
Definition at line 138 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 146 of file itkConstNeighborhoodIterator.h.
|
inline |
Definition at line 514 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 161 of file itkConstNeighborhoodIterator.h.
|
inline |
Returns the pointer to the center pixel of the neighborhood.
Definition at line 153 of file itkConstNeighborhoodIterator.h.
Referenced by itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::operator==(), itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::operator>(), and itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::operator>=().
|
inline |
Definition at line 182 of file itkConstNeighborhoodIterator.h.
|
inline |
Returns a smartpointer to the image on which this iterator operates.
Definition at line 168 of file itkConstNeighborhoodIterator.h.
|
inline |
Returns the N-dimensional index of the iterator's position in the image.
Definition at line 176 of file itkConstNeighborhoodIterator.h.
|
inline |
Returns the image index for neighbor pixel at offset o from the center of the neighborhood.
Definition at line 277 of file itkConstNeighborhoodIterator.h.
|
inline |
Returns the image index for neighbor pixel at index i in the neighborhood.
Definition at line 285 of file itkConstNeighborhoodIterator.h.
|
inline |
Definition at line 539 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 251 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 242 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 194 of file itkConstNeighborhoodIterator.h.
|
inline |
Returns the pixel value located at the itk::Offset o from the center of the neighborhood.
Definition at line 220 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 233 of file itkConstNeighborhoodIterator.h.
PixelType itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::GetPixel | ( | NeighborIndexType | i, |
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 269 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 260 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 292 of file itkConstNeighborhoodIterator.h.
|
inline |
Returns the offsets used to wrap across dimensional boundaries.
Definition at line 312 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 323 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 345 of file itkConstNeighborhoodIterator.h.
|
inline |
Method for determining whether the iterator has reached the end of its iteration region.
Definition at line 353 of file itkConstNeighborhoodIterator.h.
References itk::Math::e.
itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION | ( | Self | ) |
|
inline |
Definition at line 527 of file itkConstNeighborhoodIterator.h.
|
inline |
Definition at line 521 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 456 of file itkConstNeighborhoodIterator.h.
References itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::m_Loop.
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 397 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 406 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 387 of file itkConstNeighborhoodIterator.h.
References itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::GetCenterPointer().
|
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 416 of file itkConstNeighborhoodIterator.h.
References itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::GetCenterPointer().
|
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 425 of file itkConstNeighborhoodIterator.h.
References itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::GetCenterPointer().
|
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 492 of file itkConstNeighborhoodIterator.h.
|
overridevirtual |
Standard itk print method
Reimplemented from itk::Neighborhood< TImage::InternalPixelType *, TImage::ImageDimension >.
Reimplemented in itk::ConstShapedNeighborhoodIterator< TImage, ZeroFluxNeumannBoundaryCondition< TImage > >, and itk::ConstShapedNeighborhoodIterator< ImageType, ZeroFluxNeumannBoundaryCondition< ImageType > >.
|
inline |
Resets the boundary condition to the internal, default conditions specified by the template parameter.
Definition at line 500 of file itkConstNeighborhoodIterator.h.
|
inlineprotected |
Default method for setting the index of the first pixel in the iteration region.
Definition at line 574 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 507 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 435 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 552 of file itkConstNeighborhoodIterator.h.
|
inline |
Definition at line 533 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 62 of file itkConstNeighborhoodIterator.h.
|
protected |
A pointer to the first pixel in the iteration region.
Definition at line 592 of file itkConstNeighborhoodIterator.h.
|
protected |
The starting index for iteration within the itk::Image region on which this ConstNeighborhoodIterator is defined.
Definition at line 586 of file itkConstNeighborhoodIterator.h.
|
protected |
An array of upper looping boundaries used during iteration.
Definition at line 589 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 624 of file itkConstNeighborhoodIterator.h.
|
protected |
The image on which iteration is defined.
Definition at line 595 of file itkConstNeighborhoodIterator.h.
|
protected |
A pointer to one past the last pixel in the iteration region.
Definition at line 598 of file itkConstNeighborhoodIterator.h.
|
protected |
The end index for iteration within the itk::Image region on which this ConstNeighborhoodIterator is defined.
Definition at line 602 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 628 of file itkConstNeighborhoodIterator.h.
|
protected |
Upper threshold of in-bounds loop counter values.
Definition at line 642 of file itkConstNeighborhoodIterator.h.
|
protected |
Lower threshold of in-bounds loop counter values.
Definition at line 639 of file itkConstNeighborhoodIterator.h.
|
protected |
Default boundary condition.
Definition at line 618 of file itkConstNeighborhoodIterator.h.
|
mutableprotected |
Denotes if iterator is entirely within bounds
Definition at line 631 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 636 of file itkConstNeighborhoodIterator.h.
|
protected |
Array of loop counters used during iteration.
Definition at line 605 of file itkConstNeighborhoodIterator.h.
Referenced by itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::operator-().
|
protected |
Does the specified region need to worry about boundary conditions?
Definition at line 645 of file itkConstNeighborhoodIterator.h.
|
protected |
Functor type used to access neighborhoods of pixel pointers
Definition at line 648 of file itkConstNeighborhoodIterator.h.
|
protected |
The region over which iteration is defined.
Definition at line 608 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 615 of file itkConstNeighborhoodIterator.h.