ITK  5.0.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | List of all members
itk::ImageRegionIterator< TImage > Class Template Reference

#include <itkImageRegionIterator.h>

+ Inheritance diagram for itk::ImageRegionIterator< TImage >:
+ Collaboration diagram for itk::ImageRegionIterator< TImage >:

Detailed Description

template<typename TImage>
class itk::ImageRegionIterator< TImage >

A multi-dimensional iterator templated over image type that walks a region of pixels.

The itk::ImageRegionIterator is optimized for iteration speed and is the first choice for iterative, pixel-wise operations on an image. ImageRegionIterator is the least specialized of the ITK image iterator classes. ImageRegionIterator is templated over the image type, and is constrained to walk only within the specified region and along a line parallel to one of the coordinate axes, "wrapping" to the next line as it reaches the boundary of the image. To walk the entire image, specify the region to be image->GetRequestedRegion().

Most of the functionality is inherited from the ImageRegionConstIterator. The current class only adds write access to image pixels.

MORE INFORMATION
For a complete description of the ITK Image Iterators and their API, please see the Iterators chapter in the ITK Software Guide. The ITK Software Guide is available in print and as a free .pdf download from https://www.itk.org.

example ImageRegionIterator.cxx

See Also
ImageConstIterator
ConditionalConstIterator
ConstNeighborhoodIterator
ConstShapedNeighborhoodIterator
ConstSliceIterator
CorrespondenceDataStructureIterator
FloodFilledFunctionConditionalConstIterator
FloodFilledImageFunctionConditionalConstIterator
FloodFilledImageFunctionConditionalIterator
FloodFilledSpatialFunctionConditionalConstIterator
FloodFilledSpatialFunctionConditionalIterator
ImageConstIterator
ImageConstIteratorWithIndex
ImageIterator
ImageIteratorWithIndex
ImageLinearConstIteratorWithIndex
ImageLinearIteratorWithIndex
ImageRandomConstIteratorWithIndex
ImageRandomIteratorWithIndex
ImageRegionConstIterator
ImageRegionConstIteratorWithIndex
ImageRegionExclusionConstIteratorWithIndex
ImageRegionExclusionIteratorWithIndex
ImageRegionIterator
ImageRegionIteratorWithIndex
ImageRegionReverseConstIterator
ImageRegionReverseIterator
ImageReverseConstIterator
ImageReverseIterator
ImageSliceConstIteratorWithIndex
ImageSliceIteratorWithIndex
NeighborhoodIterator
PathConstIterator
PathIterator
ShapedNeighborhoodIterator
SliceIterator
ImageConstIteratorWithIndex
Wiki Examples:
The itk::ImageRegionIterator is optimized for iteration speed and is the first choice for iterative, pixel-wise operations on an image. ImageRegionIterator is the least specialized of the ITK image iterator classes. ImageRegionIterator is templated over the image type, and is constrained to walk only within the specified region and along a line parallel to one of the coordinate axes, "wrapping" to the next line as it reaches the boundary of the image. To walk the entire image, specify the region to be image->GetRequestedRegion().

Most of the functionality is inherited from the ImageRegionConstIterator. The current class only adds write access to image pixels. Specialized for RLEImage.

