18#ifndef itkConstNeighborhoodIterator_h
19#define itkConstNeighborhoodIterator_h
50template <
typename TImage,
typename TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
52 :
public Neighborhood<typename TImage::InternalPixelType *, TImage::ImageDimension>
153 const InternalPixelType *
156 return (this->
operator[]((this->
Size()) >> 1));
359 std::ostringstream msg;
360 msg <<
"In method IsAtEnd, CenterPointer = " << this->
GetCenterPointer() <<
" is greater than End = " <<
m_End
514 ImageBoundaryConditionPointerType
652template <
typename TImage>
653inline ConstNeighborhoodIterator<TImage>
662template <
typename TImage>
663inline ConstNeighborhoodIterator<TImage>
670template <
typename TImage>
671inline ConstNeighborhoodIterator<TImage>
681#ifndef ITK_MANUAL_INSTANTIATION
682# include "itkConstNeighborhoodIterator.hxx"
Const version of NeighborhoodIterator, defining iteration of a local N-dimensional neighborhood of pi...
IndexValueType GetBound(NeighborIndexType n) const
NeighborhoodType GetNeighborhood() const
ConstNeighborhoodIterator Self
void SetLoop(const IndexType &p)
PixelType GetCenterPixel() const
IndexType m_InnerBoundsLow
void SetRegion(const RegionType ®ion)
PixelType GetNext(const unsigned int axis) const
~ConstNeighborhoodIterator() override=default
NeighborhoodAccessorFunctorType m_NeighborhoodAccessorFunctor
const InternalPixelType * GetCenterPointer() const
TBoundaryCondition m_InternalBoundaryCondition
bool operator>=(const Self &it) const
typename TImage::RegionType RegionType
typename ImageType::NeighborhoodAccessorFunctorType NeighborhoodAccessorFunctorType
bool operator<(const Self &it) const
RegionType GetRegion() const
Neighborhood< PixelType, Self::Dimension > NeighborhoodType
ImageBoundaryConditionPointerType m_BoundaryCondition
Self & operator=(const Self &orig)
bool IndexInBounds(const NeighborIndexType n) const
void OverrideBoundaryCondition(const ImageBoundaryConditionPointerType i)
PixelType GetPixel(const NeighborIndexType i) const
void NeedToUseBoundaryConditionOff()
IndexType m_InnerBoundsHigh
bool GetNeedToUseBoundaryCondition() const
void SetBeginIndex(const IndexType &start)
ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION(Self)
void SetNeedToUseBoundaryCondition(bool b)
typename TImage::InternalPixelType InternalPixelType
void NeedToUseBoundaryConditionOn()
bool operator<=(const Self &it) const
const ImageBoundaryCondition< ImageType, OutputImageType > * ImageBoundaryConditionConstPointerType
void SetBoundaryCondition(const TBoundaryCondition &c)
Index< Self::Dimension > IndexType
Self & operator+=(const OffsetType &)
const ImageType * GetImagePointer() const
bool operator==(const Self &it) const
void SetPixelPointers(const IndexType &)
Neighborhood< InternalPixelType *, Self::Dimension > Superclass
OffsetType ComputeInternalIndex(const NeighborIndexType n) const
IndexType GetBound() const
RegionType GetBoundingBoxAsImageRegion() const
IndexType GetIndex() const
IndexType GetBeginIndex() const
static constexpr DimensionValueType Dimension
PixelType GetPixel(const OffsetType &o, bool &IsInBounds) const
Offset< VDimension > OffsetType
ConstNeighborhoodIterator(const ConstNeighborhoodIterator &)
void Initialize(const SizeType &radius, const ImageType *ptr, const RegionType ®ion)
unsigned int DimensionValueType
OffsetValueType GetWrapOffset(NeighborIndexType n) const
void SetBound(const SizeType &)
itk::Size< VDimension > SizeType
void PrintSelf(std::ostream &, Indent) const override
IndexType GetIndex(NeighborIndexType i) const
TBoundaryCondition BoundaryConditionType
PixelType GetPrevious(const unsigned int axis, NeighborIndexType i) const
OffsetType GetWrapOffset() const
IndexType GetIndex(const OffsetType &o) const
const InternalPixelType * m_End
bool operator>(const Self &it) const
ImageBoundaryCondition< ImageType, OutputImageType > * ImageBoundaryConditionPointerType
Self & operator-=(const OffsetType &)
PixelType GetPrevious(const unsigned int axis) const
typename NeighborhoodType::NeighborIndexType NeighborIndexType
ConstNeighborhoodIterator(const SizeType &radius, const ImageType *ptr, const RegionType ®ion)
const InternalPixelType * m_Begin
PixelType GetPixel(NeighborIndexType n, bool &IsInBounds) const
bool IndexInBounds(const NeighborIndexType n, OffsetType &internalIndex, OffsetType &offset) const
typename TImage::PixelType PixelType
ImageType::ConstWeakPointer m_ConstImage
OffsetType operator-(const Self &b) const
bool m_NeedToUseBoundaryCondition
PixelType GetPixel(const OffsetType &o) const
bool m_InBounds[Dimension]
ImageBoundaryConditionPointerType GetBoundaryCondition() const
typename BoundaryConditionType::OutputImageType OutputImageType
IndexType GetFastIndexPlusOffset(const OffsetType &o) const
ConstNeighborhoodIterator()=default
void SetLocation(const IndexType &position)
void ResetBoundaryCondition()
PixelType GetNext(const unsigned int axis, NeighborIndexType i) const
Standard exception handling object.
virtual void SetDescription(const std::string &s)
A virtual base object that defines an interface to a class of boundary condition objects for use by n...
Control indentation during Print() invocation.
itk::Size< VDimension > RadiusType
typename AllocatorType::iterator Iterator
OffsetType GetOffset(NeighborIndexType i) const
itk::Size< VDimension > SizeType
virtual NeighborIndexType GetNeighborhoodIndex(const OffsetType &) const
NeighborIndexType GetCenterNeighborhoodIndex() const
SizeValueType NeighborIndexType
typename AllocatorType::const_iterator ConstIterator
NeighborIndexType Size() const
OffsetValueType GetStride(DimensionValueType axis) const
Offset< VDimension > OffsetType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
ConstNeighborhoodIterator< TImage > operator-(const ConstNeighborhoodIterator< TImage > &it, const typename ConstNeighborhoodIterator< TImage >::OffsetType &ind)
ConstNeighborhoodIterator< TImage > operator+(const ConstNeighborhoodIterator< TImage > &it, const typename ConstNeighborhoodIterator< TImage >::OffsetType &ind)
Represent a n-dimensional index in a n-dimensional image.