#include <itkImageRandomConstIteratorWithOnlyIndex.h>
A multi-dimensional image iterator that visits a random set of locations within an image region, providing index information.
ImageRandomConstIteratorWithOnlyIndex is a multi-dimensional iterator class that is templated over image type. ImageRandomConstIteratorWithOnlyIndex is constrained to walk only within the specified region. It samples random region positions at each increment or decrement.
No access to image data is possible, and thus the class can be used with images of type ImageBase.
ImageRandomConstIteratorWithOnlyIndex 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 indices from the image.
This is the typical use of this iterator in a loop:
or
Index-only iterators:
Pixel data-access iterators:
Definition at line 124 of file itkImageRandomConstIteratorWithOnlyIndex.h.
Inheritance diagram for itk::ImageRandomConstIteratorWithOnlyIndex< TImage >:
Collaboration diagram for itk::ImageRandomConstIteratorWithOnlyIndex< TImage >:Public Types | |
| using | ImageType |
| using | IndexType |
| using | IndexValueType |
| using | OffsetType |
| using | OffsetValueType |
| using | RegionType |
| using | Self = ImageRandomConstIteratorWithOnlyIndex |
| using | SizeType |
| using | SizeValueType |
| using | Superclass = ImageConstIteratorWithOnlyIndex<TImage> |
Public Types inherited from itk::ImageConstIteratorWithOnlyIndex< TImage > | |
| using | ImageType = TImage |
| using | IndexType = typename TImage::IndexType |
| using | IndexValueType = typename IndexType::IndexValueType |
| using | OffsetType = typename TImage::OffsetType |
| using | OffsetValueType = typename OffsetType::OffsetValueType |
| using | RegionType = typename TImage::RegionType |
| using | Self = ImageConstIteratorWithOnlyIndex |
| 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::ImageConstIteratorWithOnlyIndex< TImage > | |
| static constexpr unsigned int | GetImageDimension () |
Static Public Attributes inherited from itk::ImageConstIteratorWithOnlyIndex< TImage > | |
| static constexpr unsigned int | ImageDimension = TImage::ImageDimension |
Protected Attributes inherited from itk::ImageConstIteratorWithOnlyIndex< TImage > | |
| IndexType | m_BeginIndex { { 0 } } |
| IndexType | m_EndIndex { { 0 } } |
| IndexType | m_PositionIndex { { 0 } } |
| RegionType | m_Region {} |
| bool | m_Remaining { false } |
|
private |
Definition at line 236 of file itkImageRandomConstIteratorWithOnlyIndex.h.
| using itk::ImageConstIteratorWithOnlyIndex< TImage >::ImageType |
Image type alias support
Definition at line 122 of file itkImageConstIteratorWithOnlyIndex.h.
| using itk::ImageConstIteratorWithOnlyIndex< TImage >::IndexType |
Index type alias support
Definition at line 111 of file itkImageConstIteratorWithOnlyIndex.h.
| using itk::ImageConstIteratorWithOnlyIndex< TImage >::IndexValueType |
Definition at line 112 of file itkImageConstIteratorWithOnlyIndex.h.
| using itk::ImageConstIteratorWithOnlyIndex< TImage >::OffsetType |
Type of the Offset taken from the image
Definition at line 125 of file itkImageConstIteratorWithOnlyIndex.h.
| using itk::ImageConstIteratorWithOnlyIndex< TImage >::OffsetValueType |
Definition at line 126 of file itkImageConstIteratorWithOnlyIndex.h.
| using itk::ImageConstIteratorWithOnlyIndex< TImage >::RegionType |
Region type alias support
Definition at line 119 of file itkImageConstIteratorWithOnlyIndex.h.
| using itk::ImageRandomConstIteratorWithOnlyIndex< TImage >::Self = ImageRandomConstIteratorWithOnlyIndex |
Standard class type aliases.
Definition at line 128 of file itkImageRandomConstIteratorWithOnlyIndex.h.
| using itk::ImageConstIteratorWithOnlyIndex< TImage >::SizeType |
Size type alias support
Definition at line 115 of file itkImageConstIteratorWithOnlyIndex.h.
| using itk::ImageConstIteratorWithOnlyIndex< TImage >::SizeValueType |
Definition at line 116 of file itkImageConstIteratorWithOnlyIndex.h.
| using itk::ImageRandomConstIteratorWithOnlyIndex< TImage >::Superclass = ImageConstIteratorWithOnlyIndex<TImage> |
Definition at line 129 of file itkImageRandomConstIteratorWithOnlyIndex.h.
|
default |
Default constructor.
|
overridedefault |
| itk::ImageRandomConstIteratorWithOnlyIndex< TImage >::ImageRandomConstIteratorWithOnlyIndex | ( | 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 ImageRandomConstIteratorWithOnlyIndex. Many routines return an ImageIterator, but for a particular task, you may want an ImageRandomConstIteratorWithOnlyIndex. Rather than provide overloaded APIs that return different types of Iterators, itk returns ImageIterators and uses constructors to cast from an ImageIterator to a ImageRandomConstIteratorWithOnlyIndex.
Definition at line 156 of file itkImageRandomConstIteratorWithOnlyIndex.h.
References itk::ImageConstIteratorWithOnlyIndex< TImage >::ImageConstIteratorWithOnlyIndex().
|
inlinenodiscard |
Definition at line 219 of file itkImageRandomConstIteratorWithOnlyIndex.h.
References m_NumberOfSamplesRequested.
|
inline |
Move an iterator to the beginning of the region.
Definition at line 163 of file itkImageRandomConstIteratorWithOnlyIndex.h.
References m_NumberOfSamplesDone, and RandomJump().
|
inline |
Move an iterator to one position past the End of the region.
Definition at line 171 of file itkImageRandomConstIteratorWithOnlyIndex.h.
References m_NumberOfSamplesDone, m_NumberOfSamplesRequested, and RandomJump().
|
inlinenodiscard |
Is the iterator at the beginning of the region?
Definition at line 179 of file itkImageRandomConstIteratorWithOnlyIndex.h.
References m_NumberOfSamplesDone.
|
inlinenodiscard |
Is the iterator at the end of the region?
Definition at line 186 of file itkImageRandomConstIteratorWithOnlyIndex.h.
References m_NumberOfSamplesDone, and m_NumberOfSamplesRequested.
|
inline |
Increment (prefix) the selected dimension. No bounds checking is performed.
Definition at line 194 of file itkImageRandomConstIteratorWithOnlyIndex.h.
References m_NumberOfSamplesDone, and RandomJump().
|
inline |
Decrement (prefix) the selected dimension. No bounds checking is performed.
Definition at line 204 of file itkImageRandomConstIteratorWithOnlyIndex.h.
References m_NumberOfSamplesDone, and RandomJump().
|
private |
Execute a random jump.
Referenced by GoToBegin(), GoToEnd(), operator++(), and operator--().
| void itk::ImageRandomConstIteratorWithOnlyIndex< TImage >::ReinitializeSeed | ( | ) |
Reinitialize the seed of the random number generator.
| void itk::ImageRandomConstIteratorWithOnlyIndex< TImage >::ReinitializeSeed | ( | int | ) |
|
inline |
Set/Get number of random samples to extract from the image region.
Definition at line 213 of file itkImageRandomConstIteratorWithOnlyIndex.h.
References m_NumberOfSamplesRequested.
|
private |
Definition at line 237 of file itkImageRandomConstIteratorWithOnlyIndex.h.
|
private |
Definition at line 240 of file itkImageRandomConstIteratorWithOnlyIndex.h.
|
private |
Definition at line 239 of file itkImageRandomConstIteratorWithOnlyIndex.h.
Referenced by GoToBegin(), GoToEnd(), IsAtBegin(), IsAtEnd(), operator++(), and operator--().
|
private |
Definition at line 238 of file itkImageRandomConstIteratorWithOnlyIndex.h.
Referenced by GetNumberOfSamples(), GoToEnd(), IsAtEnd(), and SetNumberOfSamples().