CCT SciViz



Vish at CCT and LSU

Vish is a software enviroment for implementing visualization algorithms. It has been brought to CCT by its main author Dr. Werner Benger as prior invention based on eight years experience in writing software for scientific visualization. It is here adapted and expanded to the various diverse needs of the Scientific Visualization group in order to cover all aspects within the same environment with full availability of the source code.

Feature Overview and Application Domains

Scientific Data Analysis Arts and Virtual Worlds Education and Public Outreach Networking Technologies and Large Data
The primary domain of Vish is Scientific Visualization, though the environment has been designed in a most general way and can be adapted to other purposes as well.

Among other projects, we work together with application scientists such as the Department of Mechanical Engineering at LSU for new ways to visualize their simulations of a stir tank (e.g. Benger,W., Ritter,M., Acharya,S., Roy,S., Jijao,F.; Fiberbundle-based visualization of a Stir Tank Fluid).



We employ most generic concepts here such that all implementation efforts can be reused in another concept, such as numerical relativity or medical imaging. Central to this effort is a mathematically founded model - based on the theory of fiber bundles - on how to describe and visualize scientific data, see e.g. W. Benger 2008, Colliding galaxies, rotating neutron stars and merging black holes—visualizing high dimensional datasets on arbitrary meshes, New Journal of Physics, Vol 10

Special focus and active research aspect is the visualizion of tensor fields as high-dimensional data beyond vector fields. Tensor fields occur in many domains, from medical imaging, computational fluid dynamics to general relativity and beyond. They are usually not visualized because of their complexity and lack of appropiate methods. Based on prior experience and success, we intend to break those barrier and to advance methods to visualize provide insight into quantities that are usually not even looked at.


(book image cover depicts visualization of geodesics, i.e. particles in a rotating spacetime).

Special attention is given in the Vish rendering modules to not only display data fast, but also in a visually pleasing way.

We see Vish not just as a tool to analyse scientific data (as there are many others out there), but also as a bridge to cross the gap between the ivory tower of computational science and public interest. Prior experience has shown that not only functional, but also aesthetic visualization is important for communicating the needs of scientists. Our visualization algorithms build on this philosophy, which requires attention and special care beyond numbers and bits and bytes.

Beyond the purely scientific visualization components, Vish provides preliminiary support for character animations such as those used in Second Live. Further development in this direction is envisioned for collaborative work via networks and direct interaction of researchers and users with scientific data.

Vish also provides preliminiary support for OpenAL, envisioned for direct sonification of scientific data.

The usual workflow of creating movies in scientific visualization is to render an image sequence from 3D data and use some postprocessing and video editing tool such as Premiere, FinalCut, etc. However, the operations used in such tools have much in common to what is also required for setting up animation sequences from 3D data, such as camera paths, keying of visualization parameters etc. Moreover, image sequences can be seen as a special case of input data for scientific visualization as well. The transition between 3D rendering and video postprocessin is therefore actually smooth. We envision Vish to be developed into a direction such that it can also be used as video editing tool - with limited functionality, but enabling additional smooth blending and direct access to the original 3D/4D data stemming from the original data sources.

Vish consists of a minimal kernel which provides abstraction layers through which certain components interact with another efficiently, while also being shielded against each other.

Due to its highly modular design, Vish is ideally suited for involving students in doing complex tasks without exposing them to the full complexity of the problem. For instance, a newly initiated developer may focus on the very aspects of an algorithm to be developed, without worrying about aspects of a graphical user interface, or file formats.

Extensive developer's documentation of the Vish kernel classes and the Fiberbundle-based data model classes is available with programming tutorials provided by early users themselves.

At the same time, the Vish environment directly provides the functionalities required for public outreach, such as rendering movies in high quality (pixel resolution only limited by disk space), high dynamic range, multiple projections such as for VR environments (we preliminiary cooperate with the Baton Rouge planetarium to show some of our renderings there) or professional movie theaters (we cooperate with Imax film teams on providing renderings).

Moreover, Vish can be provided as a "click & go application", such as to install it under Windows like any other user-friendly application. We intend to expand this installer with a selection of datasets to showcase our work.

Vish has been designed from the ground up to be usable withing networking environments:

It provides an integrated webserver, that allows to remotely take snapshots of the current rendering. The integrated webserver also provides a web interface allowing interaction with the visualization program. Such interactions are visible to all connecting clients, including PDA's.

Besides providing web pages as a server, Vish can also be used as a client to receive 3D and 4D data sets via a socket connections from a data server, such as a running simulation code. In this scenario, data are streamed via the network and rendered locally in Vish, there full interaction with the dataset is possible. We employ HDF5 and its specifically developed streaming file driver here; alternative transport mechanisms are possible as well.

Vish can also be used as its own client. It provides a network server that allows to stream three-dimensional rendering information (pixels and depth), that can be used within a three-dimensional scene of another Vish client. This functionality allows smooth transitions between remotely and locally rendered data.

For entirely remote, possibly distributed rendering, Vish can be used as a library that is integrated into external applications, such as parallelized MPI applications. The same functionalities will be able immediatly, however without a graphical user interface that is otherwise provided by the GUI frontend.

Vish can handle large data such in the GB-range easily, and files with several hundreds of GB are used as part of daily development scenarios. While Vish cannot overcome limitations by hardware such as available memory and disk speed, it has been designed that opening large files can be done in a minimal amount of time and interactive explorative browsing of data such a 300GB feasible. New concepts such as the Visualization Cascade (paper accepted for publication) have been developed and implemented specifically for this purpose.


[Project Overview]

© 2005-2010 Center for Computation & Technology at Louisiana State University
Web Design by Amanda Long, Ana Buleu, Werner Benger