[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]
|   | StridedImageIterator [Image Iterators] |  | 
Iterator to be used when pixels are to be skipped. More...
#include <vigra/imageiterator.hxx>

| Public Types | |
| typedef Base::difference_type | difference_type | 
| typedef Base::pointer | pointer | 
| Public Member Functions | |
| StridedImageIterator () | |
| StridedImageIterator (pointer base, int ystride, int xskip, int yskip) | |
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; StridedImageIterator<BImage::value_type> upperLeft(&img(0,0), w, xskip, yskip); StridedImageIterator<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
| typedef Base::difference_type difference_type | 
the iterator's difference type (argument type of iter[diff]) 
Reimplemented from ImageIteratorBase.
| typedef Base::pointer pointer | 
the iterator's pointer type (return type of iter.operator->()) 
Reimplemented from ImageIteratorBase.
| StridedImageIterator | ( | pointer | base, | |
| int | ystride, | |||
| int | xskip, | |||
| int | yskip | |||
| ) | 
Construct from raw memory with a vertical stride of ystride, jumping by xskip horizontally and yskip vertically. ystride must be the physical width (row length) of the image. 
Default constructor
| 
© Ullrich Köthe     (ullrich.koethe@iwr.uni-heidelberg.de)  | 
html generated using doxygen and Python
 |