#include <itkImageRandomConstIteratorWithIndex.h>
A multi-dimensional image iterator that visits a random set of pixels within an image region.
ImageRandomConstIteratorWithIndex is a multi-dimensional iterator class that is templated over image type. ImageRandomConstIteratorWithIndex is constrained to walk only within the specified region. It samples random pixel positions at each increment or decrement.
ImageRandomConstIteratorWithIndex assumes a particular layout of the image data. The is arranged in a 1D array as if it were [][][][slice][row][col] with Index[0] = col, Index[1] = row, Index[2] = slice, etc.
The operator++ method provides a simple syntax for walking around a region of a multidimensional image. operator++ performs a jump to a random position within the specified image region. This is designed to facilitate the extraction of random samples from the image.
This is the typical use of this iterator in a loop:
or
Definition at line 117 of file itkImageRandomConstIteratorWithIndex.h.
Inheritance diagram for itk::ImageRandomConstIteratorWithIndex< TImage >:
Collaboration diagram for itk::ImageRandomConstIteratorWithIndex< TImage >:Public Types | |
| using | AccessorType |
| using | ImageType |
| using | IndexType |
| using | IndexValueType |
| using | InternalPixelType |
| using | OffsetType |
| using | OffsetValueType |
| using | PixelContainer |
| using | PixelContainerPointer |
| using | PixelType |
| using | RegionType |
| using | Self = ImageRandomConstIteratorWithIndex |
| using | SizeType |
| using | SizeValueType |
| using | Superclass = ImageConstIteratorWithIndex<TImage> |
Public Types inherited from itk::ImageConstIteratorWithIndex< TImage > | |
| using | AccessorFunctorType = typename TImage::AccessorFunctorType |
| using | AccessorType = typename TImage::AccessorType |
| using | ImageType = TImage |
| using | IndexType = typename TImage::IndexType |
| using | IndexValueType = typename IndexType::IndexValueType |
| using | InternalPixelType = typename TImage::InternalPixelType |
| using | OffsetType = typename TImage::OffsetType |
| using | OffsetValueType = typename OffsetType::OffsetValueType |
| using | PixelContainer = typename TImage::PixelContainer |
| using | PixelContainerPointer = typename PixelContainer::Pointer |
| using | PixelType = typename TImage::PixelType |
| using | RegionType = typename TImage::RegionType |
| using | Self = ImageConstIteratorWithIndex |
| using | SizeType = typename TImage::SizeType |
| using | SizeValueType = typename SizeType::SizeValueType |
Private Types | |
| using | GeneratorPointer = Statistics::MersenneTwisterRandomVariateGenerator::Pointer |
Private Member Functions | |
| void | RandomJump () |
Additional Inherited Members | |
Static Public Member Functions inherited from itk::ImageConstIteratorWithIndex< TImage > | |
| static constexpr unsigned int | GetImageDimension () |
Static Public Attributes inherited from itk::ImageConstIteratorWithIndex< TImage > | |
| static constexpr unsigned int | ImageDimension = TImage::ImageDimension |
Protected Attributes inherited from itk::ImageConstIteratorWithIndex< TImage > | |
| const InternalPixelType * | m_Begin { nullptr } |
| IndexType | m_BeginIndex { { 0 } } |
| const InternalPixelType * | m_End { nullptr } |
| IndexType | m_EndIndex { { 0 } } |
| TImage::ConstWeakPointer | m_Image {} |
| OffsetValueType | m_OffsetTable [ImageDimension+1] {} |
| AccessorType | m_PixelAccessor {} |
| AccessorFunctorType | m_PixelAccessorFunctor {} |
| const InternalPixelType * | m_Position { nullptr } |
| IndexType | m_PositionIndex { { 0 } } |
| RegionType | m_Region {} |
| bool | m_Remaining { false } |
| using itk::ImageConstIteratorWithIndex< TImage >::AccessorType |
Accessor type that converts data between internal and external representations.
Definition at line 133 of file itkImageConstIteratorWithIndex.h.
|
private |
Definition at line 234 of file itkImageRandomConstIteratorWithIndex.h.
| using itk::ImageConstIteratorWithIndex< TImage >::ImageType |
Image type alias support
Definition at line 117 of file itkImageConstIteratorWithIndex.h.
| using itk::ImageConstIteratorWithIndex< TImage >::IndexType |
Index type alias support
Definition at line 106 of file itkImageConstIteratorWithIndex.h.
| using itk::ImageConstIteratorWithIndex< TImage >::IndexValueType |
Definition at line 107 of file itkImageConstIteratorWithIndex.h.
| using itk::ImageConstIteratorWithIndex< TImage >::InternalPixelType |
Internal Pixel Type
Definition at line 126 of file itkImageConstIteratorWithIndex.h.
| using itk::ImageConstIteratorWithIndex< TImage >::OffsetType |
Type of the Offset taken from the image
Definition at line 137 of file itkImageConstIteratorWithIndex.h.
| using itk::ImageConstIteratorWithIndex< TImage >::OffsetValueType |
Definition at line 138 of file itkImageConstIteratorWithIndex.h.
| using itk::ImageConstIteratorWithIndex< TImage >::PixelContainer |
PixelContainer type alias support Used to refer to the container for the pixel data. While this was already typedef'ed in the superclass, it needs to be redone here for this subclass to compile properly with gcc.
Definition at line 122 of file itkImageConstIteratorWithIndex.h.
| using itk::ImageConstIteratorWithIndex< TImage >::PixelContainerPointer |
Definition at line 123 of file itkImageConstIteratorWithIndex.h.
| using itk::ImageConstIteratorWithIndex< TImage >::PixelType |
External Pixel Type
Definition at line 129 of file itkImageConstIteratorWithIndex.h.
| using itk::ImageConstIteratorWithIndex< TImage >::RegionType |
Region type alias support
Definition at line 114 of file itkImageConstIteratorWithIndex.h.
| using itk::ImageRandomConstIteratorWithIndex< TImage >::Self = ImageRandomConstIteratorWithIndex |
Standard class type aliases.
Definition at line 121 of file itkImageRandomConstIteratorWithIndex.h.
| using itk::ImageConstIteratorWithIndex< TImage >::SizeType |
Size type alias support
Definition at line 110 of file itkImageConstIteratorWithIndex.h.
| using itk::ImageConstIteratorWithIndex< TImage >::SizeValueType |
Definition at line 111 of file itkImageConstIteratorWithIndex.h.
| using itk::ImageRandomConstIteratorWithIndex< TImage >::Superclass = ImageConstIteratorWithIndex<TImage> |
Definition at line 122 of file itkImageRandomConstIteratorWithIndex.h.
|
default |
Default constructor. Needed since we provide a cast constructor.
Referenced by itk::ImageRandomIteratorWithIndex< TImage >::ImageRandomIteratorWithIndex(), and itk::ImageRandomIteratorWithIndex< TImage >::operator=().
|
overridedefault |
| itk::ImageRandomConstIteratorWithIndex< TImage >::ImageRandomConstIteratorWithIndex | ( | const TImage * | ptr, |
| const RegionType & | region ) |
Constructor establishes an iterator to walk a particular image and a particular region of that image.
|
inline |
Constructor that can be used to cast from an ImageIterator to an ImageRandomConstIteratorWithIndex. Many routines return an ImageIterator, but for a particular task, you may want an ImageRandomConstIteratorWithIndex. Rather than provide overloaded APIs that return different types of Iterators, itk returns ImageIterators and uses constructors to cast from an ImageIterator to a ImageRandomConstIteratorWithIndex.
Definition at line 154 of file itkImageRandomConstIteratorWithIndex.h.
References itk::ImageConstIteratorWithIndex< TImage >::ImageConstIteratorWithIndex(), and itk::ImageConstIteratorWithIndex< TImage >::operator=().
|
inlinenodiscard |
Definition at line 217 of file itkImageRandomConstIteratorWithIndex.h.
References m_NumberOfSamplesRequested.
|
inline |
Move an iterator to the beginning of the region.
Definition at line 161 of file itkImageRandomConstIteratorWithIndex.h.
References m_NumberOfSamplesDone, and RandomJump().
|
inline |
Move an iterator to one position past the End of the region.
Definition at line 169 of file itkImageRandomConstIteratorWithIndex.h.
References m_NumberOfSamplesDone, m_NumberOfSamplesRequested, and RandomJump().
|
inlinenodiscard |
Is the iterator at the beginning of the region?
Definition at line 177 of file itkImageRandomConstIteratorWithIndex.h.
References m_NumberOfSamplesDone.
|
inlinenodiscard |
Is the iterator at the end of the region?
Definition at line 184 of file itkImageRandomConstIteratorWithIndex.h.
References m_NumberOfSamplesDone, and m_NumberOfSamplesRequested.
|
inline |
Increment (prefix) the selected dimension. No bounds checking is performed.
Definition at line 192 of file itkImageRandomConstIteratorWithIndex.h.
References m_NumberOfSamplesDone, and RandomJump().
|
inline |
Decrement (prefix) the selected dimension. No bounds checking is performed.
Definition at line 202 of file itkImageRandomConstIteratorWithIndex.h.
References m_NumberOfSamplesDone, and RandomJump().
|
private |
Execute a random jump.
Referenced by GoToBegin(), GoToEnd(), operator++(), and operator--().
| void itk::ImageRandomConstIteratorWithIndex< TImage >::ReinitializeSeed | ( | ) |
Reinitialize the seed of the random number generator.
| void itk::ImageRandomConstIteratorWithIndex< TImage >::ReinitializeSeed | ( | int | ) |
|
inline |
Set/Get number of random samples to extract from the image region.
Definition at line 211 of file itkImageRandomConstIteratorWithIndex.h.
References m_NumberOfSamplesRequested.
|
private |
Definition at line 235 of file itkImageRandomConstIteratorWithIndex.h.
|
private |
Definition at line 238 of file itkImageRandomConstIteratorWithIndex.h.
|
private |
Definition at line 237 of file itkImageRandomConstIteratorWithIndex.h.
Referenced by GoToBegin(), GoToEnd(), IsAtBegin(), IsAtEnd(), operator++(), and operator--().
|
private |
Definition at line 236 of file itkImageRandomConstIteratorWithIndex.h.
Referenced by GetNumberOfSamples(), GoToEnd(), IsAtEnd(), and SetNumberOfSamples().