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

Public Member Functions | List of all members
StridedImageIterator< PIXELTYPE > Class Template Reference

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

#include <vigra/imageiterator.hxx>

Inheritance diagram for StridedImageIterator< PIXELTYPE >:
ImageIteratorBase< StridedImageIterator< PIXELTYPE >, PIXELTYPE, PIXELTYPE &, PIXELTYPE *, StridedArrayTag >

Public Member Functions

 StridedImageIterator (pointer base, int ystride, int xskip, int yskip)
 StridedImageIterator ()
- Public Member Functions inherited from ImageIteratorBase< StridedImageIterator< PIXELTYPE >, PIXELTYPE, PIXELTYPE &, PIXELTYPE *, StridedArrayTag >
bool operator== (ImageIteratorBase const &rhs) const
bool operator!= (ImageIteratorBase const &rhs) const
difference_type operator- (ImageIteratorBase const &rhs) const
StridedImageIterator< PIXELTYPE > operator- (difference_type const &s) const
StridedImageIterator< PIXELTYPE > & operator+= (difference_type const &s)
StridedImageIterator< PIXELTYPE > & operator-= (difference_type const &s)
StridedImageIterator< 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< StridedImageIterator< PIXELTYPE >, PIXELTYPE, PIXELTYPE &, PIXELTYPE *, StridedArrayTag >
typedef ColumnIteratorSelector::res column_iterator
typedef Diff2D difference_type
typedef PIXELTYPE & index_reference
typedef image_traverser_tag iterator_category
typedef
detail::DirectionSelector
< StridedArrayTag >::template
type< pointer
MoveX
typedef
detail::DirectionSelector
< StridedArrayTag >::template
type< int > 
MoveY
typedef PIXELTYPE PixelType
typedef PIXELTYPE * pointer
typedef PIXELTYPE & reference
typedef RowIteratorSelector::res row_iterator
typedef PIXELTYPE value_type
- Public Attributes inherited from ImageIteratorBase< StridedImageIterator< PIXELTYPE >, PIXELTYPE, PIXELTYPE &, PIXELTYPE *, StridedArrayTag >
MoveX x
MoveY y
- Protected Member Functions inherited from ImageIteratorBase< StridedImageIterator< PIXELTYPE >, PIXELTYPE, PIXELTYPE &, PIXELTYPE *, StridedArrayTag >
 ImageIteratorBase (pointer base, int ystride)
 ImageIteratorBase (pointer base, int xstride, int ystride)
 ImageIteratorBase (ImageIteratorBase const &rhs)
 ImageIteratorBase ()
ImageIteratorBaseoperator= (ImageIteratorBase const &rhs)

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

Constructor & Destructor Documentation

StridedImageIterator ( 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.

Default constructor


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

© 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.7.1 (Wed Mar 12 2014)