[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]

ImageIterator< PIXELTYPE > Class Template Reference

Standard 2D random access iterator for images that store the data in a linear array. More...

`#include <vigra/imageiterator.hxx>`

Inheritance diagram for ImageIterator< PIXELTYPE >:

## Public Member Functions

| ImageIterator ()
| ImageIterator (pointer base, std::ptrdiff_t ystride)
Public Member Functions inherited from ImageIteratorBase< ImageIterator< PIXELTYPE >, PIXELTYPE, PIXELTYPE &, PIXELTYPE * >
bool | operator== (ImageIteratorBase const &rhs) const
bool | operator!= (ImageIteratorBase const &rhs) const
difference_type | operator- (ImageIteratorBase const &rhs) const
ImageIterator< PIXELTYPE > | operator- (difference_type const &s) const
ImageIterator< PIXELTYPE > & | operator+= (difference_type const &s)
ImageIterator< PIXELTYPE > & | operator-= (difference_type const &s)
ImageIterator< PIXELTYPE > | operator+ (difference_type const &s) const
reference | operator* () const
pointer | operator-> () const
index_reference | operator[] (Diff2D const &d) const
pointer | operator[] (std::ptrdiff_t dy) const
index_reference | operator() (std::ptrdiff_t dx, std::ptrdiff_t dy) const

## Additional Inherited Members

Public Types inherited from ImageIteratorBase< ImageIterator< PIXELTYPE >, PIXELTYPE, PIXELTYPE &, PIXELTYPE * >
typedef ColumnIteratorSelector::res | column_iterator
typedef Diff2D | difference_type
typedef PIXELTYPE & | index_reference
typedef image_traverser_tag | iterator_category
typedef vigra::detail::DirectionSelector< UnstridedArrayTag >::template type< pointer > | MoveX
typedef vigra::detail::DirectionSelector< StridedArrayTag >::template type< std::ptrdiff_t > | MoveY
typedef PIXELTYPE | PixelType
typedef PIXELTYPE * | pointer
typedef PIXELTYPE & | reference
typedef RowIteratorSelector::res | row_iterator
typedef PIXELTYPE | value_type
Public Attributes inherited from ImageIteratorBase< ImageIterator< PIXELTYPE >, PIXELTYPE, PIXELTYPE &, PIXELTYPE * >
MoveX | x
MoveY | y
Protected Member Functions inherited from ImageIteratorBase< ImageIterator< PIXELTYPE >, PIXELTYPE, PIXELTYPE &, PIXELTYPE * >
| ImageIteratorBase (pointer base, std::ptrdiff_t ystride)
| ImageIteratorBase (pointer base, std::ptrdiff_t xstride, std::ptrdiff_t ystride)
| ImageIteratorBase (ImageIteratorBase const &rhs)
| ImageIteratorBase ()
ImageIteratorBase & | operator= (ImageIteratorBase const &rhs)

## Detailed Description

template<class PIXELTYPE>
class vigra::ImageIterator< PIXELTYPE >

Standard 2D random access iterator for images that store the data in a linear array.

Most functions and local types are inherited from ImageIteratorBase.

See the paper: U. Koethe: Reusable Algorithms in Image Processing for a discussion of the concepts behind ImageIterators.

#include <vigra/imageiterator.hxx>
Namespace: vigra

## Constructor & Destructor Documentation

## ◆ ImageIterator() [1/2]

template<class PIXELTYPE >

ImageIterator | ( | pointer | base,
|  | std::ptrdiff_t | ystride
| ) |  |

Construct from raw memory with a vertical stride of `ystride`. `ystride` must equal the physical image width (row length), even if the iterator will only be used for a sub image. If the raw memory is encapsulated in an image object this object should have a factory function that constructs the iterator.

## ◆ ImageIterator() [2/2]

template<class PIXELTYPE >

ImageIterator | ( |  | ) |

Default constructor

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

- vigra/imageiterator.hxx

© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de) Heidelberg Collaboratory for Image Processing, University of Heidelberg, Germany | html generated using doxygen and Python vigra 1.12.2