NDFTRACE

Displays the attributes of an NDF data structure

Description:

This routine displays the attributes of an NDF  data structure including:
• its name;

• the values of its character components (title, label, and units);

• its shape (pixel bounds, dimension sizes, number of dimensions and total number of pixels);

• axis  co-ordinate information (axis labels, units and extents);

• optionally, axis array attributes (type and storage form) and the values of the axis normalisation flags;

• attributes of the main data array and any other array components present (including the type and storage form and an indication of whether ‘bad’  pixels may be present);

• attributes of the current co-ordinate Frame  in the WCS component (title, domain, and, optionally, axis labels and axis units, plus the system epoch and projection for sky co-ordinate Frames). In addition the bounding box of the NDF within the Frame is displayed.

• optionally, attributes of all other co-ordinate Frames in the WCS component.

• a list of any NDF extensions  present, together with their data types; and

• history  information (creation and last-updated dates, the update mode and the number of history records).

Most of this information is output to parameters.

ndftrace ndf

Parameters:

If the NDF being examined has an axis co-ordinate system defined, then by default only the label, units and extent of each axis will be displayed. However, if a TRUE value is given for this parameter, full details of the attributes of all the axis arrays will also be given. [FALSE]
If a FALSE value is given for this parameter then only the Title and Domain attributes are displayed for a co-ordinate Frame. Otherwise, a more complete description is given. [FALSE]
If a TRUE value is given for this parameter then all co-ordinate Frames in the WCS component of the NDF are displayed. Otherwise, only the current co-ordinate Frame is displayed. [FALSE]
The NDF data structure whose attributes are to be displayed.

Results Parameters

