ITK  5.1.0
Insight Toolkit
itkConstNeighborhoodIterator.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright NumFOCUS
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *=========================================================================*/
18 #ifndef itkConstNeighborhoodIterator_h
19 #define itkConstNeighborhoodIterator_h
20 
21 #include <vector>
22 #include <cstring>
23 #include <iostream>
24 #include "itkImage.h"
25 #include "itkNeighborhood.h"
26 #include "itkMacro.h"
28 
29 namespace itk
30 {
49 template <typename TImage, typename TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
50 class ITK_TEMPLATE_EXPORT ConstNeighborhoodIterator
51  : public Neighborhood<typename TImage::InternalPixelType *, TImage::ImageDimension>
52 {
53 public:
55  using InternalPixelType = typename TImage::InternalPixelType;
56  using PixelType = typename TImage::PixelType;
57 
59  using DimensionValueType = unsigned int;
60 
62  static constexpr DimensionValueType Dimension = TImage::ImageDimension;
63 
67 
71  using SizeType = typename Superclass::SizeType;
72  using Iterator = typename Superclass::Iterator;
74 
76  using ImageType = TImage;
77  using RegionType = typename TImage::RegionType;
80 
81 
83  using BoundaryConditionType = TBoundaryCondition;
84 
86 
89 
93  using NeighborhoodAccessorFunctorType = typename ImageType::NeighborhoodAccessorFunctorType;
94 
98 
101 
103  ~ConstNeighborhoodIterator() override = default;
104 
107 
110  ConstNeighborhoodIterator(const SizeType & radius, const ImageType * ptr, const RegionType & region)
111  {
112  this->Initialize(radius, ptr, region);
113  for (DimensionValueType i = 0; i < Dimension; i++)
114  {
115  m_InBounds[i] = false;
116  }
117  this->ResetBoundaryCondition();
118  m_NeighborhoodAccessorFunctor = ptr->GetNeighborhoodAccessor();
119  m_NeighborhoodAccessorFunctor.SetBegin(ptr->GetBufferPointer());
120  }
122 
124  Self &
125  operator=(const Self & orig);
126 
128  void
129  PrintSelf(std::ostream &, Indent) const override;
130 
133  OffsetType
134  ComputeInternalIndex(const NeighborIndexType n) const;
135 
137  IndexType
138  GetBound() const
139  {
140  return m_Bound;
141  }
142 
147  {
148  return m_Bound[n];
149  }
150 
152  const InternalPixelType *
154  {
155  return (this->operator[]((this->Size()) >> 1));
156  }
157 
160  PixelType
162  {
163  return m_NeighborhoodAccessorFunctor.Get(this->GetCenterPointer());
164  }
165 
167  const ImageType *
169  {
170  return m_ConstImage;
171  }
172 
175  ITK_ITERATOR_VIRTUAL IndexType
176  GetIndex() const ITK_ITERATOR_FINAL
177  {
178  return m_Loop;
179  }
180 
181  inline IndexType
183  {
184  return m_Loop + o;
185  }
186 
189  ITK_ITERATOR_VIRTUAL NeighborhoodType
190  GetNeighborhood() const ITK_ITERATOR_FINAL;
191 
193  ITK_ITERATOR_VIRTUAL PixelType
194  GetPixel(const NeighborIndexType i) const ITK_ITERATOR_FINAL
195  {
196  if (!m_NeedToUseBoundaryCondition || this->InBounds())
197  {
198  return (m_NeighborhoodAccessorFunctor.Get(this->operator[](i)));
199  }
200 
201  OffsetType internalIndex;
202  OffsetType offset;
203 
204  return this->IndexInBounds(i, internalIndex, offset)
205  ? m_NeighborhoodAccessorFunctor.Get(this->operator[](i))
206  : m_NeighborhoodAccessorFunctor.BoundaryCondition(internalIndex, offset, this, m_BoundaryCondition);
207  }
208 
214  ITK_ITERATOR_VIRTUAL PixelType
215  GetPixel(NeighborIndexType i, bool & IsInBounds) const ITK_ITERATOR_FINAL;
216 
219  ITK_ITERATOR_VIRTUAL PixelType
220  GetPixel(const OffsetType & o) const ITK_ITERATOR_FINAL
221  {
222  bool inbounds;
223 
224  return (this->GetPixel(this->GetNeighborhoodIndex(o), inbounds));
225  }
226 
232  ITK_ITERATOR_VIRTUAL PixelType
233  GetPixel(const OffsetType & o, bool & IsInBounds) const ITK_ITERATOR_FINAL
234  {
235  return (this->GetPixel(this->GetNeighborhoodIndex(o), IsInBounds));
236  }
237 
241  ITK_ITERATOR_VIRTUAL PixelType
242  GetNext(const unsigned axis, NeighborIndexType i) const ITK_ITERATOR_FINAL
243  {
244  return (this->GetPixel(this->GetCenterNeighborhoodIndex() + (i * this->GetStride(axis))));
245  }
246 
250  ITK_ITERATOR_VIRTUAL PixelType
251  GetNext(const unsigned axis) const ITK_ITERATOR_FINAL
252  {
253  return (this->GetPixel(this->GetCenterNeighborhoodIndex() + this->GetStride(axis)));
254  }
255 
259  ITK_ITERATOR_VIRTUAL PixelType
260  GetPrevious(const unsigned axis, NeighborIndexType i) const ITK_ITERATOR_FINAL
261  {
262  return (this->GetPixel(this->GetCenterNeighborhoodIndex() - (i * this->GetStride(axis))));
263  }
264 
268  ITK_ITERATOR_VIRTUAL PixelType
269  GetPrevious(const unsigned axis) const ITK_ITERATOR_FINAL
270  {
271  return (this->GetPixel(this->GetCenterNeighborhoodIndex() - this->GetStride(axis)));
272  }
273 
276  ITK_ITERATOR_VIRTUAL IndexType
277  GetIndex(const OffsetType & o) const ITK_ITERATOR_FINAL
278  {
279  return (this->GetIndex() + o);
280  }
281 
284  ITK_ITERATOR_VIRTUAL IndexType
285  GetIndex(NeighborIndexType i) const ITK_ITERATOR_FINAL
286  {
287  return (this->GetIndex() + this->GetOffset(i));
288  }
289 
291  RegionType
292  GetRegion() const
293  {
294  return m_Region;
295  }
296 
299  IndexType
301  {
302  return m_BeginIndex;
303  }
304 
307  RegionType
308  GetBoundingBoxAsImageRegion() const;
309 
311  OffsetType
313  {
314  return m_WrapOffset;
315  }
316 
324  {
325  return m_WrapOffset[n];
326  }
327 
329  ITK_ITERATOR_VIRTUAL void
330  GoToBegin() ITK_ITERATOR_FINAL;
331 
334  ITK_ITERATOR_VIRTUAL void
335  GoToEnd() ITK_ITERATOR_FINAL;
336 
339  ITK_ITERATOR_VIRTUAL void
340  Initialize(const SizeType & radius, const ImageType * ptr, const RegionType & region) ITK_ITERATOR_FINAL;
341 
344  ITK_ITERATOR_VIRTUAL bool
345  IsAtBegin() const ITK_ITERATOR_FINAL
346  {
347  return (this->GetCenterPointer() == m_Begin);
348  }
349 
352  ITK_ITERATOR_VIRTUAL bool
353  IsAtEnd() const ITK_ITERATOR_FINAL
354  {
355  if (this->GetCenterPointer() > m_End)
356  {
357  ExceptionObject e(__FILE__, __LINE__);
358  std::ostringstream msg;
359  msg << "In method IsAtEnd, CenterPointer = " << this->GetCenterPointer() << " is greater than End = " << m_End
360  << std::endl
361  << " " << *this;
362  e.SetDescription(msg.str().c_str());
363  throw e;
364  }
365  return (this->GetCenterPointer() == m_End);
366  }
368 
373  Self &
374  operator++();
375 
380  Self &
381  operator--();
382 
386  bool
387  operator==(const Self & it) const
388  {
389  return it.GetCenterPointer() == this->GetCenterPointer();
390  }
391 
395  bool
396  operator!=(const Self & it) const
397  {
398  return it.GetCenterPointer() != this->GetCenterPointer();
399  }
400 
404  bool
405  operator<(const Self & it) const
406  {
407  return this->GetCenterPointer() < it.GetCenterPointer();
408  }
409 
413  bool
414  operator<=(const Self & it) const
415  {
416  return this->GetCenterPointer() <= it.GetCenterPointer();
417  }
418 
422  bool
423  operator>(const Self & it) const
424  {
425  return this->GetCenterPointer() > it.GetCenterPointer();
426  }
427 
431  bool
432  operator>=(const Self & it) const
433  {
434  return this->GetCenterPointer() >= it.GetCenterPointer();
435  }
436 
441  void
442  SetLocation(const IndexType & position)
443  {
444  this->SetLoop(position);
445  this->SetPixelPointers(position);
446  }
448 
452  Self &
453  operator+=(const OffsetType &);
454 
458  Self &
459  operator-=(const OffsetType &);
460 
462  OffsetType
463  operator-(const Self & b)
464  {
465  return m_Loop - b.m_Loop;
466  }
467 
471  bool
472  InBounds() const;
473 
485  bool
486  IndexInBounds(const NeighborIndexType n, OffsetType & internalIndex, OffsetType & offset) const;
487 
490  bool
491  IndexInBounds(const NeighborIndexType n) const;
492 
498  ITK_ITERATOR_VIRTUAL void
500  {
501  m_BoundaryCondition = i;
502  }
503 
506  ITK_ITERATOR_VIRTUAL void
507  ResetBoundaryCondition() ITK_ITERATOR_FINAL
508  {
509  m_BoundaryCondition = &m_InternalBoundaryCondition;
510  }
511 
513  void
514  SetBoundaryCondition(const TBoundaryCondition & c)
515  {
516  m_InternalBoundaryCondition = c;
517  }
518 
520  ImageBoundaryConditionPointerType
522  {
523  return m_BoundaryCondition;
524  }
525 
527  void
529  {
530  this->SetNeedToUseBoundaryCondition(true);
531  }
532 
533  void
535  {
536  this->SetNeedToUseBoundaryCondition(false);
537  }
538 
539  void
541  {
542  m_NeedToUseBoundaryCondition = b;
543  }
544 
545  bool
547  {
548  return m_NeedToUseBoundaryCondition;
549  }
550 
552  ITK_ITERATOR_VIRTUAL void
553  SetRegion(const RegionType & region) ITK_ITERATOR_FINAL;
554 
555 protected:
558  ITK_ITERATOR_VIRTUAL void
559  SetLoop(const IndexType & p) ITK_ITERATOR_FINAL
560  {
561  m_Loop = p;
562  m_IsInBoundsValid = false;
563  }
564 
568  ITK_ITERATOR_VIRTUAL void
569  SetBound(const SizeType &) ITK_ITERATOR_FINAL;
570 
575  ITK_ITERATOR_VIRTUAL void
576  SetPixelPointers(const IndexType &) ITK_ITERATOR_FINAL;
577 
580  ITK_ITERATOR_VIRTUAL void
581  SetBeginIndex(const IndexType & start) ITK_ITERATOR_FINAL
582  {
583  m_BeginIndex = start;
584  }
585 
588  ITK_ITERATOR_VIRTUAL void
589  SetEndIndex() ITK_ITERATOR_FINAL;
590 
593  IndexType m_BeginIndex;
594 
596  IndexType m_Bound;
597 
599  const InternalPixelType * m_Begin;
600 
602  typename ImageType::ConstWeakPointer m_ConstImage;
603 
605  const InternalPixelType * m_End;
606 
609  IndexType m_EndIndex;
610 
612  IndexType m_Loop;
613 
615  RegionType m_Region;
616 
622  OffsetType m_WrapOffset;
623 
629 
632  mutable bool m_InBounds[Dimension];
633 
635  mutable bool m_IsInBounds{ false };
636 
640  mutable bool m_IsInBoundsValid{ false };
641 
644 
647 
649  TBoundaryCondition m_InternalBoundaryCondition;
650 
652  bool m_NeedToUseBoundaryCondition{ false };
653 
656 };
657 
658 template <typename TImage>
662 {
664  ret += ind;
665  return ret;
666 }
667 
668 template <typename TImage>
669 inline ConstNeighborhoodIterator<TImage>
672 {
673  return (it + ind);
674 }
675 
676 template <typename TImage>
677 inline ConstNeighborhoodIterator<TImage>
680 {
682  ret -= ind;
683  return ret;
684 }
685 } // namespace itk
686 
687 #ifndef ITK_MANUAL_INSTANTIATION
688 # include "itkConstNeighborhoodIterator.hxx"
689 #endif
690 
691 #endif
itk::ConstNeighborhoodIterator::GetIndex
ITK_ITERATOR_VIRTUAL IndexType GetIndex(const OffsetType &o) const ITK_ITERATOR_FINAL
Definition: itkConstNeighborhoodIterator.h:277
itk::ConstNeighborhoodIterator::GetImagePointer
const ImageType * GetImagePointer() const
Definition: itkConstNeighborhoodIterator.h:168
itk::ConstNeighborhoodIterator::operator==
bool operator==(const Self &it) const
Definition: itkConstNeighborhoodIterator.h:387
itk::ConstNeighborhoodIterator::GetNeedToUseBoundaryCondition
bool GetNeedToUseBoundaryCondition() const
Definition: itkConstNeighborhoodIterator.h:546
itk::Index< Self::Dimension >
itk::ConstNeighborhoodIterator::IsAtEnd
ITK_ITERATOR_VIRTUAL bool IsAtEnd() const ITK_ITERATOR_FINAL
Definition: itkConstNeighborhoodIterator.h:353
itk::ConstNeighborhoodIterator< TSparseImageType >::RadiusType
typename Superclass::RadiusType RadiusType
Definition: itkConstNeighborhoodIterator.h:70
itk::operator<
bool operator<(const Index< VDimension > &one, const Index< VDimension > &two)
Definition: itkIndex.h:546
itk::ConstNeighborhoodIterator::GetPixel
ITK_ITERATOR_VIRTUAL PixelType GetPixel(const OffsetType &o) const ITK_ITERATOR_FINAL
Definition: itkConstNeighborhoodIterator.h:220
itk::operator<=
bool operator<=(const Index< VDimension > &one, const Index< VDimension > &two)
Definition: itkIndex.h:560
itk::ConstNeighborhoodIterator< TSparseImageType >::NeighborIndexType
typename NeighborhoodType::NeighborIndexType NeighborIndexType
Definition: itkConstNeighborhoodIterator.h:88
itk::Size
Represent a n-dimensional size (bounds) of a n-dimensional image.
Definition: itkSize.h:69
itk::ConstNeighborhoodIterator< TSparseImageType >::PixelType
typename TSparseImageType ::PixelType PixelType
Definition: itkConstNeighborhoodIterator.h:56
itk::ConstNeighborhoodIterator::GetCenterPixel
PixelType GetCenterPixel() const
Definition: itkConstNeighborhoodIterator.h:161
itk::ConstNeighborhoodIterator::GetBound
IndexType GetBound() const
Definition: itkConstNeighborhoodIterator.h:138
itk::ConstNeighborhoodIterator::GetPixel
ITK_ITERATOR_VIRTUAL PixelType GetPixel(const OffsetType &o, bool &IsInBounds) const ITK_ITERATOR_FINAL
Definition: itkConstNeighborhoodIterator.h:233
itk::ConstNeighborhoodIterator::GetNext
ITK_ITERATOR_VIRTUAL PixelType GetNext(const unsigned axis) const ITK_ITERATOR_FINAL
Definition: itkConstNeighborhoodIterator.h:251
itk::ConstNeighborhoodIterator::operator>=
bool operator>=(const Self &it) const
Definition: itkConstNeighborhoodIterator.h:432
itk::operator-
ConstNeighborhoodIterator< TImage > operator-(const ConstNeighborhoodIterator< TImage > &it, const typename ConstNeighborhoodIterator< TImage >::OffsetType &ind)
Definition: itkConstNeighborhoodIterator.h:678
itk::Neighborhood
A light-weight container object for storing an N-dimensional neighborhood of values.
Definition: itkNeighborhood.h:54
itk::GTest::TypedefsAndConstructors::Dimension2::SizeType
ImageBaseType::SizeType SizeType
Definition: itkGTestTypedefsAndConstructors.h:49
itkImage.h
itk::ConstNeighborhoodIterator::GetFastIndexPlusOffset
IndexType GetFastIndexPlusOffset(const OffsetType &o) const
Definition: itkConstNeighborhoodIterator.h:182
itk::Indent
Control indentation during Print() invocation.
Definition: itkIndent.h:49
itk::ConstNeighborhoodIterator::operator!=
bool operator!=(const Self &it) const
Definition: itkConstNeighborhoodIterator.h:396
itk::ConstNeighborhoodIterator::GetPrevious
ITK_ITERATOR_VIRTUAL PixelType GetPrevious(const unsigned axis, NeighborIndexType i) const ITK_ITERATOR_FINAL
Definition: itkConstNeighborhoodIterator.h:260
itkNeighborhood.h
itk::ConstNeighborhoodIterator::NeedToUseBoundaryConditionOn
void NeedToUseBoundaryConditionOn()
Definition: itkConstNeighborhoodIterator.h:528
itk::ConstNeighborhoodIterator::GetRegion
RegionType GetRegion() const
Definition: itkConstNeighborhoodIterator.h:292
itk::ConstNeighborhoodIterator< TSparseImageType >::ImageType
TSparseImageType ImageType
Definition: itkConstNeighborhoodIterator.h:76
itk::ConstNeighborhoodIterator::SetLocation
void SetLocation(const IndexType &position)
Definition: itkConstNeighborhoodIterator.h:442
itk::ImageBoundaryCondition< ImageType, OutputImageType >
itk::ConstNeighborhoodIterator::SetLoop
ITK_ITERATOR_VIRTUAL void SetLoop(const IndexType &p) ITK_ITERATOR_FINAL
Definition: itkConstNeighborhoodIterator.h:559
itk::ConstNeighborhoodIterator::GetBeginIndex
IndexType GetBeginIndex() const
Definition: itkConstNeighborhoodIterator.h:300
itk::GTest::TypedefsAndConstructors::Dimension2::IndexType
ImageBaseType::IndexType IndexType
Definition: itkGTestTypedefsAndConstructors.h:50
itk::ConstNeighborhoodIterator::m_InnerBoundsLow
IndexType m_InnerBoundsLow
Definition: itkConstNeighborhoodIterator.h:643
itk::ConstNeighborhoodIterator::SetBoundaryCondition
void SetBoundaryCondition(const TBoundaryCondition &c)
Definition: itkConstNeighborhoodIterator.h:514
itkMacro.h
itk::ConstNeighborhoodIterator::m_InnerBoundsHigh
IndexType m_InnerBoundsHigh
Definition: itkConstNeighborhoodIterator.h:646
itk::ImageBoundaryCondition< TSparseImageType, TSparseImageType >::OutputImageType
TSparseImageType OutputImageType
Definition: itkImageBoundaryCondition.h:64
itk::ConstNeighborhoodIterator::GetIndex
ITK_ITERATOR_VIRTUAL IndexType GetIndex(NeighborIndexType i) const ITK_ITERATOR_FINAL
Definition: itkConstNeighborhoodIterator.h:285
itk::ConstNeighborhoodIterator::ResetBoundaryCondition
ITK_ITERATOR_VIRTUAL void ResetBoundaryCondition() ITK_ITERATOR_FINAL
Definition: itkConstNeighborhoodIterator.h:507
itk::GTest::TypedefsAndConstructors::Dimension2::RegionType
ImageBaseType::RegionType RegionType
Definition: itkGTestTypedefsAndConstructors.h:54
itk::ConstNeighborhoodIterator::OverrideBoundaryCondition
ITK_ITERATOR_VIRTUAL void OverrideBoundaryCondition(const ImageBoundaryConditionPointerType i) ITK_ITERATOR_FINAL
Definition: itkConstNeighborhoodIterator.h:499
itk::Neighborhood::Iterator
typename AllocatorType::iterator Iterator
Definition: itkNeighborhood.h:75
itk::ConstNeighborhoodIterator::SetBeginIndex
ITK_ITERATOR_VIRTUAL void SetBeginIndex(const IndexType &start) ITK_ITERATOR_FINAL
Definition: itkConstNeighborhoodIterator.h:581
itk::ConstNeighborhoodIterator::GetIndex
ITK_ITERATOR_VIRTUAL IndexType GetIndex() const ITK_ITERATOR_FINAL
Definition: itkConstNeighborhoodIterator.h:176
itk::ConstNeighborhoodIterator::GetBoundaryCondition
ImageBoundaryConditionPointerType GetBoundaryCondition() const
Definition: itkConstNeighborhoodIterator.h:521
itk::ConstNeighborhoodIterator::ConstNeighborhoodIterator
ConstNeighborhoodIterator(const SizeType &radius, const ImageType *ptr, const RegionType &region)
Definition: itkConstNeighborhoodIterator.h:110
itk::ConstNeighborhoodIterator::GetPrevious
ITK_ITERATOR_VIRTUAL PixelType GetPrevious(const unsigned axis) const ITK_ITERATOR_FINAL
Definition: itkConstNeighborhoodIterator.h:269
itk::Neighborhood::ConstIterator
typename AllocatorType::const_iterator ConstIterator
Definition: itkNeighborhood.h:76
itk::Offset
Represent a n-dimensional offset between two n-dimensional indexes of n-dimensional image.
Definition: itkOffset.h:67
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition: itkArray.h:26
itk::ConstNeighborhoodIterator::GetBound
IndexValueType GetBound(NeighborIndexType n) const
Definition: itkConstNeighborhoodIterator.h:146
itk::ConstNeighborhoodIterator::m_InternalBoundaryCondition
TBoundaryCondition m_InternalBoundaryCondition
Definition: itkConstNeighborhoodIterator.h:649
itk::ConstNeighborhoodIterator
Const version of NeighborhoodIterator, defining iteration of a local N-dimensional neighborhood of pi...
Definition: itkConstNeighborhoodIterator.h:50
itk::ConstNeighborhoodIterator::GetWrapOffset
OffsetType GetWrapOffset() const
Definition: itkConstNeighborhoodIterator.h:312
itk::OffsetValueType
signed long OffsetValueType
Definition: itkIntTypes.h:94
itk::ConstNeighborhoodIterator::m_NeighborhoodAccessorFunctor
NeighborhoodAccessorFunctorType m_NeighborhoodAccessorFunctor
Definition: itkConstNeighborhoodIterator.h:655
itk::ConstNeighborhoodIterator::NeedToUseBoundaryConditionOff
void NeedToUseBoundaryConditionOff()
Definition: itkConstNeighborhoodIterator.h:534
itk::ConstNeighborhoodIterator::m_Loop
IndexType m_Loop
Definition: itkConstNeighborhoodIterator.h:612
itk::ConstNeighborhoodIterator::operator-
OffsetType operator-(const Self &b)
Definition: itkConstNeighborhoodIterator.h:463
itk::operator+
ConstNeighborhoodIterator< TImage > operator+(const ConstNeighborhoodIterator< TImage > &it, const typename ConstNeighborhoodIterator< TImage >::OffsetType &ind)
Definition: itkConstNeighborhoodIterator.h:660
itk::IndexValueType
signed long IndexValueType
Definition: itkIntTypes.h:90
itk::ConstNeighborhoodIterator::GetCenterPointer
const InternalPixelType * GetCenterPointer() const
Definition: itkConstNeighborhoodIterator.h:153
itk::ConstNeighborhoodIterator< TSparseImageType >::ConstIterator
typename Superclass::ConstIterator ConstIterator
Definition: itkConstNeighborhoodIterator.h:73
itk::ConstNeighborhoodIterator::operator>
bool operator>(const Self &it) const
Definition: itkConstNeighborhoodIterator.h:423
itk::Math::e
static constexpr double e
Definition: itkMath.h:54
itk::ConstNeighborhoodIterator::GetWrapOffset
OffsetValueType GetWrapOffset(NeighborIndexType n) const
Definition: itkConstNeighborhoodIterator.h:323
itk::ConstNeighborhoodIterator::GetNext
ITK_ITERATOR_VIRTUAL PixelType GetNext(const unsigned axis, NeighborIndexType i) const ITK_ITERATOR_FINAL
Definition: itkConstNeighborhoodIterator.h:242
itk::ConstNeighborhoodIterator< TSparseImageType >::OffsetType
typename Superclass::OffsetType OffsetType
Definition: itkConstNeighborhoodIterator.h:69
itk::ConstNeighborhoodIterator< TSparseImageType >::NeighborhoodAccessorFunctorType
typename ImageType::NeighborhoodAccessorFunctorType NeighborhoodAccessorFunctorType
Definition: itkConstNeighborhoodIterator.h:93
itk::ZeroFluxNeumannBoundaryCondition< TSparseImageType >
itk::Neighborhood::NeighborIndexType
SizeValueType NeighborIndexType
Definition: itkNeighborhood.h:96
itk::ConstNeighborhoodIterator< TSparseImageType >::Iterator
typename Superclass::Iterator Iterator
Definition: itkConstNeighborhoodIterator.h:72
itk::GTest::TypedefsAndConstructors::Dimension2::Dimension
constexpr unsigned int Dimension
Definition: itkGTestTypedefsAndConstructors.h:44
itkZeroFluxNeumannBoundaryCondition.h
itk::ConstNeighborhoodIterator< TSparseImageType >::SizeType
typename Superclass::SizeType SizeType
Definition: itkConstNeighborhoodIterator.h:71
itk::ConstNeighborhoodIterator< TSparseImageType >::OutputImageType
typename BoundaryConditionType::OutputImageType OutputImageType
Definition: itkConstNeighborhoodIterator.h:85
itk::ConstNeighborhoodIterator::SetNeedToUseBoundaryCondition
void SetNeedToUseBoundaryCondition(bool b)
Definition: itkConstNeighborhoodIterator.h:540