John Chamberlain |
Developer Diary |
Developer Diary · You Heard It Here First · 14 December 2003 |
Visualization Software Rundown |
At OPeNDAP.org one of the software categories that concerns us most is scientific visualization packages. To us they are client software because they pick up data served by OPeNDAP servers. Scientists use visualization packages to make graphical renderings of data. This allows them to see and analyze the data visually. Different packages have different strengths and weaknesses and also tend to have biases towards certain kinds of applications and uses. Below is a summary of all the major packages commonly used today.
Because most of the packages involve different products the main link for the summary is to the main product page and the company link listed second is to the company home page. AVS - Advanced Visual Systems, Waltham, Massachusetts, makes the AVS suite of products. Their main visualization product is "AVS/Express" ($3,000 - $25,000). AVS comes from a Unix background but nowadays has a Windows version as well that is a direct port. AVS is structured around its "V" command-line language which controls an internal object system. The visual interface(s) are in motif and are loosely coupled from the engine. A lot of key functionality like generating presentation graphics is stashed away in separate modules they call kits. To use AVS you create an "application" that usually contains several different components such as one to read the data, another to plot it, and another to render it. There is "network editor" that functions kind of like a crude Visio that allows you do this visually. You drag module blocks around the screen and draw arrows between them. There is also a library of templates for common needs. If you want to add your own programs to drive AVS you will need the $25,000+6k/seat developer version. AVS is not a system you would want to use casually. Most of their users want to do serious programming to drive highly-specialized visualizations and despite the glommed-on UIs that is the main strength of AVS. Ensight- Computational Engineering International (CEI), Apex, North Carolina, is a spinoff of Cray Research. Ensight's strength is three-dimensional renderings of particle flows. It is also frequently used for three-dimensional simulations like virtual car crashes. It is kind of like a Maya for engineers. It has special support for rendering isosurfaces and contours. It has a simple 2-D plotter. Ensight is interface-oriented and has better-integrated GUI controls than some other packages. Its Matlab-style variable definition language is not that great. It has readers for common scientific data formats like netCDF and HDF. FAST - NASA Ames Research Center, Moffett Field, CA. FAST is a software toolkit for computational fluid dynamics (CFD) rendering. You can do particle calculations and then image them. FAST is divided into discrete command modules which can be accessed by a simple GUI. FAST is free. IDL - Research Systems, Boulder, Colorado. IDL is a general purpose visualization package with command line roots. It has a somewhat better interface than AVS's but the GUI still operates like an afterthought so get ready to program if you want to use IDL. The big difference between using IDL and something like AVS is that in AVS you generally write your program in C or Fortan and only use "V" to do interfacing activities to the engine. In IDL there is more of an assumption that you will write everything in Interactive Data Language, although it does have support for externally written libraries of course. This is both a blessing and a curse. On one hand it is a sophisticated scripting language (some schools offer whole courses in IDL) and after 25 years of debugging it works well. The downside is now you are writing programs in a language designed in the 1970s that can only be used in one program--IDL. From a technical point of view IDL's great strength is its domain support for earth science and astronomy. IDL has many advanced support functions to do physical science calculations and data manipulations especially in the field of remote sensing. For this reason many astronomers, space scientists and earth scientists use IDL. Mathematica - Wolfram Research, Champaign, Illinois, was founded by mathematical prodigy Stephen Wolfram to market his unique brainchild, Mathematica. There are some imitators like Mathcad, but nothing really touches Mathematica when it comes to mathematical automation. Wolfram devised many complex algorithms to do symbolic mathematical tasks like integration and linear equations and kept them secret. Only by using Mathematica do people have access to these algorithms. Mathematica is not really structured to do observed data visualization, but you can load data sets in and plot them nevertheless. Its interface is refined and is well-integrated with the programming language which itself is easy to learn. Normal commercial Mathematica is $2000 but its easy to get the student version for $150. Matlab - The Mathworks, Natick, Massachusetts, is located right up the hill from where I live. They make Matlab which is kind of a cross between IDL, Ensight and Mathematica. Matlab's command language will remind you of IDL but it has rich three-dimensional rendering toolsets that seem more like a CFD application. Then you start looking at all the mathematical and engineering functions and it starts to look like Mathematica or even Labview. Matlab's greatest strength is in handling real-time engineering data like DSP streams and other hardware-generated live data. Matlab has a large set of libraries and third party components that can expand its capabilities enormously. For example, there are toolkits that model common microcontrollers which make it an invaluable tools for prototyping. The interface/command language is kind of sprawling, but that comes with the territory for such a versatile tool. Matlab licenses will set you back thousands. Maya - Alias, Toronto, CANADA. I wrote a little about Maya yesterday. Alias originally specialized in the mathematics of spline curves used in industrial graphical design. In 1995 SGI bought Alias and a similar company, Wavefront, and merged them. Wavefront was known for high-quality surface renderings for CAD/CAM data. Today their product Maya ($7000) is the gold standard in three-dimensional rendering. It has a scripting language called MEL and can be hooked for live data feeds. This allows for real-time rendering of scientific data. PV-Wave - Visual Numerics, San Ramon, California, was originally known for the IMSL library. This library lets programmers do numerical analysis tasks like interpolation and regression. The PV-Wave product family is a set of no-nonsense plotters. It is a lot simpler to use than some of the larger viz packages but costs just as much (around $8000). PV-Wave has a good GUI and you don't need to program it. For users that want to make static scientific plots and not do analysis or programming it is a logical high-end choice. Tecplot - Tecplot, Bellevue, WA, formerly Amtec Engineering makes a good vanilla commercial plotter. In many ways Tecplot is comparable to PV-Wave. The differences are that it is cheaper ($1600), it has no analysis whatsoever, it's interface is even easier (but data loading can be awkward and can require coding) and it has better 3D plotting. On this last point tecplot even outshines the big packages. For example, tecplot has orthographic perspective and other advanced features that are absent in most other packages. Also, its GUI-powered color control is superior and far easier to use than any other package (except the ODC :-) ). |
Developer Diary · info@johnchamberlain.com · bio · Revised 14 December 2003 · Pure Content |