Introduction to OpenDX

2.6 Instant Gratification
There's an implication in what I just said: OpenDX programs can be executed as soon as you have created at least a minimal working program: as you will see, such programs can be very small. There is no compile step required; in fact, OpenDX is a hybrid programming environment optimized for interactive visual programming and consequently, interactive feedback from the output image back to you, the programmer. This permits you to quickly begin exploring your data, then to further elaborate on the depiction as you proceed. This also provides another benefit: portability. Since DX programs are not compiled (they are actually plain text files), you can send a "net" to a colleague running DX on another platform, and it should run without any changes.

 

Optional: View this Technical Aside if you want more detail on this subject; the information is not required to understand the upcoming material.

OpenDX falls somewhere in between a typical end-user program in which all possible choices are listed on menus or in dialog boxes, and a full-blown programming language where you must describe everything you want done in some arcane syntax. End-user oriented programs circumscribe the features you may choose, but of course, some people want exactly that: show me what I can do and don't make me work too hard to get it. OpenDX is a programming language that has some choices on menus, but for the most part, you must construct a simple program to get even a simple image. There are many sample programs to borrow from, and by the end of this workshop, you'll be able to construct simple programs without too much effort…quot;or at least you'll know some of the capabilities of DX, so you can request someone else to build the program for you. This is just a heads-up in case you thought that OpenDX was a drawing, plotting, or paint program. In fact, there is no facility for drawing or painting, implying free-hand artwork, and the plotting features are rather limited by comparison to dedicated graphing programs. All the objects you will see are constructed from some type of data input; often this data is brought in from external files, though some data can be generated on the fly while using DX.

So what is it good for? Well, there aren't too many programs other than OpenDX that permit you to:

  • create 3D streamlines through a vector field;
  • elevate a 2D grid into the third dimension according to some data value associated with the grid cells;
  • derive and plot the isocontour lines of one data field that fall on the surface created by another data field;
  • color thousands of array cells according to a scheme based partly on the data distribution and partly on your interactive tuning of a colormap;
  • set up a simple flythrough of a data set;
  • visualize categorical (text) data;
  • perform many more operations you'll see later.

 

Examples
And to date, none of the competition is absolutely free to download, install, run, modify, improve, and share with your colleagues.