vigra - ConstStridedImageIterator< PIXELTYPE > Class Template Reference

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

| ConstStridedImageIterator< PIXELTYPE > Class Template Reference Image Iterators |

Const iterator to be used when pixels are to be skipped. More...

`#include <vigra/imageiterator.hxx>`

Inheritance diagram for ConstStridedImageIterator< PIXELTYPE >:

## Public Member Functions
| ConstStridedImageIterator (pointer base, int ystride, int xskip, int yskip)
| ConstStridedImageIterator (StridedImageIterator< PIXELTYPE > const &o)
| ConstStridedImageIterator ()
ConstStridedImageIterator & | operator= (StridedImageIterator< PIXELTYPE > const &o)
Public Member Functions inherited from ImageIteratorBase< ConstStridedImageIterator< PIXELTYPE >, PIXELTYPE, PIXELTYPE const &, PIXELTYPE const *, StridedArrayTag >
bool | operator== (ImageIteratorBase const &rhs) const
bool | operator!= (ImageIteratorBase const &rhs) const
difference_type | operator- (ImageIteratorBase const &rhs) const
ConstStridedImageIterator < PIXELTYPE > | operator- (difference_type const &s) const
ConstStridedImageIterator < PIXELTYPE > & | operator+= (difference_type const &s)
ConstStridedImageIterator < PIXELTYPE > & | operator-= (difference_type const &s)
ConstStridedImageIterator < PIXELTYPE > | operator+ (difference_type const &s) const
reference | operator* () const
pointer | operator-> () const
index_reference | operator[] (Diff2D const &d) const
pointer | operator[] (int dy) const
index_reference | operator() (int dx, int dy) const

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

## Detailed Description

### template<class PIXELTYPE>
class vigra::ConstStridedImageIterator< PIXELTYPE >

Const iterator to be used when pixels are to be skipped.

This iterator can be used when some pixels shall be automatically skipped, for example if an image is to be sub-sampled: instead of advancing to the next pixel, `++iterator.x` jumps to the pixel at a horizontal offset of `xskip`. Likewise with `yskip` in vertical direction. Most functions and local types are inherited from ImageIteratorBase.

Usage:

BImage img(w,h);
...
int xskip = 2, yskip = 2;
int wskip = w / xskip + 1, hskip = h / yskip + 1;
ConstStridedImageIterator<BImage::value_type> upperLeft(&img(0,0), w, xskip, yskip);
ConstStridedImageIterator<BImage::value_type> lowerRight = upperLeft + Diff2D(wskip, hskip);
// now navigation with upperLeft and lowerRight lets the image appear to have half
// the original resolution in either dimension

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

## Constructor & Destructor Documentation

ConstStridedImageIterator | ( | pointer | base,
|  | int | ystride,
|  | int | xskip,
|  | int | yskip
| ) |  |

    Construct from raw memory with a vertical stride of <TT>ystride</TT>,

jumping by `xskip` horizontally and `yskip` vertically. `ystride` must be the physical width (row length) of the image.

ConstStridedImageIterator | ( | StridedImageIterator< PIXELTYPE > const & | o | ) |

Copy-construct from mutable iterator

ConstStridedImageIterator | ( |  | ) |

Default constructor

## Member Function Documentation

ConstStridedImageIterator& operator= | ( | StridedImageIterator< PIXELTYPE > const & | o | ) |

Assign mutable iterator

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.10.0 (Mon Nov 18 2013)