18#ifndef itkConstNeighborhoodIteratorWithOnlyIndex_h
19#define itkConstNeighborhoodIteratorWithOnlyIndex_h
59template <
typename TImage>
147 return (this->GetIndex() + o);
155 return (this->GetIndex() + this->GetOffset(i));
197 return (this->GetIndex() == m_BeginIndex);
225 return it.
GetIndex() == this->GetIndex();
269 this->SetLoop(position);
315 this->SetNeedToUseBoundaryCondition(
true);
321 this->SetNeedToUseBoundaryCondition(
false);
327 m_NeedToUseBoundaryCondition = b;
333 return m_NeedToUseBoundaryCondition;
343 m_IsInBoundsValid =
false;
357 m_BeginIndex = start;
390 mutable bool m_IsInBounds{
false };
395 mutable bool m_IsInBoundsValid{
false };
404 bool m_NeedToUseBoundaryCondition{
false };
407template <
typename TImage>
408inline ConstNeighborhoodIteratorWithOnlyIndex<TImage>
417template <
typename TImage>
418inline ConstNeighborhoodIteratorWithOnlyIndex<TImage>
425template <
typename TImage>
426inline ConstNeighborhoodIteratorWithOnlyIndex<TImage>
436#ifndef ITK_MANUAL_INSTANTIATION
437# include "itkConstNeighborhoodIteratorWithOnlyIndex.hxx"
Pixel-wise addition of two images.
Index-only version of ConstNeighborhoodIterator, defining iteration of a local N-dimensional neighbor...
bool GetNeedToUseBoundaryCondition() const
ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION(Self)
ConstNeighborhoodIteratorWithOnlyIndex()=default
RegionType GetBoundingBoxAsImageRegion() const
void SetLocation(const IndexType &position)
void NeedToUseBoundaryConditionOff()
OffsetType operator-(const Self &b) const
const ImageType * GetImagePointer() const
Self & operator-=(const OffsetType &)
IndexType GetIndex(const OffsetType &o) const
bool operator>=(const Self &it) const
ConstNeighborhoodIteratorWithOnlyIndex(const SizeType &radius, const ImageType *ptr, const RegionType ®ion)
IndexType GetBound() const
IndexValueType GetBound(NeighborIndexType n) const
void SetLoop(const IndexType &p)
bool operator==(const Self &it) const
bool IndexInBounds(const NeighborIndexType n, OffsetType &internalIndex, OffsetType &offset) const
void Initialize(const SizeType &radius, const ImageType *ptr, const RegionType ®ion)
IndexType GetIndex(NeighborIndexType i) const
IndexType GetBeginIndex() const
void SetNeedToUseBoundaryCondition(bool b)
void SetBeginIndex(const IndexType &start)
char DummyNeighborhoodPixelType
OffsetType ComputeInternalIndex(NeighborIndexType n) const
typename NeighborhoodType::NeighborIndexType NeighborIndexType
void PrintSelf(std::ostream &, Indent) const override
IndexType GetIndex() const
RegionType GetRegion() const
ITK_DEFAULT_COPY_AND_MOVE(ConstNeighborhoodIteratorWithOnlyIndex)
bool operator>(const Self &it) const
Self & operator+=(const OffsetType &)
typename TImage::RegionType RegionType
void NeedToUseBoundaryConditionOn()
~ConstNeighborhoodIteratorWithOnlyIndex() override=default
void SetBound(const SizeType &)
unsigned int DimensionValueType
Control indentation during Print() invocation.
A light-weight container object for storing an N-dimensional neighborhood of values.
typename AllocatorType::iterator Iterator
SizeValueType NeighborIndexType
typename AllocatorType::const_iterator ConstIterator
SmartPointer< const Self > ConstPointer
ImageBaseType::RegionType RegionType
ImageBaseType::IndexType IndexType
constexpr unsigned int Dimension
ImageBaseType::SizeType SizeType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
bool operator<=(const Index< VDimension > &one, const Index< VDimension > &two)
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)
bool operator<(const Index< VDimension > &one, const Index< VDimension > &two)