Documentation Example programs Utilities Top Ten Links Problems Feedback

Visualisation with Open Data Explorer

This is a (rather sparse) collection of resources for DX (Data Explorer), an open source program for interactive visualisation of three-dimensional data.

You can find much more information on other web sites, see the corresponding section below.

Data Explorer can be obtained from the OpenDX Download page.

Documentation

The OpenDX documentation is a bit voluminous for my taste. It is available in PostScript and HTML; a lot of information is also available through the `Help' menu in the main DX window (on Debian systems, you will need to install the package `dx-doc' in addition to `dx' for the online help to be available).

The documentation explicitly refers to a number of sample programs, which you can find (nicely packed together) on IBM's Download Page as `OpenDxSamples'. If you need the really latest version of a sample file (I doubt they are changing a lot, though), you can check it out from the DX CVS repository. You will definitively need these sample files if you want to profit from the documentation.

One problem is that there are far too many sample programs for beginners and it is difficult to get an overview over which ones are very fundamental and which are more advanced.

Basic examples for visualisation

For this reason, I have created a few, relatively simple, sample programs which nevertheless progress from very simple to really useful. You find them in the examples/ directory.

The data are velocity, density and magnetic field for a simulation of magnetic field generation by the screw dynamo in spiral Couette flow. All data are given on a three-dimensional grid. The spatial resolution is 24x24x30 points and was chosen rather low for the sake of finite download times.

To run the examples, you need to

  1. get the examples if you have not already done so:
    1. download the tarball
    2. unpack it with
      gunzip dx-intro.tgz
      tar xvf dx-intro.tar
  2. change to the directory dx-intro/examples
    cd dx-intro/examples
  3. start dx with the first example
    dx -edit simple1
  4. click Execute --> Execute Once to run it
Each example contains an annotation outlining the program structure and purpose.

simple1.net
The first example is discussed on a separate page. It plots a density isocontour.
simple2.net
Does the same thing as simple1.net, but in a slightly different manner.
simple3.net
Still draws a density isocontour, but adds a bounding box and allows the user to specify the contour level.
med1.net
Plots two partially transparent isosurfaces of magnetic field |B|.
med2.net
Like med1.net, but with additional arrows representing velocity.
fancy1.net
This one is supposed to show off, while still being understandable in structure. Different tasks are split into different `pages' to keep the program from becoming 2-dimensional Spaghetti code.

Utilities

So far, there is only one, but I think it is quite useful. dx_export.pro is an IDL subroutine that writes three-dimensional data in DX-readable form and at the same time generates a header file telling DX everything it needs to know about the data structure and layout. See `How to produce the header file' for an example of how to use it --- or just have a look at the documentation in the header of the file itself.

My top ten modules

...in approximate order of (arguable) importance.
  1. Import -- import data from a file
  2. Select -- select members of a group (e. g. individual variables or their components)
  3. Image -- render and display an image
  4. ShowBox -- produce lines representing the bounding box
  5. Isosurface -- produce isosurface
  6. Collect -- collect objects into a group (in particular to merge input channels)
  7. Compute -- perform point-wise arithmetic to one or several fields
  8. AutoGlyph -- produc glyphs (e. g. arrows for vector fields)
  9. Tube -- produce tube of finite diameter around lines (like fieldlines or the bounding box)
  10. Describe -- tell what data these are

My Second Top Ten Modules

  1. Switch -- a kind of if or select statement
  2. Interactors -- in particular Scalar and Selector
  3. Include -- excludes points based on data value
  4. Reduce -- reduce resolution
  5. Slab -- extract a Cartesian slab of data
  6. Streamline -- compute field lines
  7. Ribbon -- produce a ribbon around a line (with writhe for the curl of the vector field)
  8. Color, AutoColor -- color the input object
  9. Transmitter, Receiver -- wireless transfer of data between different pages (the only way to avoid 2-d spaghetti code)
  10. Statistics compute mean, standard deviation/variance, minimum and maximum of a field

Web resources

General information and tutorials

User-contributed modules

Add-ons and extensions

Known problems

This is not supposed to be a real troubleshooting page. I am just documenting one problem I encountered running DX on Debian: Whenever I tried to write and apply an annotation, DX crashed. Apparently, this was due to problems with the lesstif library (lesstif1_0.89) --- after upgrading to lesstif1_0.92, the problem was gone.

-----[an-owl-on-a-line]--------------------------------------------

Created 17-May-2001 by Wolfgang Dobler
Any comments are appreciated. Please send them to Wolfgang.Dobler@kis.uni-freiburg.de