IBM DX (Data Explorer) is the data visualisation package recommended by Starlink, particularly for the visualisation of three-dimensional scalar and vector data. It is a powerful and flexible package capable of generating sophisticated visualisations of complex data. However, a necessary consequence of this complexity is that it is non-trivial to use and it is necessary to invest a certain amount of time to learn to use it effectively. This document is an aid to learning to use DX. It is not a user’s guide or a tutorial, but rather provides a set of ‘recipes’ for performing simple visualisations of the sort which you may require. You can either use the recipes ‘as is’ if they do exactly what you want, or (more likely) vary them slightly to meet your requirements. This edition of the cookbook applies to Version 3.1 of DX.
Like any technical subject, scientific visualisation has its own collection of specialised jargon and techniques. SG/8 An Introduction to Visualisation Software for Astronomy gives an overview and introduction to scientific visualisation relevant to astronomy. If you are already familiar with visualisation techniques you probably do not need to refer to it. However, if you are new to visualisation and are not sure which techniques may be suitable for your data, you might find it useful.
DX is essentially a tool which allows you to write programs or scripts which generate some particular visualisation of a dataset. Though it is possible to use pre-existing DX programs, most of the time you will use DX to create, modify and use your own programs. DX programs can be written using a text-based scripting language, which is not dissimilar to conventional programming and scripting languages. However, this scripting language is not the usual way to write DX programs, and it is not discussed in this document. Rather, DX programs are usually written using a ‘visual programming editor’. Icons representing modules to perform some function (for example, reading a file, smoothing an image, plotting an image etc.) are positioned on a canvas1 and joined by lines representing the flow of data between modules. The assemblage so generated performs the required visualisation (typically it will start by reading a data file and end by generating an image). These assemblages are known as ‘networks’ or ‘visual programs’. Part I of the cookbook contains several examples of these networks; see, for example, Figure 3. Though DX networks superficially resemble flow charts, it is important to realise that they are quite different. The lines in a DX network show the flow of data through the system, not the flow of control as the network executes2. Obviously, once you have created a network with the visual programing editor it can be saved to disk as a file and subsequently reloaded; it is not necessary to create a network ab initio each time you use DX. The recipes in this cookbook concentrate exclusively on using the visual programming editor to generate networks.
The structure of the cookbook is:
In order to use DX effectively it is useful to have some understanding of the data model which it uses. You should really read all of Part III (it is only a few pages), but at the very least you should read Section 16.
Starlink have provided a set of enhancements to DX, called SX. These enhancements fill a few minor omissions in the functionality of the basic DX and also package some common functions to make them easier to use. If DX is available at a Starlink site then usually the Starlink enhancements will also be available automatically. Where appropriate this cookbook refers to the enhancements as well as basic DX.
The use of DX on Starlink systems, and the Starlink enhancements, are documented in SUN/203 DX — IBM Data Explorer for Data Visualisation. There are also various manuals provided with DX (see Table 1 of SUN/203 for a list). In particular the QuickStart Guide gives a further set of tutorials for generating common visualisations.
1A blank area of a window used for constructing diagrams.
2If you are familiar with the Yourdon-de Marco Structured Systems Analysis technique, or other similar methods, you will recognise that DX networks are very similar to the data flow diagrams used in these techniques.