Data Structure


Data in GIPSY is stored in so called sets. A set consists of two components: an image component and a descriptor component. These components are stored in separate files, but in GIPSY they are always used together.

The image data is stored in a `crystalline' structure with a virtually unlimited (up to 20) number of dimensions. Image data is only referenced using coordinates on symbolic axes. File coordinates are hidden from the user.


Within a set subsets can be defined. A subset is a part of a set with a dimensionality not greater than the dimensionality of the set. The figure below shows the possible subset types in a three-dimensional set, a ``cube'':

Subsets should not be confused with frames. A frame is a part of a subset.

Descriptors (headers)

Associated with the image data there exists a hierarchical system of descriptor (or "header") items. A descriptor item is identified by the combination of its name and its position in the hierarchy. It can be associated with any of all possible subsets, ranging from the whole data set down to the pixel level. This approach makes it possible to eliminate redundancy by putting information on a sufficiently high level while still allowing exceptions by overriding this information at a lower level.

Most descriptor items have the same format and semantics as FITS header items. The descriptor system however is capable of storing a wide variety of data formats, including tables.

Every axis of a set has a name, a length in pixels and physical coordinate system associated with it (all specified in the descriptor). Elements of the data set can be identified using an N-dimensional grid coordinate.

A separate document describes how the user can specify subsets, coordinates, frames, etc.

Manipulating sets

Sets should normally only be manipulated by GIPSY software. Manipulating the files with Unix commands can give unpredictable results. Because of this, special GIPSY tasks to delete, rename and copy sets exist.

If it is really necessary to use Unix commands on descriptor and/or image files, one should make sure that there is no active GDS server process. This can normally be deduced from the absence of any files .gds_sockets* in the user's home directory. When the user did not have a GIPSY session active for some time (> 5 minutes), one can also assume that no GDS server is active.