Examples:
Examples/Filtering/DiffusionTensor3DReconstructionImageFilter.cxx, Examples/Filtering/GaussianBlurImageFunction.cxx, Examples/Iterators/ImageRegionIterator.cxx, Examples/Iterators/NeighborhoodIterators1.cxx, Examples/Iterators/NeighborhoodIterators2.cxx, Examples/Iterators/NeighborhoodIterators3.cxx, Examples/Iterators/NeighborhoodIterators4.cxx, Examples/Iterators/NeighborhoodIterators5.cxx, Examples/Iterators/ShapedNeighborhoodIterators1.cxx, Examples/Iterators/ShapedNeighborhoodIterators2.cxx, Examples/RegistrationITKv3/BSplineWarping1.cxx, Examples/RegistrationITKv3/BSplineWarping2.cxx, Examples/RegistrationITKv3/DeformableRegistration12.cxx, Examples/RegistrationITKv3/DeformableRegistration13.cxx, Examples/RegistrationITKv3/DeformableRegistration14.cxx, Examples/RegistrationITKv3/DeformableRegistration15.cxx, Examples/RegistrationITKv3/DeformableRegistration2.cxx, Examples/RegistrationITKv3/DeformableRegistration4.cxx, Examples/RegistrationITKv3/DeformableRegistration5.cxx, Examples/RegistrationITKv3/DeformableRegistration6.cxx, Examples/RegistrationITKv3/DeformableRegistration7.cxx, Examples/RegistrationITKv3/DeformableRegistration8.cxx, Examples/RegistrationITKv3/ThinPlateSplineWarp.cxx, Examples/RegistrationITKv4/BSplineWarping1.cxx, Examples/RegistrationITKv4/BSplineWarping2.cxx, Examples/RegistrationITKv4/DeformableRegistration12.cxx, Examples/RegistrationITKv4/DeformableRegistration13.cxx, Examples/RegistrationITKv4/DeformableRegistration14.cxx, Examples/RegistrationITKv4/DeformableRegistration15.cxx, Examples/RegistrationITKv4/DeformableRegistration2.cxx, Examples/RegistrationITKv4/DeformableRegistration5.cxx, Examples/RegistrationITKv4/ThinPlateSplineWarp.cxx, Examples/Segmentation/GibbsPriorImageFilter1.cxx, Examples/SpatialObjects/ImageMaskSpatialObject.cxx, Examples/SpatialObjects/ImageSpatialObject.cxx, Examples/Statistics/BayesianClassifierInitializer.cxx, SphinxExamples/src/Core/Common/FilterAndParallelizeImageRegion/Code.cxx, SphinxExamples/src/Core/Common/ImageRegionOverlap/Code.cxx, SphinxExamples/src/Core/Common/UseParallelizeImageRegion/Code.cxx, SphinxExamples/src/Core/Common/WatchAFilter/Code.cxx, SphinxExamples/src/IO/TIFF/WriteATIFFImage/Code.cxx, WikiExamples/Functions/GaussianBlurImageFunction.cxx, WikiExamples/Functions/MedianImageFunction.cxx, WikiExamples/ImageProcessing/AbsImageFilter.cxx, WikiExamples/ImageProcessing/AbsoluteValueDifferenceImageFilter.cxx, WikiExamples/ImageProcessing/AddConstantToImageFilter.cxx, WikiExamples/ImageProcessing/AddPixelAccessor.cxx, WikiExamples/ImageProcessing/AndImageFilter.cxx, WikiExamples/ImageProcessing/BinaryImageToLabelMapFilter.cxx, WikiExamples/ImageProcessing/BinaryImageToShapeLabelMapFilter.cxx, WikiExamples/ImageProcessing/BinaryNotImageFilter.cxx, WikiExamples/ImageProcessing/Compose3DCovariantVectorImageFilter.cxx, WikiExamples/ImageProcessing/ConvolutionImageFilter.cxx, WikiExamples/ImageProcessing/ImageAdaptorExtractVectorComponent.cxx, WikiExamples/ImageProcessing/IntensityWindowingImageFilter.cxx, WikiExamples/ImageProcessing/LabelGeometryImageFilter.cxx, WikiExamples/ImageProcessing/LabelMapOverlayImageFilter.cxx, WikiExamples/ImageProcessing/LabelMapToLabelImageFilter.cxx, WikiExamples/ImageProcessing/LabelOverlayImageFilter.cxx, WikiExamples/ImageProcessing/LabelShapeKeepNObjectsImageFilter.cxx, WikiExamples/ImageProcessing/LabelStatisticsImageFilter.cxx, WikiExamples/ImageProcessing/MaskImageFilter.cxx, WikiExamples/ImageProcessing/MaskNegatedImageFilter.cxx, WikiExamples/ImageProcessing/MaximumImageFilter.cxx, WikiExamples/ImageProcessing/MinimumImageFilter.cxx, WikiExamples/ImageProcessing/NthElementImageAdaptor.cxx, WikiExamples/ImageProcessing/ObjectByObjectLabelMapFilter.cxx, WikiExamples/ImageProcessing/OrImageFilter.cxx, WikiExamples/ImageProcessing/ProcessingNthImageElement.cxx, WikiExamples/ImageProcessing/RelabelComponentImageFilter.cxx, WikiExamples/ImageProcessing/ScaleTransform.cxx, WikiExamples/ImageProcessing/ShapeOpeningLabelMapFilter.cxx, WikiExamples/ImageProcessing/SquaredDifferenceImageFilter.cxx, WikiExamples/ImageProcessing/SquareImageFilter.cxx, WikiExamples/ImageProcessing/SubtractImageFilter_Constant.cxx, WikiExamples/ImageProcessing/XorImageFilter.cxx, WikiExamples/Images/FFTNormalizedCorrelationImageFilter.cxx, WikiExamples/Images/MaskedFFTNormalizedCorrelationImageFilter.cxx, WikiExamples/Images/MaskNeighborhoodOperatorImageFilter.cxx, WikiExamples/Images/MirrorPadImageFilter.cxx, WikiExamples/Images/WrapPadImageFilter.cxx, WikiExamples/Inspection/CheckerBoardImageFilter.cxx, WikiExamples/IO/TIFFImageIO.cxx, WikiExamples/Iterators/ConstantBoundaryCondition.cxx, WikiExamples/Iterators/ImageBoundaryFacesCalculator.cxx, WikiExamples/Iterators/ImageRegionIterator.cxx, WikiExamples/Iterators/LineConstIterator.cxx, WikiExamples/Math/Trig/Atan2ImageFilter.cxx, WikiExamples/Registration/DeformationFieldTransform.cxx, WikiExamples/Registration/LandmarkBasedTransformInitializer.cxx, WikiExamples/Registration/WarpImageFilter.cxx, WikiExamples/Segmentation/LabelMapContourOverlayImageFilter.cxx, WikiExamples/Segmentation/OtsuMultipleThresholdsImageFilter.cxx, WikiExamples/Segmentation/OtsuThresholdImageFilter.cxx, WikiExamples/Segmentation/WatershedImageFilter.cxx, WikiExamples/SimpleOperations/CustomColormap.cxx, WikiExamples/SimpleOperations/RegionOverlap.cxx, WikiExamples/SimpleOperations/Transparency.cxx, WikiExamples/Smoothing/AntiAliasBinaryImageFilter.cxx, WikiExamples/Statistics/NoiseImageFilter.cxx, WikiExamples/Statistics/ScalarImageKmeansImageFilter.cxx, and WikiExamples/VectorImages/VectorImageToImageAdaptor.cxx.

