next up previous 62
Next: QUALITY Structure
Up: Low-Level Structures
Previous: COMPLEX_ARRAY Structure


$<$AXIS$>$ Structure

This structure has TYPE $<$AXIS$>$ and is used to store information describing the size and spacing of the pixels in a multi-dimensional data array. In use, $<$AXIS$>$ structures are arranged as elements of a 1-dimensional array (of structures). The number of elements (structures) in this array is equal to the dimensionality (number of axes) of the data array being described, so that each $<$AXIS$>$ structure relates to a single data dimension. The following description applies to one element of that multi-dimensional structure.


Table: Components of $<$AXIS$>$ structure element
Component Name TYPE Brief Description
[VARIANT] $<$_CHAR$>$ registered variant
[DATA_ARRAY] $<$p_array$>$ axis value at each pixel
[LABEL] $<$_CHAR$>$ axis label
[UNITS] $<$_CHAR$>$ axis units
[VARIANCE] $<$s_array$>$ axis variance in [DATA_ARRAY]
[NORMALISED] $<$_LOGICAL$>$ true if the data have been normalised
[WIDTH] $<$s_array$>$ bin width of each pixel
[MORE] $<$EXT$>$ extension structure

[VARIANT]
Currently, this can only be `SIMPLE'.
[DATA_ARRAY]
This mandatory component, which can be the only item within the $<$AXIS$>$ structure, is used to provide co-ordinates along the axis. Each value corresponds to the centre of a pixel. For an $n$-dimensional data array, with no axis calibration, and equally spaced data, the Starlink standard is for the $n^{\rm th}$ pixel centre to be at $(n-1)$.5 in each axis, e.g. for display purposes (cf. SSN/22). However, in some applications the pixel index is adequate and clearer. Programmers should take care to use the appropriate scheme.

The co-ordinates are given as a vector with length corresponding to that of the corresponding dimension of the data array. In practice, it will often be the polynomial or spaced variant of TYPE $<$ARRAY$>$.

[LABEL]
This is a textual description of the co-ordinate type. It may contain the ``control'' codes that are used by graphics packages to produce special characters--backslashes etc.
[UNITS]
This is a textual description of the co-ordinate units.
[VARIANCE]
This component is used to describe the variance of the errors associated with co-ordinate values given by the [DATA_ARRAY] component. It must either be an array of the same dimension as [DATA_ARRAY] or, should a single variance apply to all elements of [DATA_ARRAY], a scalar.
[NORMALISED]
If true, the data have been normalised to the pixel size (i.e. divided by the pixel width along this axis). In other words if the data are normalised the data values reduce as the pixels are stretched and vice versa. Optional. If absent, it defaults to false.
[WIDTH]
The width or extent of each bin for irregularly spaced and/or overlapping data. If it is an array, it must have the same dimensions as the [DATA_ARRAY]. The scalar form applies to all the pixels and is intended for overlapping pixels. Optional. If absent, the extent of the $n^{\rm th}$ element is assumed to be

\begin{displaymath}0.5~(D_{n-1}+D_n)~~~{\rm to}~~~0.5~(D_n+D_{n+1}) , \end{displaymath}

where $D_n$ is the $n^{\rm th}$ centre value given by [DATA_ARRAY]. The extreme values are twice the available half widths, viz.

\begin{displaymath}D_n - 0.5 * {\rm WIDTH} ~~~ {\rm to} ~~~ D_n + 0.5 * {\rm WIDTH} \end{displaymath}

for the $n^{\rm th}$ element.
[MORE]
The extension in which application-specific axis-related information can be stored, e.g. whether the axis is cyclic, the type of axis: spectral, spatial, temporal etc.


next up previous 62
Next: QUALITY Structure
Up: Low-Level Structures
Previous: COMPLEX_ARRAY Structure

Starlink Standard Data Structures
Starlink General Paper 38
Malcolm J Currie, P T Wallace &
R F Warren-Smith
1989 January 20
E-mail:ussc@star.rl.ac.uk

Copyright © 2008 Science and Technology Facilities Council