Loading...
Searching...
No Matches
casacore::MArrayUtil_global_functions_reorderMArray Struct Reference
tables package (libcasa_tables) » TaQL_module

More...

`#include <MArrayUtil.h>`

## Public Member Functions

template<class T>
MArray< T > | reorderArray (const MArray< T > &array, const IPosition &newAxisOrder, Bool alwaysCopy=True)

## Detailed Description

Reorder the axes of the data in an MArray object

### Intended use:

Public interface

### Review Status

Reviewed By:
  UNKNOWN
Date Reviewed:
  before2004/08/25
Test programs:
  tMArrayUtil

### Synopsis

This function makes it possible to reorder the axes of an MArray. Both the data and the optional mask are reordered. The resulting array is a copy of the input array with its data moved around according to the new array order. If the order does not change, a copy is returned if the alwaysCopy is true. Otherwise a reference of the input array is returned.

The newAxisOrder defines the new axes order. Its length can be less than the dimensionality of the input array. It is appended with the non-specified axes in their natural order. newAxisOrder(i) gives the axis in the original array which will now get axis i.

### Example

MArray<Int> result = reorderArray (someArray, IPosition(2,1,3));
casacore::IPosition
Definition IPosition.h:117
casacore::MArray
Definition MArray.h:68
casacore::MArrayUtil_global_functions_reorderMArray::reorderArray
MArray< T > reorderArray(const MArray< T > &array, const IPosition &newAxisOrder, Bool alwaysCopy=True)
Definition MArrayUtil.h:75

Say that someArray is a 4D array with shape [3,4,5,6]. The non-specified axes get appended to the axis order specification [1,3] resulting in [1,3,0,2].
This means that axis 1 gets axis 0, axis 3 gets axis 1, axis 0 gets axis 2, and axis 2 gets axis 3. Thus the resulting shape is [4,6,3,5] and the data are moved accordingly.

Definition at line 73 of file MArrayUtil.h.

## Member Function Documentation

## reorderArray()

template<class T>

MArray< T > casacore::MArrayUtil_global_functions_reorderMArray::reorderArray | ( | const MArray< T > & | array,
|  | const IPosition & | newAxisOrder,
|  | Bool | alwaysCopy = True )

inline

Definition at line 75 of file MArrayUtil.h.

References casacore::array, reorderArray(), and casacore::True.

Referenced by reorderArray().

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

- tables/TaQL/MArrayUtil.h