|
| Cube () |
| A Cube of length zero in each dimension; zero origin. More...
|
|
| Cube (size_t l1, size_t l2, size_t l3) |
| A l1xl2xl3 sized cube. More...
|
|
| Cube (size_t l1, size_t l2, size_t l3, ArrayInitPolicy initPolicy) |
| A l1xl2xl3 sized cube. More...
|
|
| Cube (size_t l1, size_t l2, size_t l3, const T &initialValue) |
| A l1xl2xl3 sized cube. More...
|
|
| Cube (const IPosition &len) |
| A Cube where the shape ("len") is defined with IPositions. More...
|
|
| Cube (const IPosition &len, ArrayInitPolicy initPolicy) |
| A Cube where the shape ("len") is defined with IPositions. More...
|
|
| Cube (const IPosition &len, const T &initialValue) |
| A Cube where the shape ("len") is defined with IPositions. More...
|
|
| Cube (const Cube< T > &) |
| The copy constructor uses reference semantics. More...
|
|
| Cube (const Array< T > &) |
| Construct a cube by reference from "other". More...
|
|
| Cube (const IPosition &shape, T *storage, StorageInitPolicy policy=COPY) |
| Create an Cube of a given shape from a pointer. More...
|
|
| Cube (const IPosition &shape, T *storage, StorageInitPolicy policy, AbstractAllocator< T > const &allocator) |
| Create an Cube of a given shape from a pointer. More...
|
|
| Cube (const IPosition &shape, const T *storage) |
| Create an Cube of a given shape from a pointer. More...
|
|
virtual | ~Cube () |
| Define a destructor, otherwise the (SUN) compiler makes a static one. More...
|
|
virtual void | assign (const Array< T > &other) |
| Assign the other array (which must be dimension 3) to this cube. More...
|
|
virtual void | reference (const Array< T > &other) |
| Make this cube a reference to other. More...
|
|
void | resize (size_t nx, size_t ny, size_t nz, Bool copyValues=False) |
|
void | resize (size_t nx, size_t ny, size_t nz, Bool copyValues, ArrayInitPolicy policy) |
|
virtual void | resize () |
|
virtual void | resize (const IPosition &newShape, Bool copyValues, ArrayInitPolicy policy) |
|
Cube< T > & | operator= (const Cube< T > &other) |
| Copy the values from other to this cube. More...
|
|
virtual Array< T > & | operator= (const Array< T > &other) |
|
Array< T > & | operator= (const T &val) |
| Copy val into every element of this cube; i.e. More...
|
|
Cube< T > & | operator= (const MaskedArray< T > &marray) |
| Copy to this those values in marray whose corresponding elements in marray's mask are True. More...
|
|
T & | operator() (const IPosition &i) |
| Single-pixel addressing. More...
|
|
const T & | operator() (const IPosition &i) const |
|
T & | operator() (size_t i1, size_t i2, size_t i3) |
|
const T & | operator() (size_t i1, size_t i2, size_t i3) const |
|
T & | at (size_t i1, size_t i2, size_t i3) |
|
const T & | at (size_t i1, size_t i2, size_t i3) const |
|
Cube< T > | operator() (const Slice &sliceX, const Slice &sliceY, const Slice &sliceZ) |
| Take a slice of this cube. More...
|
|
const Cube< T > | operator() (const Slice &sliceX, const Slice &sliceY, const Slice &sliceZ) const |
|
Array< T > | operator() (const IPosition &blc, const IPosition &trc, const IPosition &incr) |
| Slice using IPositions. More...
|
|
const Array< T > | operator() (const IPosition &blc, const IPosition &trc, const IPosition &incr) const |
|
Array< T > | operator() (const IPosition &blc, const IPosition &trc) |
|
const Array< T > | operator() (const IPosition &blc, const IPosition &trc) const |
|
Array< T > | operator() (const Slicer &slicer) |
|
const Array< T > | operator() (const Slicer &slicer) const |
|
const MaskedArray< T > | operator() (const LogicalArray &mask) const |
| The array is masked by the input LogicalArray. More...
|
|
MaskedArray< T > | operator() (const LogicalArray &mask) |
| Return a MaskedArray. More...
|
|
const MaskedArray< T > | operator() (const MaskedLogicalArray &mask) const |
| The array is masked by the input MaskedLogicalArray. More...
|
|
MaskedArray< T > | operator() (const MaskedLogicalArray &mask) |
| Return a MaskedArray. More...
|
|
Matrix< T > | xyPlane (size_t zplane) |
| Extract a plane as a matrix referencing the original data. More...
|
|
const Matrix< T > | xyPlane (size_t zplane) const |
|
Matrix< T > | xzPlane (size_t yplane) |
|
const Matrix< T > | xzPlane (size_t yplane) const |
|
Matrix< T > | yzPlane (size_t xplane) |
|
const Matrix< T > | yzPlane (size_t xplane) const |
|
const IPosition & | shape () const |
| The length of each axis of the cube. More...
|
|
void | shape (Int &s1, Int &s2, Int &s3) const |
|
size_t | nrow () const |
| The number of rows in the Cube, i.e. More...
|
|
size_t | ncolumn () const |
| The number of columns in the Cube, i.e. More...
|
|
size_t | nplane () const |
| The number of planes in the Cube, i.e. More...
|
|
virtual Bool | ok () const |
| Checks that the cube is consistent (invariants check out). More...
|
|
template<class T>
class casacore::Cube< T >
A 3-D Specialization of the Array class
Review Status
- Reviewed By:
- UNKNOWN
- Date Reviewed:
- before2004/08/25
Cube objects are three-dimensional specializations (e.g., more convenient and efficient indexing) of the general Array class. You might also want to look at the Array documentation to see inherited functionality.
Generally the member functions of Array are also available in Cube versions which take a pair of integers where the array needs an IPosition. Since the Cube is three-dimensional, the IPositions are overkill, although you may use those versions if you want to.
Cube<Int> ci(100,100,100);
ci.resize(50,50,50);
Slices may be taken with the Slice class. To take a slice, one "indexes" with one Slice(start, length, inc) for each axis, where end and inc are optional. Additionally, there is an xyPlane() member function which return a Matrix which corresponds to some plane:
Cube<Float>
cube(10,20,30);
for(
uInt i=0; i < 30; i++) {
}
Element-by-element arithmetic and logical operations are available (in aips/ArrayMath.h and aips/ArrayLogical.h).
As with the Arrays, if the preprocessor symbol AIPS_DEBUG is defined at compile time invariants will be checked on entry to most member functions. Additionally, if AIPS_ARRAY_INDEX_CHECK is defined index operations will be bounds-checked. Neither of these should be defined for production code.
Definition at line 80 of file Cube.h.