18 #ifndef itkConstNeighborhoodIterator_h 19 #define itkConstNeighborhoodIterator_h 49 template<
typename TImage,
typename TBoundaryCondition =
52 public Neighborhood< typename TImage::InternalPixelType *,
53 TImage::ImageDimension >
64 itkStaticConstMacro(
Dimension, DimensionValueType, TImage::ImageDimension);
92 typedef typename ImageType::NeighborhoodAccessorFunctorType
115 const ImageType *ptr,
116 const RegionType & region)
119 for ( DimensionValueType i = 0; i <
Dimension; i++ )
148 {
return ( this->
operator[]( ( this->
Size() ) >> 1 ) ); }
172 virtual PixelType
GetPixel(NeighborIndexType i)
const 188 virtual PixelType
GetPixel(NeighborIndexType i,
bool & IsInBounds)
const;
192 virtual PixelType
GetPixel(
const OffsetType & o)
const 205 bool & IsInBounds)
const 211 virtual PixelType
GetNext(
const unsigned axis, NeighborIndexType i)
const 220 virtual PixelType
GetNext(
const unsigned axis)
const 229 virtual PixelType
GetPrevious(
const unsigned axis, NeighborIndexType i)
const 246 virtual IndexType
GetIndex(
const OffsetType & o)
const 247 {
return ( this->
GetIndex() + o ); }
251 virtual IndexType
GetIndex(NeighborIndexType i)
const 290 virtual void Initialize(
const SizeType & radius,
const ImageType *ptr,
291 const RegionType & region);
305 std::ostringstream msg;
307 <<
" is greater than End = " <<
m_End 406 bool IndexInBounds(
const NeighborIndexType n, OffsetType & internalIndex, OffsetType & offset )
const;
418 ImageBoundaryConditionPointerType i)
456 virtual void SetRegion(
const RegionType & region);
468 virtual void SetBound(
const SizeType &);
552 template<
typename TImage >
562 template<
typename TImage >
566 {
return ( it + ind ); }
568 template<
typename TImage >
580 #ifndef ITK_MANUAL_INSTANTIATION 581 #include "itkConstNeighborhoodIterator.hxx" virtual IndexType GetIndex(void) const
virtual bool IsAtEnd() const
bool operator==(const Self &it) const
bool m_InBounds[Dimension]
unsigned int DimensionValueType
OffsetValueType GetWrapOffset(NeighborIndexType n) const
NeighborhoodAccessorFunctorType m_NeighborhoodAccessorFunctor
bool GetNeedToUseBoundaryCondition() const
bool operator<=(const Self &it) const
typedef::itk::Size< VDimension > RadiusType
virtual void SetDescription(const std::string &s)
TImage::PixelType PixelType
Neighborhood< PixelType, itkGetStaticConstMacro(Dimension) > NeighborhoodType
bool operator!=(const Self &it) const
virtual PixelType GetNext(const unsigned axis) const
signed long OffsetValueType
virtual PixelType GetPixel(NeighborIndexType i) const
void NeedToUseBoundaryConditionOn()
IndexType m_InnerBoundsLow
virtual void OverrideBoundaryCondition(const ImageBoundaryConditionPointerType i)
A light-weight container object for storing an N-dimensional neighborhood of values.
signed long IndexValueType
IndexType GetBound() const
virtual void PrintSelf(std::ostream &, Indent) const
bool IndexInBounds(const NeighborIndexType n, OffsetType &internalIndex, OffsetType &offset) const
NeighborhoodType::NeighborIndexType NeighborIndexType
TBoundaryCondition m_InternalBoundaryCondition
virtual bool IsAtBegin() const
virtual NeighborIndexType GetNeighborhoodIndex(const OffsetType &) const
OffsetValueType GetStride(DimensionValueType axis) const
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
ConstNeighborhoodIterator Self
Superclass::RadiusType RadiusType
IndexType GetBeginIndex() const
virtual PixelType GetPixel(const OffsetType &o, bool &IsInBounds) const
Const version of NeighborhoodIterator, defining iteration of a local N-dimensional neighborhood of pi...
virtual PixelType GetPrevious(const unsigned axis, NeighborIndexType i) const
virtual void ResetBoundaryCondition()
OffsetType GetWrapOffset() const
IndexType GetFastIndexPlusOffset(const OffsetType &o) const
ImageBoundaryCondition< ImageType > * ImageBoundaryConditionPointerType
Superclass::Iterator Iterator
IndexValueType GetBound(NeighborIndexType n) const
virtual PixelType GetNext(const unsigned axis, NeighborIndexType i) const
virtual void SetPixelPointers(const IndexType &)
const InternalPixelType * m_End
static ITK_CONSTEXPR double e
The base of the natural logarithm or Euler's number
ConstNeighborhoodIterator(const SizeType &radius, const ImageType *ptr, const RegionType ®ion)
Superclass::SizeType SizeType
const InternalPixelType * m_Begin
ImageType::ConstWeakPointer m_ConstImage
Self & operator=(const Self &orig)
NeighborIndexType Size() const
Superclass::ConstIterator ConstIterator
OffsetType GetOffset(NeighborIndexType i) const
TBoundaryCondition BoundaryConditionType
ConstNeighborhoodIterator()
ImageBoundaryConditionPointerType m_BoundaryCondition
void SetLocation(const IndexType &position)
ConstNeighborhoodIterator< TImage > operator+(const ConstNeighborhoodIterator< TImage > &it, const typename ConstNeighborhoodIterator< TImage >::OffsetType &ind)
PixelType GetCenterPixel() const
typedef::itk::Size< VDimension > SizeType
virtual IndexType GetIndex(const OffsetType &o) const
Standard exception handling object.
virtual void SetRegion(const RegionType ®ion)
Neighborhood< InternalPixelType *, itkGetStaticConstMacro(Dimension) > Superclass
virtual void SetLoop(const IndexType &p)
virtual void SetBeginIndex(const IndexType &start)
bool operator>=(const Self &it) const
TImage::RegionType RegionType
virtual PixelType GetPrevious(const unsigned axis) const
ImageType::NeighborhoodAccessorFunctorType NeighborhoodAccessorFunctorType
Self & operator+=(const OffsetType &)
const ImageType * GetImagePointer(void) const
Index< itkGetStaticConstMacro(Dimension) > IndexType
RegionType GetRegion() const
Self & operator-=(const OffsetType &)
AllocatorType::iterator Iterator
ImageBoundaryCondition< ImageType > const * ImageBoundaryConditionConstPointerType
RegionType GetBoundingBoxAsImageRegion() const
const InternalPixelType * GetCenterPointer() const
bool m_NeedToUseBoundaryCondition
NeighborIndexType GetCenterNeighborhoodIndex() const
Control indentation during Print() invocation.
virtual void SetBound(const SizeType &)
AllocatorType::const_iterator ConstIterator
bool operator<(const Self &it) const
OffsetType ComputeInternalIndex(const NeighborIndexType n) const
virtual NeighborhoodType GetNeighborhood() const
static const DimensionValueType Dimension
ImageBoundaryConditionPointerType GetBoundaryCondition() const
void SetBoundaryCondition(const TBoundaryCondition &c)
virtual IndexType GetIndex(NeighborIndexType i) const
virtual void SetEndIndex()
void NeedToUseBoundaryConditionOff()
void SetNeedToUseBoundaryCondition(bool b)
OffsetType operator-(const Self &b)
virtual ~ConstNeighborhoodIterator()
virtual PixelType GetPixel(const OffsetType &o) const
TImage::InternalPixelType InternalPixelType
virtual void Initialize(const SizeType &radius, const ImageType *ptr, const RegionType ®ion)
IndexType m_InnerBoundsHigh
bool operator>(const Self &it) const
Superclass::OffsetType OffsetType
SizeValueType NeighborIndexType