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

details Multi-dimensional Shapes and Array Iterators VIGRA

Shape objects and general iterators for arrays of arbitrary dimension. More...

Classes

class  ChunkedArray< N, T >
 Interface and base class for chunked arrays. More...
 
struct  CoupledArrays< N, T1, T2, T3, T4, T5 >
 
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  GridGraph< N, DirectedTag >
 Define a grid graph in arbitrary dimensions. More...
 
struct  HierarchicalIteratorType< N, T1, T2, T3, T4, T5 >
 
class  MultiArray< N, T, A >
 Main MultiArray class containing the memory management. More...
 
class  MultiArrayShape< N >
 
class  MultiArrayView< N, T, StrideTag >
 Base class for, and view to, vigra::MultiArray. More...
 
class  MultiCoordinateIterator< N >
 Iterate over a virtual array where each element contains its coordinate. More...
 
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, V, REFERENCE, POINTER >
 Sequential iterator for MultiArrayView. More...
 

Typedefs

typedef std::ptrdiff_t MultiArrayIndex
 

Enumerations

enum  MultiArrayInitializationTag { LinearSequence }
 Initialize a MultiArray in a standard way. More...
 
enum  NeighborhoodType { DirectNeighborhood =0, IndirectNeighborhood =1 }
 Choose the neighborhood system in a dimension-independent way. More...
 

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<int N>
HierarchicalIteratorType< N >::type createHierarchicalIterator (TinyVector< MultiArrayIndex, N > const &shape)
 
template<unsigned int N1, class T1 , class S1 >
HierarchicalIteratorType< N1,
T1 >::type 
createHierarchicalIterator (MultiArrayView< N1, T1, S1 > const &m1)
 
template<unsigned int N1, class T1 , class S1 , unsigned int N2, class T2 , class S2 >
HierarchicalIteratorType< N1,
T1, T2 >::type 
createHierarchicalIterator (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 >
HierarchicalIteratorType< N1,
T1, T2, T3 >::type 
createHierarchicalIterator (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 >
HierarchicalIteratorType< N1,
T1, T2, T3, T4 >::type 
createHierarchicalIterator (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 >
HierarchicalIteratorType< N1,
T1, T2, T3, T4, T5 >::type 
createHierarchicalIterator (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 >
::reference 
get (Handle &handle)
 
template<unsigned int TARGET_INDEX, class Handle >
CoupledHandleCast
< TARGET_INDEX, Handle >
::const_reference 
get (Handle const &handle)
 

Detailed Description

Shape objects and 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.

Enumeration Type Documentation

enum MultiArrayInitializationTag

Initialize a MultiArray in a standard way.

Enumerator
LinearSequence 

Initialize array by a linear sequence in scan order.

enum NeighborhoodType

Choose the neighborhood system in a dimension-independent way.

DirectNeighborhood corresponds to 4-neighborhood in 2D and 6-neighborhood in 3D, whereas IndirectNeighborhood means 8-neighborhood in 2D and 26-neighborhood in 3D. The general formula for N dimensions are 2*N for direct neighborhood and 3^N-1 for indirect neighborhood.

Enumerator
DirectNeighborhood 

use only direct neighbors

IndirectNeighborhood 

use direct and indirect neighbors

Function Documentation

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

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

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

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

HierarchicalIteratorType<N>::type vigra::createHierarchicalIterator ( TinyVector< MultiArrayIndex, N > const &  shape)

Alias for vigra::CoupledIteratorType (maybe easier to remember).Returns a HierarchicalIterator from shape to iterate over coordinates.

HierarchicalIteratorType<N1, T1>::type vigra::createHierarchicalIterator ( MultiArrayView< N1, T1, S1 > const &  m1)

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

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

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

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

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

HierarchicalIteratorType<N1, T1, T2, T3, T4>::type vigra::createHierarchicalIterator ( 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 HierarchicalIterator to simultaneously iterate over images m1, m2, m3, m4 and their coordinates.

HierarchicalIteratorType<N1, T1, T2, T3, T4, T5>::type vigra::createHierarchicalIterator ( 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 HierarchicalIterator to simultaneously iterate over images m1, m2, m3, m4, m5 and their coordinates.

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.11.1 (Fri May 19 2017)