18#ifndef itkConstShapedNeighborhoodIterator_h
19#define itkConstShapedNeighborhoodIterator_h
71template <
typename TImage,
typename TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
80 static constexpr unsigned int Dimension = TImage::ImageDimension;
211 typename IndexListType::value_type
282 using Superclass::operator==;
283#ifndef ITK_EXPERIMENTAL_CXX20_REWRITTEN_UNEQUAL_OPERATOR
284 using Superclass::operator!=;
286 using Superclass::operator<;
287 using Superclass::operator>;
288 using Superclass::operator>=;
289 using Superclass::operator<=;
290 using Superclass::operator[];
304 using Superclass::operator-;
343 template <
typename TOffsets>
347 for (
const auto & offset : offsets)
364 const IndexListType &
371 typename IndexListType::size_type
380 template <
typename TNeighborPixel>
417 friend struct ConstIterator;
439#ifndef ITK_MANUAL_INSTANTIATION
440# include "itkConstShapedNeighborhoodIterator.hxx"
PixelType GetCenterPixel() const
void SetRegion(const RegionType ®ion)
RegionType GetRegion() const
void OverrideBoundaryCondition(const ImageBoundaryConditionPointerType i)
PixelType GetPixel(const NeighborIndexType i) const
void NeedToUseBoundaryConditionOff()
bool GetNeedToUseBoundaryCondition() const
void SetNeedToUseBoundaryCondition(bool b)
void NeedToUseBoundaryConditionOn()
void SetBoundaryCondition(const TBoundaryCondition &c)
const ImageType * GetImagePointer() const
IndexType GetIndex() const
IndexType GetBeginIndex() const
ImageBoundaryConditionPointerType GetBoundaryCondition() const
void SetLocation(const IndexType &position)
void ResetBoundaryCondition()
IndexListType::size_type GetActiveIndexListSize() const
Index< Self::Dimension > IndexType
IndexListType m_ActiveIndexList
static constexpr unsigned int Dimension
ConstIterator End() const
typename TImage::RegionType RegionType
void PrintSelf(std::ostream &, Indent) const override
typename OffsetType::OffsetValueType OffsetValueType
typename TImage::PixelType PixelType
void ActivateIndex(NeighborIndexType)
ImageBoundaryCondition< ImageType > * ImageBoundaryConditionPointerType
ConstShapedNeighborhoodIterator(const SizeType &radius, const ImageType *ptr, const RegionType ®ion)
void DeactivateOffset(const OffsetType &off)
void CreateActiveListFromNeighborhood(const NeighborhoodType &neighborhood)
ConstShapedNeighborhoodIterator()=default
void ActivateOffset(const OffsetType &off)
ConstShapedNeighborhoodIterator Self
typename SizeType::SizeValueType SizeValueType
TBoundaryCondition BoundaryConditionType
typename IndexListType::const_iterator IndexListConstIterator
Self & operator-=(const OffsetType &)
Self & operator=(const Self &orig)
typename TImage::InternalPixelType InternalPixelType
Neighborhood< PixelType, Self::Dimension > NeighborhoodType
typename IndexListType::iterator IndexListIterator
typename IndexType::IndexValueType IndexValueType
ConstIterator Begin() const
void CreateActiveListFromNeighborhood(const Neighborhood< TNeighborPixel, Self::Dimension > &)
void DeactivateIndex(NeighborIndexType)
ConstShapedNeighborhoodIterator(const ConstShapedNeighborhoodIterator &)=delete
Self & operator+=(const OffsetType &)
void ActivateOffsets(const TOffsets &offsets)
typename NeighborhoodType::NeighborIndexType NeighborIndexType
NeighborhoodIterator< TImage, TBoundaryCondition > Superclass
const IndexListType & GetActiveIndexList() const
std::list< NeighborIndexType > IndexListType
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 > SizeType
void SetCenterPixel(const PixelType &p)
Offset< VDimension > OffsetType
void SetPixel(const unsigned int n, const PixelType &v, bool &status)
InternalPixelType * GetCenterPointer()
Self & operator=(const Self &orig)
itk::Size< VDimension > RadiusType
A light-weight container object for storing an N-dimensional neighborhood of values.
TImage::InternalPixelType *& GetElement(NeighborIndexType i)
OffsetType GetOffset(NeighborIndexType i) const
void Print(std::ostream &os) const
virtual NeighborIndexType GetNeighborhoodIndex(const OffsetType &) const
NeighborIndexType GetCenterNeighborhoodIndex() const
SizeValueType NeighborIndexType
const SizeType GetRadius() const
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
ConstIterator & operator=(const ConstIterator &o)
Self * m_NeighborhoodIterator
OffsetType GetNeighborhoodOffset() const
const ConstIterator & operator++()
IndexListType::const_iterator m_ListIterator
const ConstIterator & operator--()
void ProtectedSet(const PixelType &v) const
ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION(ConstIterator)
IndexListType::value_type GetNeighborhoodIndex() const
ConstIterator(const ConstIterator &o)
ConstIterator(const Self *s, const typename IndexListType::const_iterator &li)
bool operator==(const ConstIterator &o) const
Represent a n-dimensional index in a n-dimensional image.
itk::IndexValueType IndexValueType
itk::OffsetValueType OffsetValueType
itk::SizeValueType SizeValueType