casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Private Member Functions
casa::MatrixIterator< T > Class Template Reference

Iterate a Matrix cursor through another Array. More...

#include <MatrixIter.h>

Inheritance diagram for casa::MatrixIterator< T >:
casa::ArrayIterator< T > casa::ArrayPositionIterator

List of all members.

Public Member Functions

 MatrixIterator (Array< T > &a)
 Iterate by matrices through array "a".
 MatrixIterator (Array< T > &a, uInt cursorAxis1, uInt cursorAxis2)
 Iterate by matrices through array "a".
Matrix< T > & matrix ()
 Return the matrix at the current position.

Private Member Functions

 MatrixIterator (const MatrixIterator< T > &)
 Not implemented.
MatrixIterator< T > & operator= (const MatrixIterator< T > &)
 Not implemented.

Detailed Description

template<class T>
class casa::MatrixIterator< T >

Iterate a Matrix cursor through another Array.

Review Status

Reviewed By:
UNKNOWN
Date Reviewed:
before2004/08/25
MatrixIterator steps a Matrix (the "cursor") through an array.
The cursor "refers" to storage in the array, so that changing the
values in the cursor changes values in the original array.

This class is derived from ArrayIterator; basically it only adds the
matrix() member function which allows you to access the cursor as a Matrix.

<br><strong>Tip:</strong><em> 
The origin of the cursor, i;e; the subarray that moves through the
larger array, is always zero;
</em><br>

In this example we want to make a "moment" map of a cube, i.e. collapse
the "Z" axis by averaging it.
    Cube<Float> cube;
    MatrixIterator planeIter(cube);
    Matrix<Float> average(planeIter.matrix().copy()); // init with first plane
    planeIter.next(); // advance the iterator
    while (! planeIter.pastEnd()) {
        average += planeIter.matrix(); // Sum the next plane
        planeIter.next();
    }
    average /= Float(cube.shape()(2));  // divide by the number of planes

Definition at line 69 of file MatrixIter.h.


Constructor & Destructor Documentation

template<class T>
casa::MatrixIterator< T >::MatrixIterator ( Array< T > &  a) [explicit]

Iterate by matrices through array "a".

The first 2 axes form the cursor axes.

template<class T>
casa::MatrixIterator< T >::MatrixIterator ( Array< T > &  a,
uInt  cursorAxis1,
uInt  cursorAxis2 
)

Iterate by matrices through array "a".

The given axes form the cursor axes.

template<class T>
casa::MatrixIterator< T >::MatrixIterator ( const MatrixIterator< T > &  ) [private]

Not implemented.


Member Function Documentation

template<class T>
Matrix<T>& casa::MatrixIterator< T >::matrix ( ) [inline]

Return the matrix at the current position.

Definition at line 81 of file MatrixIter.h.

References casa::ArrayIterator< T >::ap_p.

template<class T>
MatrixIterator<T>& casa::MatrixIterator< T >::operator= ( const MatrixIterator< T > &  ) [private]

Not implemented.


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