- ←Prev
- ARY
A Subroutine Library for Accessing
ARRAY Data Structures - Next→
- TOC ↑
Description:
The
routine 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
CALL ARY_GTDLT( IARY, ZAXIS, ZTYPE, ZRATIO, STATUS )
Arguments
IARY = INTEGER (Given)
Array identifier.
ZAXIS = INTEGER (Returned)
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 = CHARACTER
(
)
(Returned)
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 = REAL (Returned)
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 = INTEGER (Given and Returned)
The
global status.
- ←Prev
- ARY
A Subroutine Library for Accessing
ARRAY Data Structures - Next→
- TOC ↑