next up previous
Next: Overview of the NDF_ Routines
Up: OVERVIEW
Previous: OVERVIEW

Overview of an NDF   

The simplest way of regarding an NDF is to view it as a collection of those items which might typically be required in an astronomical image or spectrum. The main part is an N-dimensional array of data (where N is 1 for a spectrum, 2 for an image, etc.), but this may also be accompanied by a number of other items which are conveniently categorised as follows:

Character components: TITLE -- NDF title
  LABEL -- Data label
  UNITS -- Data units
Array components: DATA -- Data pixel values
  VARIANCE -- Pixel variance estimates
  QUALITY -- Pixel quality values
Miscellaneous components: AXIS -- Coordinate axes
  WCS -- World coordinate systems
  HISTORY -- Processing history
Extensions: EXTENSION -- Provides extensibility

The names of these components are significant, since they are used by the NDF access routines to identify the component(s) to which certain operations should be applied.[*] The following describes the purpose and interpretation of each component in slightly more detail.

Character components:

TITLE
- This is a character string, whose value is intended for general use as a heading for such things as graphical output; e.g. `M51 in good seeing'.
LABEL
- This is a character string, whose value is intended to be used on the axis of graphs to describe the quantity in the NDF's data component; e.g. `Surface brightness'.

UNITS
- This is a character string, whose value describes the physical units of the quantity stored in the NDF's data component; e.g. `J/(m**2*Ang*s)'.

Array components:

DATA
- This is an N-dimensional array of pixel values representing the spectrum, image, etc. stored in the NDF. This is the only NDF component which must always be present. All the others are optional.
VARIANCE
- This is an array of the same shape and size as the data array, and represents the measurement errors or uncertainties associated with the individual data values. If present, these are always stored as variance estimates for each pixel.

QUALITY
- This is an array of the same shape and size as the data array, and holds a set of unsigned byte values. These are used to assign additional ``quality'' attributes to each pixel (for instance, whether it is part of the active area of a detector). Quality values may be used to influence the way in which the NDF's data and variance components are processed, both by general-purpose software and by specialised applications.

Miscellaneous components:

AXIS
- This component name represents a group of axis components which may be used to describe the shape and position of the NDF's pixels in a rectangular coordinate system. The physical units and a label for each axis of this coordinate system may also be stored. (Note that the ability to associate extensions with an NDF's axis coordinate system, although described in SGP/38, is not yet available via the NDF access routines described here.)
WCS
- This component may be used to hold information about any ``world coordinate systems'' associated with the NDF. These may include celestial coordinate systems, such as right ascension and declination (in various flavours), but may also represent other coordinates, including wavelength.[*] Multiple coordinate systems may be present.

The WCS component is a rather more complex entity than most other NDF components and a full description is currently beyond the scope of this document. It stores world coordinate information in a format defined by the AST library (see SUN/210) and known as a ``FrameSet''. You should consult SUN/210 for a full description of the facilities which a FrameSet provides. The NDF_ library simply provides routines for reading and writing this information (see NDF_GTWCS and NDF_PTWCS).

HISTORY
- This component may be used to keep a record of the processing history which the NDF undergoes. If present, this component should be updated by any applications which modify the data structure.

Extensions:

EXTENSIONs
are user-defined HDS structures associated with the NDF, and are used to give the data format flexibility by allowing it to be extended. Their formulation is not covered by the NDF definition, but a few simple routines are provided for accessing and manipulating named extensions, and for reading and writing the values of components stored within them.


next up previous
Next: Overview of the NDF_ Routines
Up: OVERVIEW
Previous: OVERVIEW


Starlink User Note 33
R.F. Warren-Smith
11th January 2000
E-mail:rfws@star.rl.ac.uk

Copyright © 2000 Council for the Central Laboratory of the Research Councils