Definition at line 78 of file itkImageRegionIterator.h.

Public Types

using AccessorType = typename Superclass::AccessorType
 
using ImageType = typename Superclass::ImageType
 
using IndexType = typename Superclass::IndexType
 
using InternalPixelType = typename Superclass::InternalPixelType
 
using OffsetType = typename Superclass::OffsetType
 
using PixelContainer = typename Superclass::PixelContainer
 
using PixelContainerPointer = typename Superclass::PixelContainerPointer
 
using PixelType = typename Superclass::PixelType
 
using RegionType = typename Superclass::RegionType
 
using Self = ImageRegionIterator
 
using SizeType = typename Superclass::SizeType
 
using Superclass = ImageRegionConstIterator< TImage >
 
- Public Types inherited from itk::ImageRegionConstIterator< TImage >
using AccessorType = typename Superclass::AccessorType
 
using ImageType = typename Superclass::ImageType
 
using IndexType = typename Superclass::IndexType
 
using InternalPixelType = typename Superclass::InternalPixelType
 
using OffsetType = typename Superclass::OffsetType
 
using PixelContainer = typename Superclass::PixelContainer
 
using PixelContainerPointer = typename Superclass::PixelContainerPointer
 
using PixelType = typename Superclass::PixelType
 
using RegionType = typename Superclass::RegionType
 
