ITK  5.3.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 {
50 template <typename TImage, typename TBoundaryCondition = ZeroFluxNeumannBoundaryCondition<TImage>>
51 class ITK_TEMPLATE_EXPORT ConstNeighborhoodIterator
52  : public Neighborhood<typename TImage::InternalPixelType *, TImage::ImageDimension>
53 {
54 public:
56  using InternalPixelType = typename TImage::InternalPixelType;
57  using PixelType = typename TImage::PixelType;
58 
60  using DimensionValueType = unsigned int;
61 
63  static constexpr DimensionValueType Dimension = TImage::ImageDimension;
64 
68 
72  using SizeType = typename Superclass::SizeType;
73  using Iterator = typename Superclass::Iterator;
75 
77  using ImageType = TImage;
78  using RegionType = typename TImage::RegionType;
81 
82 
84  using BoundaryConditionType = TBoundaryCondition;
85 
87 
90 
94  using NeighborhoodAccessorFunctorType = typename ImageType::NeighborhoodAccessorFunctorType;
95 
99 
102 
104  ~ConstNeighborhoodIterator() override = default;
105 
108 
111  ConstNeighborhoodIterator(const SizeType & radius, const ImageType * ptr, const RegionType & region)
112  {
113  this->Initialize(radius, ptr, region);
114  for (DimensionValueType i = 0; i < Dimension; i++)
115  {
116  m_InBounds[i] = false;
117  }
118  this->ResetBoundaryCondition();
119  m_NeighborhoodAccessorFunctor = ptr->GetNeighborhoodAccessor();
120  m_NeighborhoodAccessorFunctor.SetBegin(ptr->GetBufferPointer());
121  }
123 
125  Self &
126  operator=(const Self & orig);
127 
129  void
130  PrintSelf(std::ostream &, Indent) const override;
131 
134  OffsetType
135  ComputeInternalIndex(const NeighborIndexType n) const;
136 
138  IndexType
139  GetBound() const
140  {
141  return m_Bound;
142  }
143 
148  {
149  return m_Bound[n];
150  }
151 
153  const InternalPixelType *
155  {
156  return (this->operator[]((this->Size()) >> 1));
157  }
158 
161  PixelType
163  {
164  return m_NeighborhoodAccessorFunctor.Get(this->GetCenterPointer());
165  }
166 
168  const ImageType *
170  {
171  return m_ConstImage;
172  }
173 
176  ITK_ITERATOR_VIRTUAL IndexType
177  GetIndex() const ITK_ITERATOR_FINAL
178  {
179  return m_Loop;
180  }
181 
182  inline IndexType
184  {
185  return m_Loop + o;
186  }
187 
190  ITK_ITERATOR_VIRTUAL NeighborhoodType
191  GetNeighborhood() const ITK_ITERATOR_FINAL;
192 
194  ITK_ITERATOR_VIRTUAL PixelType
195  GetPixel(const NeighborIndexType i) const ITK_ITERATOR_FINAL
196  {
197  if (!m_NeedToUseBoundaryCondition || this->InBounds())
198  {
199  return (m_NeighborhoodAccessorFunctor.Get(this->operator[](i)));
200  }
201 
202  OffsetType internalIndex;
203  OffsetType offset;
204 
205  return this->IndexInBounds(i, internalIndex, offset)
206  ? m_NeighborhoodAccessorFunctor.Get(this->operator[](i))
207  : m_NeighborhoodAccessorFunctor.BoundaryCondition(internalIndex, offset, this, m_BoundaryCondition);
208  }
209 
215  ITK_ITERATOR_VIRTUAL PixelType
216  GetPixel(NeighborIndexType i, bool & IsInBounds) const ITK_ITERATOR_FINAL;
217 
220  ITK_ITERATOR_VIRTUAL PixelType
221  GetPixel(const OffsetType & o) const ITK_ITERATOR_FINAL
222  {
223  bool inbounds;
224 
225  return (this->GetPixel(this->GetNeighborhoodIndex(o), inbounds));
226  }
227 
233  ITK_ITERATOR_VIRTUAL PixelType
234  GetPixel(const OffsetType & o, bool & IsInBounds) const ITK_ITERATOR_FINAL
235  {
236  return (this->GetPixel(this->GetNeighborhoodIndex(o), IsInBounds));
237  }
238 
242  ITK_ITERATOR_VIRTUAL PixelType
243  GetNext(const unsigned axis, NeighborIndexType i) const ITK_ITERATOR_FINAL
244  {
245  return (this->GetPixel(this->GetCenterNeighborhoodIndex() + (i * this->GetStride(axis))));
246  }
247 
251  ITK_ITERATOR_VIRTUAL PixelType
252  GetNext(const unsigned axis) const ITK_ITERATOR_FINAL
253  {
254  return (this->GetPixel(this->GetCenterNeighborhoodIndex() + this->GetStride(axis)));
255  }
256 
260  ITK_ITERATOR_VIRTUAL PixelType
261  GetPrevious(const unsigned axis, NeighborIndexType i) const ITK_ITERATOR_FINAL
262  {
263  return (this->GetPixel(this->GetCenterNeighborhoodIndex() - (i * this->GetStride(axis))));
264  }
265 
269  ITK_ITERATOR_VIRTUAL PixelType
270  GetPrevious(const unsigned axis) const ITK_ITERATOR_FINAL
271  {
272  return (this->GetPixel(this->GetCenterNeighborhoodIndex() - this->GetStride(axis)));
273  }
274 
277  ITK_ITERATOR_VIRTUAL IndexType
278  GetIndex(const OffsetType & o) const ITK_ITERATOR_FINAL
279  {
280  return (this->GetIndex() + o);
281  }
282 
285  ITK_ITERATOR_VIRTUAL IndexType
286  GetIndex(NeighborIndexType i) const ITK_ITERATOR_FINAL
287  {
288  return (this->GetIndex() + this->GetOffset(i));
289  }
290 
292  RegionType
293  GetRegion() const
294  {
295  return m_Region;
296  }
297 
300  IndexType
302  {
303  return m_BeginIndex;
304  }
305 
308  RegionType
309  GetBoundingBoxAsImageRegion() const;
310 
312  OffsetType
314  {
315  return m_WrapOffset;
316  }
317 
325  {
326  return m_WrapOffset[n];
327  }
328 
330  ITK_ITERATOR_VIRTUAL void
331  GoToBegin() ITK_ITERATOR_FINAL;
332 
335  ITK_ITERATOR_VIRTUAL void
336  GoToEnd() ITK_ITERATOR_FINAL;
337 
340  ITK_ITERATOR_VIRTUAL void
341  Initialize(const SizeType & radius, const ImageType * ptr, const RegionType & region) ITK_ITERATOR_FINAL;
342 
345  ITK_ITERATOR_VIRTUAL bool
346  IsAtBegin() const ITK_ITERATOR_FINAL
347  {
348  return (this->GetCenterPointer() == m_Begin);
349  }
350 
353  ITK_ITERATOR_VIRTUAL bool
354  IsAtEnd() const ITK_ITERATOR_FINAL
355  {
356  if (this->GetCenterPointer() > m_End)
357  {
358  ExceptionObject e(__FILE__, __LINE__);
359  std::ostringstream msg;
360  msg << "In method IsAtEnd, CenterPointer = " << this->GetCenterPointer() << " is greater than End = " << m_End
361  << std::endl
362  << " " << *this;
363  e.SetDescription(msg.str().c_str());
364  throw e;
365  }
366  return (this->GetCenterPointer() == m_End);
367  }
369 
374  Self &
375  operator++();
376 
381  Self &
382  operator--();
383 
387  bool
388  operator==(const Self & it) const
389  {
390  return it.GetCenterPointer() == this->GetCenterPointer();
391  }
392 
396  bool
397  operator!=(const Self & it) const
398  {
399  return it.GetCenterPointer() != this->GetCenterPointer();
400  }
401 
405  bool
406  operator<(const Self & it) const
407  {
408  return this->GetCenterPointer() < it.GetCenterPointer();
409  }
410 
414  bool
415  operator<=(const Self & it) const
416  {
417  return this->GetCenterPointer() <= it.GetCenterPointer();
418  }
419 
423  bool
424  operator>(const Self & it) const
425  {
426  return this->GetCenterPointer() > it.GetCenterPointer();
427  }
428 
432  bool
433  operator>=(const Self & it) const
434  {
435  return this->GetCenterPointer() >= it.GetCenterPointer();
436  }
437 
442  void
443  SetLocation(const IndexType & position)
444  {
445  this->SetLoop(position);
446  this->SetPixelPointers(position);
447  }
449 
453  Self &
454  operator+=(const OffsetType &);
455 
459  Self &
460  operator-=(const OffsetType &);
461 
463  OffsetType
464  operator-(const Self & b)
465  {
466  return m_Loop - b.m_Loop;
467  }
468 
472  bool
473  InBounds() const;
474 
486  bool
487  IndexInBounds(const NeighborIndexType n, OffsetType & internalIndex, OffsetType & offset) const;
488 
491  bool
492  IndexInBounds(const NeighborIndexType n) const;
493 
499  ITK_ITERATOR_VIRTUAL void
501  {
502  m_BoundaryCondition = i;
503  }
504 
507  ITK_ITERATOR_VIRTUAL void
508  ResetBoundaryCondition() ITK_ITERATOR_FINAL
509  {
510  m_BoundaryCondition = &m_InternalBoundaryCondition;
511  }
512 
514  void
515  SetBoundaryCondition(const TBoundaryCondition & c)
516  {
517  m_InternalBoundaryCondition = c;
518  }
519 
521  ImageBoundaryConditionPointerType
523  {
524  return m_BoundaryCondition;
525  }
526 
528  void
530  {
531  this->SetNeedToUseBoundaryCondition(true);
532  }
533 
534  void
536  {
537  this->SetNeedToUseBoundaryCondition(false);
538  }
539 
540  void
542  {
543  m_NeedToUseBoundaryCondition = b;
544  }
545 
546  bool
548  {
549  return m_NeedToUseBoundaryCondition;
550  }
551 
553  ITK_ITERATOR_VIRTUAL void
554  SetRegion(const RegionType & region) ITK_ITERATOR_FINAL;
555 
556 protected:
559  ITK_ITERATOR_VIRTUAL void
560  SetLoop(const IndexType & p) ITK_ITERATOR_FINAL
561  {
562  m_Loop = p;
563  m_IsInBoundsValid = false;
564  }
565 
569  ITK_ITERATOR_VIRTUAL void
570  SetBound(const SizeType &) ITK_ITERATOR_FINAL;
571 
576  ITK_ITERATOR_VIRTUAL void
577  SetPixelPointers(const IndexType &) ITK_ITERATOR_FINAL;
578 
581  ITK_ITERATOR_VIRTUAL void
582  SetBeginIndex(const IndexType & start) ITK_ITERATOR_FINAL
583  {
584  m_BeginIndex = start;
585  }
586 
589  ITK_ITERATOR_VIRTUAL void
590  SetEndIndex() ITK_ITERATOR_FINAL;
591 
594  IndexType m_BeginIndex;
595 
597  IndexType m_Bound;
598 
600  const InternalPixelType * m_Begin;
601 
603  typename ImageType::ConstWeakPointer m_ConstImage;
604 
606  const InternalPixelType * m_End;
607 
610  IndexType m_EndIndex;
611 
613  IndexType m_Loop;
614 
616  RegionType m_Region;
617 
623  OffsetType m_WrapOffset;
624 
630 
633  mutable bool m_InBounds[Dimension];
634 
636  mutable bool m_IsInBounds{ false };
637 
641  mutable bool m_IsInBoundsValid{ false };
642 
645 
648 
650  TBoundaryCondition m_InternalBoundaryCondition;
651 
653  bool m_NeedToUseBoundaryCondition{ false };
654 
657 };
658 
659 template <typename TImage>
663 {
665  ret += ind;
666  return ret;
667 }
668 
669 template <typename TImage>
670 inline ConstNeighborhoodIterator<TImage>
673 {
674  return (it + ind);
675 }
676 
677 template <typename TImage>
678 inline ConstNeighborhoodIterator<TImage>
681 {
683  ret -= ind;
684  return ret;
685 }
686 } // namespace itk
687 
688 #ifndef ITK_MANUAL_INSTANTIATION
689 # include "itkConstNeighborhoodIterator.hxx"
690 #endif
691 
692 #endif
itk::ConstNeighborhoodIterator::GetIndex
ITK_ITERATOR_VIRTUAL IndexType GetIndex(const OffsetType &o) const ITK_ITERATOR_FINAL
Definition: itkConstNeighborhoodIterator.h:278
itk::ConstNeighborhoodIterator::GetImagePointer
const ImageType * GetImagePointer() const
Definition: itkConstNeighborhoodIterator.h:169
itk::ConstNeighborhoodIterator::operator==
bool operator==(const Self &it) const
Definition: itkConstNeighborhoodIterator.h:388
itk::ConstNeighborhoodIterator::GetNeedToUseBoundaryCondition
bool GetNeedToUseBoundaryCondition() const
Definition: itkConstNeighborhoodIterator.h:547
itk::Index< Self::Dimension >
itk::ConstNeighborhoodIterator::IsAtEnd
ITK_ITERATOR_VIRTUAL bool IsAtEnd() const ITK_ITERATOR_FINAL
Definition: itkConstNeighborhoodIterator.h:354
itk::ConstNeighborhoodIterator< TSparseImageType >::RadiusType
typename Superclass::RadiusType RadiusType
Definition: itkConstNeighborhoodIterator.h:71
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:221
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:89
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:57
itk::ConstNeighborhoodIterator::GetCenterPixel
PixelType GetCenterPixel() const
Definition: itkConstNeighborhoodIterator.h:162
itk::ConstNeighborhoodIterator::GetBound
IndexType GetBound() const
Definition: itkConstNeighborhoodIterator.h:139
itk::ConstNeighborhoodIterator::GetPixel
ITK_ITERATOR_VIRTUAL PixelType GetPixel(const OffsetType &o, bool &IsInBounds) const ITK_ITERATOR_FINAL
Definition: itkConstNeighborhoodIterator.h:234
itk::ConstNeighborhoodIterator::GetNext
ITK_ITERATOR_VIRTUAL PixelType GetNext(const unsigned axis) const ITK_ITERATOR_FINAL
Definition: itkConstNeighborhoodIterator.h:252
itk::ConstNeighborhoodIterator::operator>=
bool operator>=(const Self &it) const
Definition: itkConstNeighborhoodIterator.h:433
itk::operator-
ConstNeighborhoodIterator< TImage > operator-(const ConstNeighborhoodIterator< TImage > &it, const typename ConstNeighborhoodIterator< TImage >::OffsetType &ind)
Definition: itkConstNeighborhoodIterator.h:679
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:183
itk::Indent
Control indentation during Print() invocation.
Definition: itkIndent.h:49
itk::ConstNeighborhoodIterator::operator!=
bool operator!=(const Self &it) const
Definition: itkConstNeighborhoodIterator.h:397
itk::ConstNeighborhoodIterator::GetPrevious
ITK_ITERATOR_VIRTUAL PixelType GetPrevious(const unsigned axis, NeighborIndexType i) const ITK_ITERATOR_FINAL
Definition: itkConstNeighborhoodIterator.h:261
itkNeighborhood.h
itk::ConstNeighborhoodIterator::NeedToUseBoundaryConditionOn
void NeedToUseBoundaryConditionOn()
Definition: itkConstNeighborhoodIterator.h:529
itk::ConstNeighborhoodIterator::GetRegion
RegionType GetRegion() const
Definition: itkConstNeighborhoodIterator.h:293
itk::ConstNeighborhoodIterator< TSparseImageType >::ImageType
TSparseImageType ImageType
Definition: itkConstNeighborhoodIterator.h:77
itk::ConstNeighborhoodIterator::SetLocation
void SetLocation(const IndexType &position)
Definition: itkConstNeighborhoodIterator.h:443
itk::ImageBoundaryCondition< ImageType, OutputImageType >
itk::ConstNeighborhoodIterator::SetLoop
ITK_ITERATOR_VIRTUAL void SetLoop(const IndexType &p) ITK_ITERATOR_FINAL
Definition: itkConstNeighborhoodIterator.h:560
itk::ConstNeighborhoodIterator::GetBeginIndex
IndexType GetBeginIndex() const
Definition: itkConstNeighborhoodIterator.h:301
itk::GTest::TypedefsAndConstructors::Dimension2::IndexType
ImageBaseType::IndexType IndexType
Definition: itkGTestTypedefsAndConstructors.h:50
itk::ConstNeighborhoodIterator::m_InnerBoundsLow
IndexType m_InnerBoundsLow
Definition: itkConstNeighborhoodIterator.h:644
itk::ConstNeighborhoodIterator::SetBoundaryCondition
void SetBoundaryCondition(const TBoundaryCondition &c)
Definition: itkConstNeighborhoodIterator.h:515
itkMacro.h
itk::ConstNeighborhoodIterator::m_InnerBoundsHigh
IndexType m_InnerBoundsHigh
Definition: itkConstNeighborhoodIterator.h:647
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:286
itk::ConstNeighborhoodIterator::ResetBoundaryCondition
ITK_ITERATOR_VIRTUAL void ResetBoundaryCondition() ITK_ITERATOR_FINAL
Definition: itkConstNeighborhoodIterator.h:508
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:500
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:582
itk::ConstNeighborhoodIterator::GetIndex
ITK_ITERATOR_VIRTUAL IndexType GetIndex() const ITK_ITERATOR_FINAL
Definition: itkConstNeighborhoodIterator.h:177
itk::ConstNeighborhoodIterator::GetBoundaryCondition
ImageBoundaryConditionPointerType GetBoundaryCondition() const
Definition: itkConstNeighborhoodIterator.h:522
itk::ConstNeighborhoodIterator::ConstNeighborhoodIterator
ConstNeighborhoodIterator(const SizeType &radius, const ImageType *ptr, const RegionType &region)
Definition: itkConstNeighborhoodIterator.h:111
itk::ConstNeighborhoodIterator::GetPrevious
ITK_ITERATOR_VIRTUAL PixelType GetPrevious(const unsigned axis) const ITK_ITERATOR_FINAL
Definition: itkConstNeighborhoodIterator.h:270
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: itkAnnulusOperator.h:24
itk::ConstNeighborhoodIterator::GetBound
IndexValueType GetBound(NeighborIndexType n) const
Definition: itkConstNeighborhoodIterator.h:147
itk::ConstNeighborhoodIterator::m_InternalBoundaryCondition
TBoundaryCondition m_InternalBoundaryCondition
Definition: itkConstNeighborhoodIterator.h:650
itk::ConstNeighborhoodIterator
Const version of NeighborhoodIterator, defining iteration of a local N-dimensional neighborhood of pi...
Definition: itkConstNeighborhoodIterator.h:51
itk::ConstNeighborhoodIterator::GetWrapOffset
OffsetType GetWrapOffset() const
Definition: itkConstNeighborhoodIterator.h:313
itk::OffsetValueType
signed long OffsetValueType
Definition: itkIntTypes.h:94
itk::ConstNeighborhoodIterator::m_NeighborhoodAccessorFunctor
NeighborhoodAccessorFunctorType m_NeighborhoodAccessorFunctor
Definition: itkConstNeighborhoodIterator.h:656
itk::ConstNeighborhoodIterator::NeedToUseBoundaryConditionOff
void NeedToUseBoundaryConditionOff()
Definition: itkConstNeighborhoodIterator.h:535
itk::ConstNeighborhoodIterator::m_Loop
IndexType m_Loop
Definition: itkConstNeighborhoodIterator.h:613
itk::ConstNeighborhoodIterator::operator-
OffsetType operator-(const Self &b)
Definition: itkConstNeighborhoodIterator.h:464
itk::operator+
ConstNeighborhoodIterator< TImage > operator+(const ConstNeighborhoodIterator< TImage > &it, const typename ConstNeighborhoodIterator< TImage >::OffsetType &ind)
Definition: itkConstNeighborhoodIterator.h:661
itk::IndexValueType
signed long IndexValueType
Definition: itkIntTypes.h:90
itk::ConstNeighborhoodIterator::GetCenterPointer
const InternalPixelType * GetCenterPointer() const
Definition: itkConstNeighborhoodIterator.h:154
itk::ConstNeighborhoodIterator< TSparseImageType >::ConstIterator
typename Superclass::ConstIterator ConstIterator
Definition: itkConstNeighborhoodIterator.h:74
itk::ConstNeighborhoodIterator::operator>
bool operator>(const Self &it) const
Definition: itkConstNeighborhoodIterator.h:424
itk::Math::e
static constexpr double e
Definition: itkMath.h:54
itk::ConstNeighborhoodIterator::GetWrapOffset
OffsetValueType GetWrapOffset(NeighborIndexType n) const
Definition: itkConstNeighborhoodIterator.h:324
itk::ConstNeighborhoodIterator::GetNext
ITK_ITERATOR_VIRTUAL PixelType GetNext(const unsigned axis, NeighborIndexType i) const ITK_ITERATOR_FINAL
Definition: itkConstNeighborhoodIterator.h:243
itk::ConstNeighborhoodIterator< TSparseImageType >::OffsetType
typename Superclass::OffsetType OffsetType
Definition: itkConstNeighborhoodIterator.h:70
itk::ConstNeighborhoodIterator< TSparseImageType >::NeighborhoodAccessorFunctorType
typename ImageType::NeighborhoodAccessorFunctorType NeighborhoodAccessorFunctorType
Definition: itkConstNeighborhoodIterator.h:94
itk::ZeroFluxNeumannBoundaryCondition< TSparseImageType >
itk::Neighborhood::NeighborIndexType
SizeValueType NeighborIndexType
Definition: itkNeighborhood.h:96
itk::ConstNeighborhoodIterator< TSparseImageType >::Iterator
typename Superclass::Iterator Iterator
Definition: itkConstNeighborhoodIterator.h:73
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:72
itk::ConstNeighborhoodIterator< TSparseImageType >::OutputImageType
typename BoundaryConditionType::OutputImageType OutputImageType
Definition: itkConstNeighborhoodIterator.h:86
itk::ConstNeighborhoodIterator::SetNeedToUseBoundaryCondition
void SetNeedToUseBoundaryCondition(bool b)
Definition: itkConstNeighborhoodIterator.h:541