Next: Parallel Tree N-body Code: Data Distribution and DLB on the CRAY T3D
for Large Simulations
Up: Computational Astrophysics
Previous: Computational Astrophysics
Table of Contents -- Index -- PS reprint -- PDF reprint
R. M. Crutcher,1 R. L. Plante and P.
Rajlich
National Center for Supercomputing Applications (NCSA),
University of Illinois, Urbana, IL 61801, Email: crutcher@uiuc.edu
1Astronomy Department, University of Illinois, Urbana, IL 61801
Network software applications are becoming increasingly important in astronomy. In this paper we report on two such applications which we have developed. The first is a VRML (virtual reality modeling language) server application that makes it possible for users to create three-dimensional (3D) visualizations of astronomy image data sets which reside in the NCSA Astronomy Digital Image Library (ADIL) . The second is ADILBrowser, a part of the NCSA Horizon Image Data Browser Java package. ADILBrowser allows a group of participants to browse images from the ADIL within a collaborative session.
The VRML Server tool allows a user to interactively create 3D visualizations of astronomical images found in the ADIL. The visualizations are returned to the user as VRML files. To create the visualizations, you first tell the server which images you wish to visualize by providing their ADIL image codenames. The server then fetches the requested images from the Library archive. You then set up the visualization parameters by filling out an HTML form; when you submit the form, the VRML visualization is returned to you. The visualization can be altered by returning to the form and further editing the parameters.
To view the VRML visualizations you either need a Web browser that is VRML-capable (such as Netscape with a VRML plug-in attached) or a VRML viewer. In the latter case, interaction with the VRML server works best when your browser is configured to start up your VRML viewer as a helper application. For a free VRML viewer available on a wide variety of platforms, we recommend VRweb (supports VRML 1.0 only).
The VRML server consists of two components. The first is an executable that takes command line arguments and produces VRML output. The second component is a set of CGI scripts that provide the user interface through HTML forms.
The VRML Server executable, vrserver, takes input from the command line and generates VRML output. The vrserver is completely independent of the Web interface. Locally, the executable can be used directly. All of the information necessary can be specified with the command-line arguments. The vrserver itself is written in C++. It makes use of SGI's OpenInventor library and our own Sv library. The Sv library is an extension of the OpenInventor library that facilitates building visualization applications. Using the Sv library, the vrserver can generate isosurfaces, slices, contours, and surface (height field) displays. When the vrserver is run, it builds an internal representation of the desired visualization. It then goes through that internal representation and generates the corresponding VRML output.
The VRML Server interface appears to the user as an HTML forms page driven by a set of CGI (Common Gateway Interface, a standard for connecting server applications to the Web) scripts written in Perl. The CGI scripts generate HTML forms, process user inputs, manage a disk cache for storing the FITS and VRML files, and executes the vrserver executable.
The initial form in the interface allows the user to select which FITS files from ADIL will be used. In subsequent forms, these file names appear in pull-down menus, making it easier to select a datafile for a specific visualization. The initial form is also used to select whether the output will be VRML 1.0 or VRML 2.0. When this form is submitted the server first looks for the images in its local cache; if they are not found there, they are retrieved automatically from the ADIL.
After the initial form, the user is presented with a second form in which to provide the parameters of the visualization. Multiple datasets may be visualized in the same VRML file. For example, one might represent HCN data as an isosurface and H13CN data as a raster or contour slice. Initially, the parameters form has default values already filled in. The user may modify these or submit the form unchanged. The parameters form also gives the user access to digests of the FITS headers for the images requested (which include the minimum and maximum values of each image) as well as access to help documentation for the form. The VRML Server tutorial found on the VRML server Web page contains complete information about how to use the forms page to generate a variety of visualizations, combinations of visualizations, labels, etc. When the form is submitted, the vrserver executable is run with the appropriate arguments. The VRML that is generated is stored in a temporary file.
After the VRML is generated and stored in a file, the last form is generated. It tells the user the size of the VRML output. At this point, the user can choose to transmit the VRML or to go back and change some of the parameters. Sometimes, the VRML output may be too large for the user's VRML browser to handle. For most workstations currently in use, VRML files larger than 400 to 600 kilobytes are too big to manipulate smoothly and easily; thus one should try to choose visualization parameters that produce files smaller than this limit. If it is determined that this will be the case, then the user can go back and make modifications, such as increasing the rendering stride. When the user decides to transmit the VRML data, the contents of the temporary VRML file are sent across the Web to the user's local machine which will then start up its VRML browser or plugin with that VRML data.
Two Java packages under development at NCSA will make it possible for astronomers to interact with astronomical images in real time and in a truly collaborative way. The first package is NCSA Habanero , a collaborative environment that allows a group of participants located on different machines to interact with a single tool as a group. The second package is the NCSA Horizon Image Data Browser (Plante et al. 1997, 1998); this Java package includes a variety of platform-independent applications for browsing scientific images and includes readers for FITS, HDF, GIF, and JPEG formats. It is also a toolkit for creating new applications. The capabilities of these two packages are combined by running Horizon applications within the Habanero environment. Figure 1 shows an example of running a Horizon application, the ADILBrowser, within the Habanero environment. When a person starts a Habanero session, he or she gets a session management window (upper left) which can be used to contact collaborators by e-mail. Anyone that joins the session can start up various tools, copies of which will appear on the screens of all the participants. The window in the upper right corner of the figure shows the ADILBrowser, a Horizon applet for browsing images in the ADIL. When one of the participants clicks in the left image, a zoomed image appears on the right which all of the participants can see. The remaining windows are extra tools provided by Habanero, which include a chat window for discussion, and a white board for pasting images and scribbling. Habanero comes with a number of other tools, including audio chat, a collaborative text editor, and other more specialized applets from a variety of scientific disciplines.
This work is supported by the National Center for Supercomputing Applications, the National Science Foundation under grant NSF ASC 9217384, and the National Aeronautics and Space Administration under grant NASA NCC5-106.
Plante, R., Goscha, G., Crutcher, R., Plutchak, J., McGrath, R., Lu, X., & Folk, M. 1997, in Astronomical Data Analysis Software and Systems VI, ASP Conf. Ser., Vol. 125, eds. Gareth Hunt and H. E. Payne (San Francisco, ASP), 341.
Plante, R., Xie, W., Plutchak, J., McGrath, R., & Lu, X. 1998, this volume
Next: Parallel Tree N-body Code: Data Distribution and DLB on the CRAY T3D
for Large Simulations
Up: Computational Astrophysics
Previous: Computational Astrophysics
Table of Contents -- Index -- PS reprint -- PDF reprint