4 Lower-level Facilities
4-1 ARY SUN/11.2
Access to Array Data Structures
The HDS-based ARRAY data structure is one of the building blocks from
which the Extensible N-Dimensional Data Format, or NDF (see SUN/33), is
constructed. The ARY library provides access to these structures and is used
extensively by the NDF access routines. ARRAY structures can also be useful in
their own right as a more sophisticated alternative to primitive HDS arrays for
storing data. They can be particularly valuable when used in NDF “extensions”
to extend the NDF definition by adding arrays of additional information.
4-2 HDS SUN/92.8
Hierarchical Data System SUN/224.2
HDS is the low-level data system upon which other important data structures,
such as the NDF (see SUN/33), are built. This document describes routines
for accessing these structures at the lowest level. Calls to HDS routines may
be intermixed with those to other higher-level data access routines, and are
also invaluable for creating and accessing data structures of your own design
(such as NDF extensions). All data structures created by HDS are portable
between the machines on which HDS is implemented. SUN/92 describes the
“stand-alone” version of HDS, while SUN/227 describes additional routines
which connect HDS to ADAM.
4-3 IDI Astron. Astrophys.
paper
Image Display Interface SUN/65.7
IDI is a standard for the display and manipulation of data on image displays
in astronomy. Unlike the other graphics packages, IDI is not based on GKS,
so calls to IDI cannot be intermixed with other graphics calls. However,
IDI has the advantage of providing facilities for interactive manipulation of
image displays (e.g. panning, zooming and blinking) which GKS lacks. The
definitive document on IDI is “An image display interface for astronomical image
processing” by Terrett et al. (1988), Astron. Astrophys. Suppl. Ser., 76, 263-304.
This paper describes the IDI routines in detail but without reference to a
specific implementation. SUN/65 describes the Starlink implementation of
IDI, which includes some additional routines to connect it with ADAM. The
Applications Graphics Interface AGI also contains special routines for ease of use
with IDI (see SUN/48).
4-4 GKS RAL GKS
Manual
Graphical Kernel System SUN/83.12
SUN/113.2
This is the low-level graphics system which underlies all the other ADAM
graphics libraries (except IDI) and which provides “device independence”,
allowing these libraries to access a large range of graphics devices. GKS is an
international standard, but its concepts are rather abstract and inconveniently
low-level for most simple graphical work. SGS (see SUN/85) provides a
simpler interface to GKS, but direct GKS calls are often useful and can,
with care, be intermixed with calls to other graphics routines. The primary
document on GKS is the “RAL GKS Manual”, available in the Miscellaneous
User Documents (MUD) series from Starlink site managers. In addition, SUN/83
gives details of the Starlink GKS release and hardware implementations, while
SUN/113 describes additional routines which connect GKS (and SGS) with
ADAM.
4-5 GRP SUN/150.3
Routines for Managing Groups of Objects
GRP provides facilities for managing groups of character strings which are
the “names” of objects such as data files, galaxies, or even sets of coordinates.
A typical use might be within a package of co-operating applications which
are to process multiple datasets specified by a list of file names. GRP allows
such applications to access these names very flexibly – by accepting explicitly
typed values, by reading them from a file (indirection) or by editing an existing
list (modification). It also supports the passing of groups of objects between
separate applications. GRP is a configurable low-level facility and it is expected
that higher-level interfaces specialised to particular types of object will be
provided in future.
4-6 GWM SUN/130.2
X Graphics Window Manager
GWM provides facilities for creating and controlling “persistent” graphics
windows in an X windows environment. The windows it creates are intended
for use as “virtual displays” for GKS- and IDI-based graphics; unlike other X
windows, they do not disappear when an application terminates, so the plot
remains visible and may be accessed by subsequent applications. GWM allows
control over graphics windows both from the command line and via a Fortran
programming interface, so that applications may create and destroy graphics
windows for use both by themselves and by other applications.
4-7 GNS SUN/57.7
Graphics Workstation Name Service
An important feature of ADAM graphics is its “device independence”, which
means that graphical applications can generally be used with a wide range of
graphics devices. GNS provides the services needed for managing the names
which refer to these devices. It allows a local database of easy-to-remember
names to be set up, and then provides applications with the information they
require about each named graphics device. GNS is used by all the high-level
graphics libraries, so direct calls to GNS routines will seldom be necessary.