FTS1_DTYPE

Obtains the input data type, scales and offsets for a FITS file

Description:

This is a server routine for FITSIN. It packages up the operations required to define the input data types, the scale factor and offset, the data-blank value, the number of bytes per data values. This includes the group count, number of parameters per group and their group scalings for a non-standard data array.

Invocation

CALL FTS1_DTYPE( DARRAY, NONSDA, BITPIX, SCARD, NCARD, HEADER, : MXPARM, NDIM, DIMS, BSCALE, BZERO, BLANK, BADPIX, : IEEE, GCOUNT, PCOUNT, PTYPE, PSCALE, PZERO, : STATUS )

Arguments

DARRAY = LOGICAL (Given)
If true there is a data array present if the FITS file.
NONSDA = LOGICAL (Given)
If true the data array is not standard, i.e. in group format. It is ignored if %DARRAY is false.
BITPIX = INTEGER (Given)
The value of the BITPIX keyword in the FITS header, i.e. the number of bits per data value. If it is negative this indicates an IEEE-format file.
SCARD = INTEGER (Given)
The number of the card from where the searches of the header will begin. This is needed because the headers make contain a dummy header prior to an extension.
NCARD = INTEGER (Given)
The number of card images in the header.
HEADER( NCARD ) = CHARACTER 80 (Given)
The FITS headers in 80-character records.
MXPARM = INTEGER (Given)
The maximum number of group parameters, and the dimension size for the various group arrays.
NDIM = INTEGER (Given and Returned)
Dimensionality of the data array. It may be modified if a) there is no data array, because a valid NDF must have a data array with physical dimensions (set to 1); or b) it is a non-standard array (i.e. groups) where the first dimension is zero, and so the dimensionality is reduced by one.
DIMS( DAT__MXDIM ) = INTEGER (Given and Returned)
The dimensions of the table. It may be modified if a) there is no data array, because a valid NDF must have a data array with physical dimensions (set to 2 in 1-d); or b) it is a non-standard array (i.e. groups) where the first dimension is zero, and so the dimension sizes are shifted down one dimension.
BSCALE = REAL (Returned)
The scale factor of the FITS integer data for their conversion to the true floating-point values.
BZERO = REAL (Returned)
The offset of the FITS integer data for their conversion to the true floating-point values.
BLANK = INTEGER (Returned)
The data-blank value equivalent to the bad-pixel flag. It should be ignored if %BADPIX is false.
BADPIX = LOGICAL (Returned)
If true the data-blank was defined in the FITS header.
IEEE = LOGICAL (Returned)
If true the FITS data are in IEEE floating-point format.
GCOUNT = INTEGER (Returned)
The number of groups in the FITS sub-file.
PCOUNT = INTEGER (Returned)
The number of group parameters in each group.
PTYPE( MXPARM ) = CHARACTER ( ) (Returned)
The type (descriptive name) of each group parameter.
PSCALE( MXPARM ) = DOUBLE PRECISION (Returned)
The scale factors of the group parameters so that the parameters may be converted to the true floating-point values.
PZERO( MXPARM ) = DOUBLE PRECISION (Returned)
The offsets of the group parameters so that the parameters may be converted to the true floating-point values.
STATUS = INTEGER (Given and Returned)
The global status.

Notes:

The non-standard case of a floating-point data-blank value (BLANK) is handled assuming it is the true blank value as opposed to the blank value in the FITS data. This is achieved by subtracting the offset and dividing by the scale factor and taking the nearest integer.