#include <itkImageLinearConstIteratorWithIndex.h>
Inheritance diagram for itk::ImageLinearConstIteratorWithIndex:
Public Types | |
typedef ImageLinearConstIteratorWithIndex | Self |
typedef ImageConstIteratorWithIndex< TImage > | Superclass |
typedef TImage::IndexType | IndexType |
typedef TImage::RegionType | RegionType |
typedef TImage | ImageType |
typedef TImage::PixelContainer | PixelContainer |
typedef PixelContainer::Pointer | PixelContainerPointer |
Public Methods | |
ImageLinearConstIteratorWithIndex () | |
ImageLinearConstIteratorWithIndex (const ImageType *ptr, const RegionType ®ion) | |
ImageLinearConstIteratorWithIndex (const ImageConstIteratorWithIndex< TImage > &it) | |
void | NextLine (void) |
void | PreviousLine (void) |
void | GoToBeginOfLine (void) |
void | GoToEndOfLine (void) |
bool | IsAtEndOfLine (void) |
bool | IsAtBeginOfLine (void) |
void | SetDirection (unsigned int direction) |
Self & | operator++ () |
Self & | operator-- () |
ImageLinearConstIteratorWithIndex is a templated class to represent a multi-dimensional iterator. ImageLinearConstIteratorWithIndex is templated over the image type ImageLinearConstIteratorWithIndex is constrained to walk only within the specified region.
ImageLinearConstIteratorWithIndex is a multi-dimensional iterator, requiring more information be specified before the iterator can be used than conventional iterators. Whereas the std::vector::iterator from the STL only needs to be passed a pointer to establish the iterator, the multi-dimensional image iterator needs a pointer, the size of the buffer, the size of the region, the start index of the buffer, and the start index of the region. To gain access to this information, ImageLinearConstIteratorWithIndex holds a reference to the image over which it is traversing.
ImageLinearConstIteratorWithIndex 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.
operator++ provides a simple syntax for walking around a region of a multidimensional image. operator++ iterates across a preselected direction constraining the movement to within a region of image. The user can verify when the iterator reaches the boundary of the region along this direction, by calling the IsAtEndOfLine() method. Then it is possible to pass to the next line starting at the first pixel in the row that is part of the region by calling the NextLine() method.
This is the typical use of this iterator in a loop:
ImageLinearConstIteratorWithIndex<ImageType> it( image, image->GetRequestedRegion() ); it.SetDirection(2); it.GoToBegin(); while( !it.IsAtEnd() ) { while( !it.IsAtEndOfLine() ) { value = it.Get(); // it.Set() doesn't exist in the Const Iterator ++it; } it.NextLine(); }
\example Common/itkImageLinearIteratorTest.cxx
Definition at line 79 of file itkImageLinearConstIteratorWithIndex.h.
|
Image typedef support. While this was already typdef'ed in the superclass it needs to be redone here for this subclass to compile properly with gcc. Note that we have to rescope Index back to itk::Index to that is it not confused with ImageIterator::Index. Reimplemented from itk::ImageConstIteratorWithIndex< TImage >. Reimplemented in itk::ImageLinearIteratorWithIndex< TImage >, and itk::ImageLinearIteratorWithIndex< TImageType >. Definition at line 102 of file itkImageLinearConstIteratorWithIndex.h. Referenced by itk::ImageLinearConstIteratorWithIndex< TImageType >::ImageLinearConstIteratorWithIndex(). |
|
Index typedef support. While this was already typdef'ed in the superclass it needs to be redone here for this subclass to compile properly with gcc. Note that we have to rescope Index back to itk::Index to that is it not confused with ImageIterator::Index. Reimplemented from itk::ImageConstIteratorWithIndex< TImage >. Reimplemented in itk::ImageLinearIteratorWithIndex< TImage >, and itk::ImageLinearIteratorWithIndex< TImageType >. Definition at line 90 of file itkImageLinearConstIteratorWithIndex.h. |
|
PixelContainer typedef support. Used to refer to the container for the pixel data. While this was already typdef'ed in the superclass it needs to be redone here for this subclass to compile properly with gcc. Reimplemented from itk::ImageConstIteratorWithIndex< TImage >. Reimplemented in itk::ImageLinearIteratorWithIndex< TImage >, and itk::ImageLinearIteratorWithIndex< TImageType >. Definition at line 107 of file itkImageLinearConstIteratorWithIndex.h. |
|
Reimplemented from itk::ImageConstIteratorWithIndex< TImage >. Reimplemented in itk::ImageLinearIteratorWithIndex< TImage >, and itk::ImageLinearIteratorWithIndex< TImageType >. Definition at line 108 of file itkImageLinearConstIteratorWithIndex.h. |
|
Region typedef support. While this was already typdef'ed in the superclass it needs to be redone here for this subclass to compile properly with gcc. Note that we have to rescope Region back to itk::ImageRegion so that is it not confused with ImageIterator::Index. Reimplemented from itk::ImageConstIteratorWithIndex< TImage >. Reimplemented in itk::ImageLinearIteratorWithIndex< TImage >, and itk::ImageLinearIteratorWithIndex< TImageType >. Definition at line 96 of file itkImageLinearConstIteratorWithIndex.h. Referenced by itk::ImageLinearConstIteratorWithIndex< TImageType >::ImageLinearConstIteratorWithIndex(). |
|
Standard class typedefs. Reimplemented from itk::ImageConstIteratorWithIndex< TImage >. Reimplemented in itk::ImageLinearIteratorWithIndex< TImage >, and itk::ImageLinearIteratorWithIndex< TImageType >. Definition at line 83 of file itkImageLinearConstIteratorWithIndex.h. |
|
Reimplemented in itk::ImageLinearIteratorWithIndex< TImage >, and itk::ImageLinearIteratorWithIndex< TImageType >. Definition at line 84 of file itkImageLinearConstIteratorWithIndex.h. |
|
Default constructor. Needed since we provide a cast constructor. Definition at line 111 of file itkImageLinearConstIteratorWithIndex.h. |
|
Constructor establishes an iterator to walk a particular image and a particular region of that image. Definition at line 115 of file itkImageLinearConstIteratorWithIndex.h. |
|
Constructor that can be used to cast from an ImageIterator to an ImageLinearConstIteratorWithIndex. Many routines return an ImageIterator but for a particular task, you may want an ImageLinearConstIteratorWithIndex. Rather than provide overloaded APIs that return different types of Iterators, itk returns ImageIterators and uses constructors to cast from an ImageIterator to a ImageLinearConstIteratorWithIndex. Definition at line 125 of file itkImageLinearConstIteratorWithIndex.h. |
|
Go to the beginning pixel of the current line.
|
|
Go to the past end pixel of the current line.
|
|
Test if the index is at the begin of line |
|
Test if the index is at the end of line |
|
Go to the next line.
|
|
Increment (prefix) the selected dimension. No bounds checking is performed.
|
|
Decrement (prefix) the selected dimension. No bounds checking is performed.
|
|
Go to the previous line.
|
|
Set the direction of movement |