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

details Multi-dimensional Array Iterators VIGRA

General iterators for arrays of arbitrary dimension. More...

Classes

class  CoupledHandle< T, NEXT >
struct  CoupledIteratorType< N, T1, T2, T3, T4, T5 >
class  CoupledScanOrderIterator< N, HANDLES, DIMENSION >
 Iterate over multiple images simultaneously in scan order. More...
class  MultiArrayShape< N >
class  MultiIterator< N, T, REFERENCE, POINTER >
 A multi-dimensional hierarchical iterator to be used with vigra::MultiArrayView if it is not strided. More...
class  StridedMultiIterator< N, T, REFERENCE, POINTER >
 A multi-dimensional hierarchical iterator to be used with vigra::MultiArrayView if it is not strided. More...
class  StridedScanOrderIterator< N, T, REFERENCE, POINTER, M >
 Sequential iterator for MultiArrayView. More...

Typedefs

typedef std::ptrdiff_t MultiArrayIndex
typedef MultiArrayShape< 1 >::type Shape1
 shape type for MultiArray<1, T>
typedef MultiArrayShape< 2 >::type Shape2
 shape type for MultiArray<2, T>
typedef MultiArrayShape< 3 >::type Shape3
 shape type for MultiArray<3, T>
typedef MultiArrayShape< 4 >::type Shape4
 shape type for MultiArray<4, T>
typedef MultiArrayShape< 5 >::type Shape5
 shape type for MultiArray<5, T>

Functions

template<int N>
CoupledIteratorType< N >::type createCoupledIterator (TinyVector< MultiArrayIndex, N > const &shape)
template<unsigned int N1, class T1 , class S1 >
CoupledIteratorType< N1, T1 >::type createCoupledIterator (MultiArrayView< N1, T1, S1 > const &m1)
template<unsigned int N1, class T1 , class S1 , unsigned int N2, class T2 , class S2 >
CoupledIteratorType< N1, T1,
T2 >::type 
createCoupledIterator (MultiArrayView< N1, T1, S1 > const &m1, MultiArrayView< N2, T2, S2 > const &m2)
template<unsigned int N1, class T1 , class S1 , unsigned int N2, class T2 , class S2 , unsigned int N3, class T3 , class S3 >
CoupledIteratorType< N1, T1,
T2, T3 >::type 
createCoupledIterator (MultiArrayView< N1, T1, S1 > const &m1, MultiArrayView< N2, T2, S2 > const &m2, MultiArrayView< N3, T3, S3 > const &m3)
template<unsigned int N1, class T1 , class S1 , unsigned int N2, class T2 , class S2 , unsigned int N3, class T3 , class S3 , unsigned int N4, class T4 , class S4 >
CoupledIteratorType< N1, T1,
T2, T3, T4 >::type 
createCoupledIterator (MultiArrayView< N1, T1, S1 > const &m1, MultiArrayView< N2, T2, S2 > const &m2, MultiArrayView< N3, T3, S3 > const &m3, MultiArrayView< N4, T4, S4 > const &m4)
template<unsigned int N1, class T1 , class S1 , unsigned int N2, class T2 , class S2 , unsigned int N3, class T3 , class S3 , unsigned int N4, class T4 , class S4 , unsigned int N5, class T5 , class S5 >
CoupledIteratorType< N1, T1,
T2, T3, T4, T5 >::type 
createCoupledIterator (MultiArrayView< N1, T1, S1 > const &m1, MultiArrayView< N2, T2, S2 > const &m2, MultiArrayView< N3, T3, S3 > const &m3, MultiArrayView< N4, T4, S4 > const &m4, MultiArrayView< N5, T5, S5 > const &m5)
template<unsigned int TARGET_INDEX, class Handle >
CoupledHandleCast
< TARGET_INDEX, Handle >
::type::reference 
get (Handle &handle)
template<unsigned int TARGET_INDEX, class Handle >
CoupledHandleCast
< TARGET_INDEX, Handle >
::type::const_reference 
get (Handle const &handle)

Detailed Description

General iterators for arrays of arbitrary dimension.


Typedef Documentation

typedef std::ptrdiff_t MultiArrayIndex

Index type for a single dimension of a MultiArrayView or MultiArray.


Function Documentation

CoupledHandleCast<TARGET_INDEX, Handle>::type::reference vigra::get ( Handle &  handle)

Returns reference to the element in the band of the handle with index TARGET_INDEX.

CoupledHandleCast<TARGET_INDEX, Handle>::type::const_reference vigra::get ( Handle const &  handle)

Returns a constant reference to the element in the band of the handle with index TARGET_INDEX.

CoupledIteratorType<N>::type vigra::createCoupledIterator ( TinyVector< MultiArrayIndex, N > const &  shape)

Returns a CoupledScanOrderIterator from shape to iterate over coordinates.

CoupledIteratorType<N1, T1>::type vigra::createCoupledIterator ( MultiArrayView< N1, T1, S1 > const &  m1)

Returns a CoupledScanOrderIterator to simultaneously iterate over image m1 and its coordinates.

CoupledIteratorType<N1, T1, T2>::type vigra::createCoupledIterator ( MultiArrayView< N1, T1, S1 > const &  m1,
MultiArrayView< N2, T2, S2 > const &  m2 
)

Returns a CoupledScanOrderIterator to simultaneously iterate over images m1, m2 and their coordinates.

CoupledIteratorType<N1, T1, T2, T3>::type vigra::createCoupledIterator ( MultiArrayView< N1, T1, S1 > const &  m1,
MultiArrayView< N2, T2, S2 > const &  m2,
MultiArrayView< N3, T3, S3 > const &  m3 
)

Returns a CoupledScanOrderIterator to simultaneously iterate over images m1, m2, m3 and their coordinates.

CoupledIteratorType<N1, T1, T2, T3, T4>::type vigra::createCoupledIterator ( MultiArrayView< N1, T1, S1 > const &  m1,
MultiArrayView< N2, T2, S2 > const &  m2,
MultiArrayView< N3, T3, S3 > const &  m3,
MultiArrayView< N4, T4, S4 > const &  m4 
)

Returns a CoupledScanOrderIterator to simultaneously iterate over images m1, m2, m3, m4 and their coordinates.

CoupledIteratorType<N1, T1, T2, T3, T4, T5>::type vigra::createCoupledIterator ( MultiArrayView< N1, T1, S1 > const &  m1,
MultiArrayView< N2, T2, S2 > const &  m2,
MultiArrayView< N3, T3, S3 > const &  m3,
MultiArrayView< N4, T4, S4 > const &  m4,
MultiArrayView< N5, T5, S5 > const &  m5 
)

Returns a CoupledScanOrderIterator to simultaneously iterate over images m1, m2, m3, m4, m5 and their coordinates.

© 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.9.0 (Tue Nov 6 2012)