18#ifndef itkImageScanlineConstIterator_h
19#define itkImageScanlineConstIterator_h
63template <
typename TImage>
75 static constexpr unsigned int ImageIteratorDimension = Superclass::ImageIteratorDimension;
101 m_SpanBeginOffset = 0;
111 m_SpanBeginOffset = this->m_BeginOffset;
112 m_SpanEndOffset = this->m_BeginOffset +
static_cast<OffsetValueType>(this->m_Region.GetSize()[0]);
127 m_SpanEndOffset = this->m_Offset +
static_cast<OffsetValueType>(this->m_Region.GetSize()[0]) -
128 (ind[0] - this->m_Region.GetIndex()[0]);
129 m_SpanBeginOffset = m_SpanEndOffset -
static_cast<OffsetValueType>(this->m_Region.GetSize()[0]);
143 m_SpanEndOffset = this->m_Offset +
static_cast<OffsetValueType>(this->m_Region.GetSize()[0]) -
144 (ind[0] - this->m_Region.GetIndex()[0]);
145 m_SpanBeginOffset = m_SpanEndOffset -
static_cast<OffsetValueType>(this->m_Region.GetSize()[0]);
153 Superclass::GoToBegin();
156 m_SpanBeginOffset = this->m_BeginOffset;
157 m_SpanEndOffset = this->m_BeginOffset +
static_cast<OffsetValueType>(this->m_Region.GetSize()[0]);
168 Superclass::GoToEnd();
171 m_SpanEndOffset = this->m_EndOffset;
172 m_SpanBeginOffset = m_SpanEndOffset -
static_cast<OffsetValueType>(this->m_Region.GetSize()[0]);
185 this->m_Offset = m_SpanBeginOffset;
199 this->m_Offset = m_SpanEndOffset;
207 return this->m_Offset >= m_SpanEndOffset;
219 Superclass::SetIndex(ind);
220 m_SpanEndOffset = this->m_Offset +
static_cast<OffsetValueType>(this->m_Region.GetSize()[0]) -
221 (ind[0] - this->m_Region.GetIndex()[0]);
222 m_SpanBeginOffset = m_SpanEndOffset -
static_cast<OffsetValueType>(this->m_Region.GetSize()[0]);
247 itkAssertInDebugAndIgnoreInReleaseMacro(!this->IsAtEndOfLine());
259 itkAssertInDebugAndIgnoreInReleaseMacro(!this->IsAtEndOfLine());
272template <
typename TImage>
274 ->ImageScanlineConstIterator<std::remove_const_t<TImage>>;
278#ifndef ITK_MANUAL_INSTANTIATION
279# include "itkImageScanlineConstIterator.hxx"
Pixel-wise addition of two images.
A multi-dimensional image iterator templated over image type.
typename TImage::IndexType IndexType
typename TImage::PixelContainer PixelContainer
typename TImage::OffsetType OffsetType
typename TImage::InternalPixelType InternalPixelType
typename PixelContainer::Pointer PixelContainerPointer
typename TImage::AccessorType AccessorType
typename TImage::RegionType RegionType
Self & operator=(const Self &it)
typename TImage::PixelType PixelType
A multi-dimensional iterator templated over image type.
A multi-dimensional iterator templated over image type that walks a region of pixels,...
ImageScanlineConstIterator()
bool IsAtEndOfLine() const
ImageScanlineConstIterator(const ImageConstIterator< TImage > &it)
ImageScanlineConstIterator(const ImageIterator< TImage > &it)
ImageScanlineConstIterator(const TImage *ptr, const RegionType ®ion)
void SetIndex(const IndexType &ind) override
Implements transparent reference counting.
ImageBaseType::RegionType RegionType
ImageBaseType::IndexType IndexType
ImageBaseType::SizeType SizeType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
ImageScanlineConstIterator(SmartPointer< TImage >, const typename TImage::RegionType &) -> ImageScanlineConstIterator< std::remove_const_t< TImage > >