using Self = ImageRegionConstIterator
 
using SizeType = typename Superclass::SizeType
 
using Superclass = ImageConstIterator< TImage >
 
- Public Types inherited from itk::ImageConstIterator< TImage >
using AccessorFunctorType = typename TImage::AccessorFunctorType
 
using AccessorType = typename TImage::AccessorType
 
using ImageType = TImage
 
using IndexType = typename TImage::IndexType
 
using InternalPixelType = typename TImage::InternalPixelType
 
using OffsetType = typename TImage::OffsetType
 
using PixelContainer = typename TImage::PixelContainer
 
using PixelContainerPointer = typename PixelContainer::Pointer
 
using PixelType = typename TImage::PixelType
 
using RegionType = typename TImage::RegionType
 
using Self = ImageConstIterator
 
using SizeType = typename TImage::SizeType
 

Public Member Functions

 ImageRegionIterator ()=default
 
 ImageRegionIterator (ImageType *ptr, const RegionType &region)
 
 ImageRegionIterator (const ImageIterator< TImage > &it)
 
void Set (const PixelType &value) const
 
PixelTypeValue ()
 
- Public Member Functions inherited from itk::ImageRegionConstIterator< TImage >
virtual const char * GetNameOfClass () const
 
void GoToBegin ()
 
void GoToEnd ()
 
 ImageRegionConstIterator ()
 
 ImageRegionConstIterator (const ImageIterator< TImage > &it)
 
 ImageRegionConstIterator (const ImageConstIterator< TImage > &it)
 
 ImageRegionConstIterator (const ImageType *ptr, const RegionType &region)
 
void SetIndex (const IndexType &ind) override
 
Selfoperator++ ()
 
Selfoperator-- ()
 
- Public Member Functions inherited from itk::ImageConstIterator< TImage >
 ImageConstIterator (const Self &it)
 
 itkTypeMacroNoParent (ImageConstIterator)
 
virtual ~ImageConstIterator ()=default
 
 ImageConstIterator ()
 
 ImageConstIterator (const ImageType *ptr, const RegionType &region)
 
Selfoperator= (const Self &it)
 
virtual void SetRegion (const RegionType &region)
 
bool operator!= (const Self &it) const
 
bool operator== (const Self &it) const
 
bool operator<= (const Self &it) const
 
bool operator< (const Self &it) const
 
bool operator>= (const Self &it) const
 
bool operator> (const Self &it) const
 
const IndexType GetIndex () const
 
const RegionTypeGetRegion () const
 
const ImageTypeGetImage () const
 
PixelType Get () const
 
const PixelTypeValue () const
 
void GoToBegin ()
 
void GoToEnd ()
 
bool IsAtBegin () const
 
bool IsAtEnd () const
 

Protected Member Functions

 ImageRegionIterator (const ImageRegionConstIterator< TImage > &it)
 
Selfoperator= (const ImageRegionConstIterator< TImage > &it)
 

Additional Inherited Members

- Static Public Member Functions inherited from itk::ImageConstIterator< TImage >
static unsigned int GetImageIteratorDimension ()
 
- Static Public Attributes inherited from itk::ImageRegionConstIterator< TImage >
static constexpr unsigned int ImageIteratorDimension = Superclass::ImageIteratorDimension
 
- Static Public Attributes inherited from itk::ImageConstIterator< TImage >
static constexpr unsigned int ImageIteratorDimension = TImage::ImageDimension
 
- Protected Attributes inherited from itk::ImageRegionConstIterator< TImage >
OffsetValueType m_SpanBeginOffset
 
OffsetValueType m_SpanEndOffset
 
- Protected Attributes inherited from itk::ImageConstIterator< TImage >
TImage::ConstWeakPointer m_Image
 
RegionType m_Region
 
OffsetValueType m_Offset
 
OffsetValueType m_BeginOffset
 
OffsetValueType m_EndOffset
 
const InternalPixelTypem_Buffer
 
AccessorType m_PixelAccessor
 
AccessorFunctorType m_PixelAccessorFunctor
 