AEND( ) = _DOUBLE (Write)
The axis upper extents of the NDF. For non-monotonic axes, zero is used. See Parameter AMONO. This is not assigned if AXIS is FALSE.
AFORM( ) = LITERAL (Write)
The storage forms of the axis centres of the NDF. This is only written when FULLAXIS is TRUE and AXIS is TRUE.
ALABEL( ) = LITERAL (Write)
The axis labels of the NDF. This is not assigned if AXIS is FALSE.
AMONO( ) = _LOGICAL (Write)
These are TRUE when the axis centres are monotonic, and FALSE otherwise. This is not assigned if AXIS is FALSE.
ANORM( ) = _LOGICAL (Write)
The axis normalisation flags of the NDF. This is only written when FULLAXIS is TRUE and AXIS is TRUE.
ASTART( ) = _DOUBLE (Write)
The axis lower extents of the NDF. For non-monotonic axes, zero is used. See Parameter AMONO. This is not assigned if AXIS is FALSE.
ATYPE( ) = LITERAL (Write)
The data types of the axis centres of the NDF. This is only written when FULLAXIS is TRUE and AXIS is TRUE.
AUNITS( ) = LITERAL (Write)
The axis units of the NDF. This is not assigned if AXIS is FALSE.
AVARIANCE( ) = _LOGICAL (Write)
Whether or not there are axis variance arrays present in the NDF. This is only written when FULLAXIS is TRUE and AXIS is TRUE.
AXIS = _LOGICAL (Write)
Whether or not the NDF has an axis system.
If TRUE, the NDF’s data array may contain bad values.
The BADBITS mask. This is only valid when QUALITY is TRUE.
CURRENT = _INTEGER (Write)
The integer Frame index of the current co-ordinate Frame in the WCS component.
DIMS( ) = _INT64 (Write)
The dimensions of the NDF.
EXTNAME( ) = LITERAL (Write)
The names of the extensions in the NDF. It is only written when NEXTN is positive.
EXTTYPE( ) = LITERAL (Write)
The types of the extensions in the NDF. Their order corresponds to the names in EXTNAME. It is only written when NEXTN is positive.
FDIM( ) = _INTEGER (Write)
The numbers of axes in each co-ordinate Frame stored in the WCS component of the NDF. The elements in this parameter correspond to those in the FDOMAIN and FTITLE parameters. The number of elements in each of these parameters is given by NFRAME.
FDOMAIN( ) = LITERAL (Write)
The domain of each co-ordinate Frame stored in the WCS component of the NDF. The elements in this parameter correspond to those in the FDIM and FTITLE parameters. The number of elements in each of these parameters is given by NFRAME.
FLABEL( ) = LITERAL (Write)
The axis labels from the current WCS Frame  of the NDF.
FLBND( ) = _DOUBLE (Write)
The lower bounds of the bounding box enclosing the NDF in the current WCS Frame. The number of elements in this parameter is equal to the number of axes in the current WCS Frame (see FDIM). Celestial axis values will be in units of radians.
FORM = LITERAL (Write)
The storage form of the NDF’s data array. This will be "SIMPLE", "PRIMITIVE", or "SCALED".
FPIXSCALE( ) = LITERAL (Write)
The nominal WCS pixel scale for each axis in the current WCS Frame. For celestial axes, the value stored will be in arcseconds. For other axes, the value stored will be in the units given by the corresponding element of FUNIT.
FTITLE( ) = LITERAL (Write)
The title of each co-ordinate Frame stored in the WCS component of the NDF. The elements in this parameter correspond to those in the FDOMAIN and FDIM parameters. The number of elements in each of these parameters is given by NFRAME.
FUBND( ) = _DOUBLE (Write)
The upper bounds of the bounding box enclosing the NDF in the current WCS Frame. The number of elements in this parameter is equal to the number of axes in the current WCS Frame (see FDIM). Celestial axis values will be in units of radians.
FUNIT( ) = LITERAL (Write)
The axis units from the current WCS Frame of the NDF.
HISTORY = _LOGICAL (Write)
Whether or not the NDF contains HISTORY records.
LABEL = LITERAL (Write)
The label of the NDF.
LBOUND( ) = _INT64 (Write)
The lower bounds of the NDF.
NDIM = _INTEGER (Write)
The number of dimensions of the NDF.
NEXTN = _INTEGER (Write)
The number of extensions in the NDF.
NFRAME = _INTEGER (Write)
The number of WCS domains described by Parameters FDIM, FDOMAIN, and FTITLE. Set to zero if WCS is FALSE.
QUALITY = _LOGICAL (Write)
Whether or not the NDF contains a QUALITY array.
TITLE = LITERAL (Write)
The title of the NDF.
TYPE = LITERAL (Write)
The data type of the NDF’s data array.
UBOUND( ) = _INT64 (Write)
The upper bounds of the NDF.
UNITS = LITERAL (Write)
The units of the NDF.
VARIANCE = _LOGICAL (Write)
Whether or not the NDF contains a variance array.
WCS = _LOGICAL (Write)
Whether or not the NDF has any WCS co-ordinate Frames, over and above the default GRID, PIXEL and AXIS Frames.
WIDTH( ) = _LOGICAL (Write)
Whether or not there are axis width arrays present in the NDF. This is only written when FULLAXIS is TRUE and AXIS is TRUE.

Examples:

ndftrace mydata
Displays information about the attributes of the NDF structure called mydata.
ndftrace ndf=r106 fullaxis
Displays information about the NDF structure r106, including full details of any axis arrays present.
ndftrace mydata ndim=(mdim)
Passes the number of dimensions of the NDF called mydata into the ICL  variable mdim.

Notes:

• If the WCS component of the NDF is undefined, then an attempt is made to find WCS information from two other sources: first, an IRAS90 astrometry structure, and secondly, the FITS extension. If either of these sources yield usable WCS information, then it is displayed in the same way as the NDF WCS component. Other Kappa applications will use this WCS information as if it were stored in the WCS component.

• The reporting of NDF attributes is suppressed when the message filter environment variable MSG_FILTER is set to QUIET. It benefits procedures and scripts where only the output parameters are needed. The creation of output parameters is unaffected by MSG_FILTER.

Related Applications

KAPPA: FITSLIST, WCSFRAME; HDSTRACE.

Implementation Status:

Huge NDFs are supported.