aryGtdlt

Get the compressed axis and data type for a DELTA array

Description:

This function returns the details of the compression used to produce an array stored in DELTA form. If the array is not stored in DELTA form, then null values are returned as listed below, but no error is reported.

A DELTA array is compressed by storing only the differences between adjacent array values along a nominated compression axis, rather than the full array values. The differences are stored using a smaller data type than the original absolute values. The compression is lossless because any differences that will not fit into the smaller data type are stored explicitly in an extra array with a larger data type. Additional compression is achieved by replacing runs of equal values by a single value and a repeat count.

Invocation

void aryGtdlt( Ary ary, int zaxis, char ztype[DAT__SZTYPE+1], float zratio, int status )

Parameters :

ary
Array identifier.
zaxis
Returned holding the index of the pixel axis along which compression occurred. The first axis has index 1. Zero is returned if the array is not stored in DELTA form.
ztype
Returned holding the data type in which the differences between adjacent array values are stored. This will be one of _BYTE , _WORD or _INTEGER . The data type of the array itself is returned if the supplid array is not stored in DELTA form.
zratio
Returned holding the compression factor - the ratio of the uncompressed array size to the compressed array size. This is approximate as it does not include the effects of the metadata needed to describe the extra components of a DELTA array (i.e. the space needed to hold the component names, types, dimensions, etc). A value of 1.0 is returned if the supplid array is not stored in DELTA form.
status
The global status.