Further Analysis of Visualization Packages

We compare the properties of four general purpose visualization packages, viz. Data Visualizer 3.0, IRIS Explorer 3.0, AVS 5.0, and DX 2.1. Updated versions of these packages are available on the SciVis Lab's high-performance graphical workstations.

One of the major differences is that Data Visualizer is a turnkey application whereas the others are application builders. Turnkey applications enable the user select operations and options by pushing buttons (`keys') only. Hence, it does not require a lot of knowledge to operate them. However, these applications do not allow the user to extend the set of available operations. Application builders, in contrast, do allow extension by user-written operations and they provide a much greater flexibility in the processing and visualizing the data. The user builds an `application' for the visualization of his data by connecting modules, each performing a specific action on the data. The connections between these modules represent the data flow between them. The user can choose from a large set of modules which is supplied by the vendors as a standard set. If it happens that one can not perform an action using these modules, one can write a module oneself or check at an international site if such a module is already written by other users. At these international sites user-written modules from all over the world are gathered and made available to other users. Such international sites exist for IRIS Explorer, AVS, and DX. If we write `standard support' in the remainder of this section we mean the support offered by the modules which are supplied by the vendors.

Prices are also different for the packages. Most packages are sold at commercial rates. However, DX can currently be bought at a reduced rate for use in scientific areas.

Data Visualizer and DX are available at workstations from almost all large workstation vendors, viz. IBM, Silicon Graphics, DEC, HP, and Sun (DX only). AVS is available on even more workstations and also on a number of supercomputers and massively parallel processor (MPP) machines. In contrast with these three packages, IRIS Explorer is only available on Silicon Graphics workstations and on CRAY supercomputers. A pleasant side effect of this platform dependency is the fact that the package has been optimized for the available graphical hardware.

AVS and DX include a hardware renderer which has been constructed for each type of platform in order to make efficient use of the available graphical hardware. Besides the hardware renderer they also have a software renderer which produces X-images. This makes it possible to run these packages on workstations without 3D graphics support and also to run them as a remote X-client. Data Visualizer does not make optimum use of available 3D graphical hardware. This becomes evident as soon as one wants to translate or rotate objects using the mouse. Whereas it is possible to translate and rotate objects instantaneously (i.e. without delay between mouse action and the display of the objects in their new positions) when using IRIS Explorer or AVS on a Silicon Graphics VGX workstation, this is not possible within Data Visualizer.

For a typical visualizations DX uses the most amount of memory and Data Visualizer the least amount, see appendix B. The difference is approximately a factor 2.

A major disadvantage of both IRIS Explorer and Data Visualizer is that one can not operate them as a remote X-client. As one has to work on the machine on which the package has been installed, this limits the use to one person at a time.

The distribution of the visualization work over machines in a network is well supported by AVS and IRIS Explorer. Due to the platform dependency IRIS Explorer is able to distribute its work over Silicon Graphics workstations and CRAY supercomputers only. However, since AVS is available on a wide variety of platforms, it can distribute its work in a heterogeneous network of workstations, supercomputers, and MPP machines. In both cases modules, being a natural unit of work, are distributed. DX and Data Visualizer do not support distributive processing. Data Visualizer only allows the data reader to be distributed.

Computational steering is supported by all three application builders in the sense that the simulation can be cast into a module and that module widgets, which are attached to important parameters of the simulation, can be set from within the user interface. Data Visualizer does not support computational steering.

All packages, except for IRIS Explorer, are supplied with an almost complete set of general 3D scalar and vector visualization techniques, viz. isosurfaces, cutting planes, orthogonal slicers, particle advection, streamlines, streaklines, textures, scalar and vector glyphs, and ray casting. IRIS Explorer does not have streamline, streakline, and a particle advection method. Furthermore, only the splatting technique, a volume rendering with lesser quality, is available. A serious inconvenience of AVS is the fact that the result of the ray tracing technique can not be displayed in the same image as the results of other techniques. Standard support for the visualization of molecular structures is only available in AVS and IRIS Explorer. Data Visualizer certainly can not be used for molecular visualization. In the case of DX one can obtain modules at the international DX site for visualizing these structures.

Since Data Visualizer can only act on 3D or 4D data sets, one is obliged to do lower dimensional data with another application (e.g. a simple plotting package) or add the necessary dimensions artificially. It is much more efficient to do this with only one package. The other packages provide 1D and 2D visualization, viz. graphs, histograms, contour lines, image display, etc. As investigation of lower dimensional data is normally done with plotting packages, which are turnkey applications, AVS offers also two stand-alone turnkey applications for these purposes. One application is a fully equiped plotting package, and the other one can be used to manage sets of images and perform a number of image processing operations. These two applications are also available as modules, so that their full functionality is also available within the `application' building environment.
Notwithstanding the obviousness for annotation from a scientist's point of view, it is not trivial at all in visualization packages. Only Data Visualizer and DX provide a complete set of annotation tools, viz. axis, bounding boxes, color legends, text labels (also dynamic). AVS does not provide a color legend tool, nor does it provide dynamic text labels. IRIS Explorer only provides a bounding box tool.

The lack of some important 3D visualization techniques as well as the lack of the most important annotation tools are serious drawbacks of IRIS Explorer.

Flipbook animation is supported by Data Visualizer, AVS, and DX only. In addition, Data Visualizer supports keyframe animation.

All packages are able to write and read data to and from disk using internal data file formats which correspond to the internal data structures. Since data coming from simulations or experiments generally have other formats due to a lack of a standard format for multi-dimensional data, support is supplied to cast the data into the internal data structures. AVS and IRIS Explorer provide the most user-friendly support. Both packages have an application with which you can specify, through a graphical user interface, how the data file looks like and how it should be cast into an internal data structure. Information from within the data file can be used to determine the layout of the data. In DX a data parser is available to cast data into the internal data structure. The data parser needs specifications of how the data is stored in the file to be able to cast the data into the internal data structure. In contrast to AVS and IRIS Explorer, no interactive application exists to help the user to write these specifications. Furthermore, it is not possible to use information from within the data file to determine some of the specifications needed by the parser. Data Visualizer provides the least help to read other data file formats. The user has to program the parser himself.

As some data formats are frequently used and encountered, some packages have relieved the user from writing them by supplying the necessary modules and data readers. For example, the netCDF file format is supported by Data Visualizer and DX (DX also supports HDF), while branch specific formats, like the PLOT3D format (computational fluid dynamics) and the Brookhaven protein data base PDB format (molecular chemistry) are supported by Data Visualizer, IRIS Explorer, and AVS.

As an indication that AVS is the trend setter and market leader in the visualization branch we can mention that Data Visualizer supplies a data reader for the AVS field file format and that IRIS Explorer version 2.0 will contain modules to read AVS field, UCD, and image file formats. The AVS field file format appears to become a kind of standard for multi-dimensional data.

Although a standard for image file formats exists nowadays, viz. CGM, it is not supported by any of the packages. However, since image format conversion tools are freely available, this does not pose difficulties as long as the packages produce at least one format that is recognized by the conversion application. This is true for the four packages we have compared. From a viewpoint of efficiency, however, it is convenient if some of the most used formats (in other applications) are supported. It is, therefore, inconvenient that IRIS Explorer does not support writing (color) PostScript images and that AVS and Data Visualizer do not support general image file formats like RGB and TIFF.

While using AVS and IRIS Explorer, we experienced that most of the modules we wrote ourselves were concerned with data manipulation. This was necessary as the standard sets of modules of those packages only contain some basic manipulation modules for cropping, sampling, and interpolating data. Although a module is available in AVS to perform some simple arithmetic on data values on a node by node basis, this could not solve all our problems. We also wanted to manipulate grids and this forced us to write modules. This is not necessary in DX. It provides, besides modules to crop, sample, and interpolate data, a module to perform arithmetical operations on data on a node by node basis. The difference with AVS is that this module has a much larger set of operations and that it is not restricted to act only on the data values. It can, in fact, perform its operations on every component of the data structure, viz. the node positions, node connections, etc. Another drawback of AVS as well as IRIS Explorer is the limitation of the manipulation techniques to Field and UCD structures in AVS and Lattice and Pyramid structures in IRIS Explorer. For example, the isosurface module outputs a geometry data structure in both packages. If one wants to extract some nodes of this geometry in order to use them as starting points in the streamline, streakline, or particle advection modules, one has to do that by writing a module. DX does not possess this disadvantage as only one kind of data structure is used to store all information. Another advantage of DX's data structure is its flexibility with respect to extension. New components are easily added and can be manipulated with the same ease as the other components. In AVS and IRIS Explorer user-defined data must be stored in special data structures. Manipulation of these structures is only possible by writing specific modules that perform these manipulations. Manipulations in Data Visualizer are restricted to arithmetical operations on a node by node basis.

Except for IRIS Explorer, the user interacts with the visualization package through a graphical user interface (GUI) or using a command language from within a shell. In IRIS Explorer there is only the graphical user interface for the interaction between package and user. Although the GUI's of the four packages display a lot of similarities in layout as well as interaction techniques, we prefer to use the GUI of AVS and Data Visualizer. Especially the possibilities to move, rotate, and scale objects as well as the camera manipulation techniques are easier to work with. A very nice property of AVS is the possibility to change the layout of the interface. This really enables one to make an application.

The fact that the SciVis Lab offers its clients many application builders and few turnkey application reflects the trend in the scientific visualization branch to change to application builders. This trend is mainly driven by the much greater flexibility and opportunities to extend the set of operations with user-written functions. Despite this trend people might still be interested in using turnkey applications like Data Visualizer. The time to get started with it is considerably shorter than with application builders, it has an excellent user interface, and it offers an almost complete set of 3D scalar and vector visualization techniques, annotation tools, and animation techniques. We, therefore, recommend it to be used in areas where flexibility has no priority at all and where the users do not have the time and the intention to make complex visualizations. If, however, flexibility and functional extension is of primary importance, we firmly recommend to use an application builder. Which one depends on the importance of the items we have described and discussed above.