Member Typedef Documentation

template<typename TImage>
using itk::ImageRegionIterator< TImage >::AccessorType = typename Superclass::AccessorType

Definition at line 95 of file itkImageRegionIterator.h.

template<typename TImage>
using itk::ImageRegionIterator< TImage >::ImageType = typename Superclass::ImageType

Definition at line 90 of file itkImageRegionIterator.h.

template<typename TImage>
using itk::ImageRegionIterator< TImage >::IndexType = typename Superclass::IndexType

Types inherited from the Superclass

Definition at line 86 of file itkImageRegionIterator.h.

template<typename TImage>
using itk::ImageRegionIterator< TImage >::InternalPixelType = typename Superclass::InternalPixelType

Definition at line 93 of file itkImageRegionIterator.h.

template<typename TImage>
using itk::ImageRegionIterator< TImage >::OffsetType = typename Superclass::OffsetType

Definition at line 88 of file itkImageRegionIterator.h.

template<typename TImage>
using itk::ImageRegionIterator< TImage >::PixelContainer = typename Superclass::PixelContainer

Definition at line 91 of file itkImageRegionIterator.h.

template<typename TImage>
using itk::ImageRegionIterator< TImage >::PixelContainerPointer = typename Superclass::PixelContainerPointer

Definition at line 92 of file itkImageRegionIterator.h.

template<typename TImage>
using itk::ImageRegionIterator< TImage >::PixelType = typename Superclass::PixelType

Definition at line 94 of file itkImageRegionIterator.h.

template<typename TImage>
using itk::ImageRegionIterator< TImage >::RegionType = typename Superclass::RegionType

Definition at line 89 of file itkImageRegionIterator.h.

template<typename TImage>
using itk::ImageRegionIterator< TImage >::Self = ImageRegionIterator

Standard class type aliases.

Definition at line 82 of file itkImageRegionIterator.h.

template<typename TImage>
using itk::ImageRegionIterator< TImage >::SizeType = typename Superclass::SizeType

Definition at line 87 of file itkImageRegionIterator.h.

template<typename TImage>
using itk::ImageRegionIterator< TImage >::Superclass = ImageRegionConstIterator< TImage >

Definition at line 83 of file itkImageRegionIterator.h.

Constructor & Destructor Documentation

template<typename TImage>
itk::ImageRegionIterator< TImage >::ImageRegionIterator ( )
default

Default constructor. Needed since we provide a cast constructor.

template<typename TImage>
itk::ImageRegionIterator< TImage >::ImageRegionIterator ( ImageType ptr,
const RegionType region 
)

Constructor establishes an iterator to walk a particular image and a particular region of that image.

template<typename TImage>
itk::ImageRegionIterator< TImage >::ImageRegionIterator ( const ImageIterator< TImage > &  it)

Constructor that can be used to cast from an ImageIterator to an ImageRegionIterator. Many routines return an ImageIterator but for a particular task, you may want an ImageRegionIterator. Rather than provide overloaded APIs that return different types of Iterators, itk returns ImageIterators and uses constructors to cast from an ImageIterator to a ImageRegionIterator.

template<typename TImage>
itk::ImageRegionIterator< TImage >::ImageRegionIterator ( const ImageRegionConstIterator< TImage > &  it)
protected

the construction from a const iterator is declared protected in order to enforce const correctness.

Member Function Documentation

template<typename TImage>
Self& itk::ImageRegionIterator< TImage >::operator= ( const ImageRegionConstIterator< TImage > &  it)
protected

the construction from a const iterator is declared protected in order to enforce const correctness.

template<typename TImage>
void itk::ImageRegionIterator< TImage >::Set ( const PixelType value) const
inline
template<typename TImage>
PixelType& itk::ImageRegionIterator< TImage >::Value ( )
inline

Return a reference to the pixel This method will provide the fastest access to pixel data, but it will NOT support ImageAdaptors.

Definition at line 122 of file itkImageRegionIterator.h.

Referenced by itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType, TOutputImageType >::SetOutputPixel().


The documentation for this class was generated from the following file: