An NDF's axis arrays may be stored using either simple or
primitive storage form (see §), the default
being chosen to match that of the NDF's main data component.
The storage form of an axis array may be obtained by using the
routine NDF_AFORM, as follows:
INCLUDE 'NDF_PAR'
CHARACTER * ( NDF__SZFRM ) FORM
...
CALL NDF_AFORM( INDF, 'Centre', IAXIS, FORM, STATUS )
This example would return the storage form of the specified axis centre array (e.g. `SIMPLE') as an upper-case character string via the FORM argument. Note the use of the symbolic constant NDF__SZFRM (defined in the include file NDF_PAR) to define the size of the character variable which is to receive the returned storage form information.
As with other NDF array components, the primitive storage form
places certain restrictions on the use to which an axis array may be
put (see §).
In practice, however, there is usually little need to be aware of this,
because the NDF_ system will implicitly convert the storage form of
primitive axis arrays to become simple whenever one of
these
restrictions would be violated.
This is a straightforward operation which costs little.
Since bad-pixel flags are not relevant to axis arrays, the
only changes which can precipitate such a storage form conversion are those
which modify the NDF's pixel-index bounds.
The lower bound of an axis array is conceptually equal to the lower
bound of the corresponding NDF dimension, so a primitive axis array
will be converted to simple storage form if the lower bound of the
relevant NDF dimension ceases to be equal to 1.