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

details StridedImageIterator Class Template Reference VIGRA

Iterator to be used when pixels are to be skipped. More...

#include "vigra/imageiterator.hxx"

Inheritance diagram for StridedImageIterator:

ImageIteratorBase< StridedImageIterator< PIXELTYPE >, PIXELTYPE, PIXELTYPE &, PIXELTYPE *, StridedArrayTag >

Public Types

typedef Base::pointer pointer
typedef Base::difference_type difference_type

Public Methods

 StridedImageIterator (pointer base, int ystride, int xskip, int yskip)
 StridedImageIterator ()


Detailed Description


template<class PIXELTYPE>
class vigra::StridedImageIterator< PIXELTYPE >

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;
    
    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


Member Typedef Documentation


typedef Base::difference_type difference_type

 

the iterator's difference type (argument type of iter[diff])

Reimplemented from ImageIteratorBase< StridedImageIterator< PIXELTYPE >, PIXELTYPE, PIXELTYPE &, PIXELTYPE *, StridedArrayTag >.


typedef Base::pointer pointer

 

the iterator's pointer type (return type of iter.operator->())

Reimplemented from ImageIteratorBase< StridedImageIterator< PIXELTYPE >, PIXELTYPE, PIXELTYPE &, PIXELTYPE *, StridedArrayTag >.


Constructor & Destructor Documentation


StridedImageIterator pointer    base,
int    ystride,
int    xskip,
int    yskip
[inline]

 

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.


StridedImageIterator   [inline]

 

Default constructor


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

© Ullrich Köthe (koethe@informatik.uni-hamburg.de)
Cognitive Systems Group, University of Hamburg, Germany

html generated using doxygen and Python
VIGRA 1.2.0 (7 Aug 2003)