AVS NETWORK NEWS VOLUME 1, ISSUE 3 Contents Cityscape Visualization of Telecommunications Network Performance Data Using AVS Module Submission Criteria New Khoros Modules for AVS A First Experience with AVS Obtaining Modules Using AVS at EPAUs Scientific Visualization Center AVS Tips and Tricks What Is AVS? Next-Generation User Interface AVS U93 Announcement In Touch with IAC avs@ncsc.org Email address for sending questions to the International AVS Center staff or articles for reprint in AVS Network News. avs93@ncsc.org Email address for AVS U93 information. avsemail@ncsc.org Email address for an automated reply containing information on the International AVS User Group, current AVS module catalog, README file on the International AVS Center, and use of standard email to obtain modules. avsorder@ncsc.org Email address for ordering AVS module source code. listserv@avsusers.ncsc.org Email address for sending any message, with HELP as the message body, for an automated reply detailing the International AVS CenterUs various mailing lists and subscription procedures. avs.ncsc.org Anonymous ftp site address of the International AVS Center. comp.graphics.avs Newsgroup of AVS usersU daily postings, also available by using listserv. WHAT_IS_GOPHER WHAT_IS_WAIS Files on the International AVS CenterUs ftp site (in the avs_readme subdirectory) for information on other tools for accessing the ftp site. AVS Network News The International AVS Center serves as a catalyst for expanding the AVS user base and for increasing AVS functionality by fostering discipline-specific module development and new AVS uses. Located at the North Carolina Supercomputing Center, the worldwide clearinghouse collects, ports, and distributes user-contributed, public-domain modules and acts as liaison between users and vendors. AVS Network News is the CenterUs quarterly magazine serving users and vendors with updates on AVS programs and their use, usersU color images and editorial viewpoints, and product information postings from vendors and independent software developers. For an annual subscription, send a $12 check or money order ($22 if outside the United States), payable to the International AVS Center, to Post Office Box 12889, 3021 Cornwallis Road, Research Triangle Park, NC 27709-2889. David Bennett, AVS Project Leader, avs@ncsc.org Terry Myerson, AVS Specialist, avs@ncsc.org Steve Thorpe, AVS Specialist, avs@ncsc.org Dianne Reid, Administration Assistant, dianne@ncsc.org Joel Page, Contributing Editor, page@mcnc.org Fran Wise, Design and Layout Specialist, wise@mcnc.org For more information, contact International AVS Center Post Office Box 12889 3021 Cornwallis Road Research Triangle Park, NC 27709-2889 Telephone 919-248-1100 Fax 919-248-1101 Cityscape Visualization of Telecommunications Network Performance Data Using AVS Ian Curington, Advanced Visual Systems Inc. Graham Walker and Steven Whalley, BT Laboratories Abstract In this article, we discuss the potential benefits of data visualization in the planning and performance assessment of advanced telecommunications networks. A 3-D cityscape is implemented using AVS, and two example applications are presented -- error rate monitoring in digital transmission systems and presentation of network quality-of-service data. Introduction The value of visualization techniques for the exploration, analysis, and presentation of large datasets is well established in many diverse disciplines ranging from computational fluid dynamics to molecular chemistry and archaeology. Although widely used at BT Laboratories to support research and development work in the physical sciences, few applications have been reported with direct relevance to telecommunications, despite a relative abundance of data in a business that primarily is concerned with the transfer of information. In this study, we use AVS to demonstrate the potential for visualization to contribute to improved management of future telecommunications networks. The design and management of telecommunications networks is an area in which the quantity of data on which decisions must be based can be almost overwhelming. On the one hand, more detailed and sophisticated network models are being developed to assist with the planning of future networks, while, at the same time, more complex transmission and switching equipment provides greater freedom and flexibility in current network reconfiguration and an ever-increasing volume of raw data on the performance of individual links and nodes. Optimizing overall network performance requires efficient use of data from all these sources, with a fluid interchange of information and ideas between traditionally distinct areas such as network planning and day-to-day management. It seems likely that visualization can contribute to the efficient extraction and exchange of information, and we suggest the cityscape as a potentially valuable technique [1]. The Cityscape Module In the cityscape visualization, scalar values in a 2-D field are represented as blocks or buildings on a uniform grid (Figure 1). The height of each block is proportional to the value of the field element represented, forming a 3-D bar chart. In both of our examples, the color of the blocks is scaled to their height, but, depending on the application, it is suggested that color could be linked to a different property of the field. Two additional features of the cityscape demonstrate the ability of an effective visualization to reveal trends and patterns and to highlight the important features of a large dataset. First, the end-wall charts present the minimum, average, and maximum values projected through the cityscape. Second, the semitransparent threshold directs attention to the values that exceed a preset target. The version of the city_scape module that is available from the International AVS Center includes controls to scale the height of the blocks and to set the separation between the cityscape and the end- wall projections, the width of the blocks, the level of the semitransparent threshold, and the tick scale. Interaction is a critical aspect of any visualization, and an additional parameter that is often useful to adjust is the transparency of the threshold sheet. Increased transparency can reveal possible patterns in the complexity of the hidden data. In the following sections, we describe two potential telecommunications applications of the cityscape visualization technique. Transmission System Performance Data Modern digital transmission systems can provide megabytes of performance data in just a single day, and network managers must monitor this data for system degradations and failures. In a typical application, there might be a target error-rate performance for the system (for example, fewer than one error in every 10 bits transmitted), and remedial action must be taken if the system performance is worse than this threshold level. The use of a cityscape visualization for performance monitoring of digital transmission systems was proposed by Hill and Hollan of Bellcore [1], and Figure 1 shows a possible implementation using AVS. The input data is a uniform 2-D field of error-rate data measured every day over a two-week period for a number of different transmission systems (A through L). Attention is drawn immediately to the threshold-breaking events, but potentially significant patterns or structures in the subthreshold activity are still visible. Quality-of-Service Statistics Figure 2 shows the cityscape visualization used to present network quality-of-service statistics, a critically important set of figures providing a high-level perspective of network performance. These statistics must be monitored closely against performance targets. The visualization in Figure 2 presents the statistics for call failure percentages, broken down into 10 geographical zones (A through J) for each month of the year. (As with the example of digital transmission system error rates, the data is not actual network data but rather is representative of a typical modern telecommunications network.) Also shown in this figure is the simplified interface that is presented to the user to hide the underlying complexity of the AVS Network Editor. This second example includes several additions to the basic cityscape. These additions extend and enhance the visualization. % The threshold sheet is no longer a simple plane but rather a staircase demanding improved network performance in successive quarters. % Upstream data feedback allows the user to select an individual block in the cityscape and obtain exact quantitative information. A simple extension could present an entirely new dataset, allowing the user to explore a hierarchical data structure. % The user can select data for national, local, or won exchange calls and also can select from the last six years of data. % To assist with finding patterns or trends, an animation facility is provided to play back a sequence of cityscape frames. Although user interaction is essential to appreciate fully the benefits of the visualization, some of the features of the data are immediately apparent even from the static image in Figure 2. For example, the end-wall average across the zones shows a steady downward trend across the year, with a mean consistently below the target value. From the end-wall average across the year, it can be seen that performance is broadly similar in all zones, with the exception of zone J, where the figures are markedly worse but show an improvement over the year. Conclusions On the basis of these trial visualizations, we conclude that the cityscape is a potentially valuable technique for the presentation of telecommunications network performance statistics. Extensions such as the staircase threshold sheet and upstream data feedback significantly can enhance the value of the visualization for specific applications. AVS proved to be an excellent platform for implementing the cityscape, although the initial writing of the city_scape module benefited from considerable AVS programming expertise. The ability subsequently to customize the module for specific applications is critically important, enabling the final visualization to exploit fully the characteristics of the data. Finally, it should be noted that the visualizations described in this article are only examples and are intended to illustrate what might be possible. Investigation into the use of such techniques in a real job function is ongoing, and results from such trials will be essential in confirming the potential benefits of data visualization in the planning and management of telecommunications networks. Reference 1W.C. Hill and J.D. Hollan, "Deixis and the Future of Visualization Excellence," Proc. Visualization U91, IEEE Computer Science Society Press, pp. 314-320, San Diego, 1991. Module Submission Criteria We encourage modules of all types. We are not looking for perfect productizable code but rather code that is used everyday and would be useful to users. Several users have indicated that their code was not good enough or would not be useful to the AVS user community. This is not true. We have many different levels of users -- from the total novice to the experienced professional -- and code is needed for all levels. All we require is source code, a Makefile, and either a readme file or man page. Data, networks, etc. are strictly optional. Source file and Makefile -- Source code and Makefile must accompany all modules submitted. We encourage extensive commenting and ask that port-specific lines be so commented. Module description -- A detailed description of the module must be included with its submission. This may be in the form of a man page or ASCII text format (as in a README file). Module description is one of the most important criteria for submission. Please note if multiple modules are in one source code file. The International AVS Center staff will rewrite the documentation as necessary. Data -- If your module uses a nonstandard data format, you must include an example (not necessarily real) of that data. Explanations of how to read the data should be placed in the required manual or README file. Miscellaneous -- You are requested to provide sample network and scripts when appropriate. To submit modules, ftp to avs.ncsc.org and cd to the SUBMIT directory. You will be prompted in how to create a directory. The directory itself will be invisible so that others may not inadvertently copy over your files. When you are in your directory, use standard ftp protocol to submit your modules and associated files. Information on using ftp for basic submission and retrieval can be obtained by sending a request to avs@ncsc.org. You also can submit modules and associated files by email to avs@ncsc.org and by tape (tape will be returned if requested) to the International AVS Center, Post Office Box 12889, 3021 Cornwallis Road, Research Triangle Park, NC 27709-2889. New Khoros Modules for AVS Terry Myerson and Dianne Reid, International AVS Center An exciting new development for AVS is currently under way at the International AVS Center (IAC). On October 1, 1992, a complete collection of 229 Khoros-derived AVS modules was placed on the IAC ftp site. As time goes by, this port will nicely complement an ever expanding visualization package that continues to create new opportunities. Khoros, like AVS, is a dataflow-oriented application. Prior to this port, Khoros and AVS concentrated on two mutually exclusive areas. Khoros focused on 1-D digital signal processing (DSP) and 2-D image processing (IP), while AVS focused on 3-D volume visualization. In the near future, the Khoros group at the University of New Mexico will release Khoros Version 2.0, which will support volume visualization. With the AVS port of 229 Khoros DSP and IP routines, AVS now can support the 1-D and 2-D realms quite well. For this AVS port, the code of Khoros Version 1.0 Patch 5 was used, so, in most respects, the algorithm code in the new AVS modules is well debugged. However, for the immediate short term, these modules still are considered alpha stage. This simply means that the quality of these modules is not yet guaranteed to be 100 percent, but, in order to refine the code, we actively are testing these modules at various sites around the country. The IACUs goal is to have each and every module tested thoroughly by January 1, 1993. If a module you are using exhibits erratic behavior, a trivial coding error in the wrapper around the Khoros algorithm is likely. Please let the IAC know if a problem like this is encountered so that it can be rectified quickly. The 229 Khoros-derived modules have been divided into 34 categories (See table.). Each of these categories compiles to form one binary executable that contains several AVS modules (i.e., the arith_unary executable actually contains 10 modules including vabs, vclip, vconj, etc.). On a technical coding note, a Khoros library routine exists for each module. The source code to the wrapper around this library routine is in the conglomerate AVS wrapper file. For example, the module vabs has the library routine lvabs. The source code to the vabs wrapper is in the conglomerate AVS wrapper file, arith_unary.c. The source code to the Khoros algorithm, or library routine, would be in the file lvabs.c. The motivation for conglomerating multiple source codes into one file was to limit the disk space requirement for the complete Khoros module suite. Separately, the complete suite might have occupied more than 400 Mb for just the compiled binaries. The Khoros algorithms make reference to functions in the Khoros libraries. Thus, before the AVS-Khoros modules can be compiled for a given platform, these libraries must be ported. Currently, we have only libraries for the DEC and Sun platforms. However, please feel free to port these libraries to your own platforms. The Khoros source code is available from pprg.eece.unm.edu. Likewise, the Khoros includes files that also need to be installed on a host system before the new AVS-Khoros modules will compile. Some platformUs compilers are not ANSI C compatible, as is the case on the Sun. In these instances, the gcc compiler must be used. If the gcc compiler is not installed on your platform, it is available through anonymous ftp to prep.ai.mit.edu. This should be an exciting new development for AVS, as all those familiar with the capabilities of Khoros will know. The extensive image processing and digital signal processing implements available with Khoros should prove to be valuable tools for AVS. The new AVS-Khoros modules are available through anonymous ftp to the IAC in the ~ftp/avs_modules/khoros directory. This port was accomplished through the efforts of IACUs Shawn Mehan, Terry Myerson, and Steve Thorpe and William Ivey of the North Carolina Supercomputing Center. The current testing evaluation period for these modules is being coordinated by IACUs Dianne Reid and Mehan. The beta testers, to whom we are most grateful, are Ion Barosan of Eindhoven University of Technology, Dr. Loren Buhle Jr. of the University of Pennsylvania School of Medicine, Peter Highnam of Schlumberger Laboratory for Computer Science, Charles J. Williams III of the Naval Research Laboratory, and Wei Wu of the Biology Computational Center at the California Institute of Technology. Digital Signal Processing Library 1-D Frequency Domain Filters (filter_1Dfreq) dfiltbp Bandpass filter-design function. dfiltbs Bandstop filter-design program. dfilthp High-pass filter-design function. dfiltlp Low-pass IIR filter-design function. dzresp Calculates magnitude, power, or phase response of a discrete system. 1-D Time Domain Filters (filter_1Dtime) dfilconv Converts 1-D filter coefficient from transversal to lattice realization. dfilter Filters time-domain signals. dllatt Generates an error, a signal estimate, and a PARCOR sequence. dlsynth Synthesizes an output sequence. dltapp Generates an error, a signal estimate, and a weight sequence. dmlatt Generates an error, a signal estimate, and a PARCOR sequence. dmtapp Generates an error, a signal estimate, and a weight sequence. File Information (info) dpeakpick Finds peaks or troughs in 1-D data vectors. dstats Computes 1-D statistics of an input field. varviff Takes a field as input and extracts a single data value. vfileinfo Prints out the header information that describes input field. vprdata Prints field to the screen or to a file in ASCII format. vstats Performs statistical calculations. Create Signals (1-D) (input_create1D) dgexpon Creates 1-D exponential distributed noise dataset. dggauss Creates a 1-D Gaussian noise dataset. dgpoiss Creates a 1-D Poisson distributed noise dataset. dgpwl Creates a 1-D set of signals. dgrleigh Creates a 1-D Rayleigh distributed noise dataset. dgsin Creates a 1-D ensemble of signals. dgsinc Creates a 1-D ensemble of signals. dgunif Creates a 1-D uniform noise dataset. dgwindow Creates 1-D data sequence based on user-selected window function. Linear Operations (linearop1D) dacorr Generates biased, unbiased, or FFT-based autocorrelation estimate. dconvo Generates time domain or FFT-based circular convolution estimate. dxcorr Generates biased, unbiased, or FFT-based crosscorrelation estimate. Signal/Sequence Modification (modify_seq1D) dcpad Performs a constant value padding of a 1-D data sequence. dextract Extracts 1-D subsignals from the input data file. dinsert Inserts 1-D vectors from input file (img2) into vectors in img1. dmirror Generates a mirror data file. dnormal Normalizes the magnitude of the input data. dscale Rescales data for processing, thus minimizing roundoff errors. dshift Shifts or rotates the 1-D signals in the field. dsubsamp Subsamples 1-D vector(s) from the field. dwindow Multiplies user-selected 1-D data sequence by window function. Spectral Estimation (spectest1D) darpsd Determines the 1-D autoregressive PSD and phase spectral estimate. dminorm Implements the minimum norm for spectral estimation. dmusic Implements the music for spectral estimation. Transforms (1-D) (transform1D) dfft1d Performs 1-D Fourier Transform on a set of data sequences. dfht Performs 1-D Fast Hadamard Transform on a signal. dhart1d Performs 1-D Forward Hartley Transform of a sequence. difft1d Performs 1-D Inverse Fourier Transform on set of data sequences. dihart1d Performs 1-D Inverse Hartley Transform of a data sequence. dmpp Determines magnitude, power, or phase of each 1-D data point. Remote GIS Surface Calculation and Modification (surface) vcost Computes surface arc length from one pixel to every other pixel. vdetilt Computes best-fit plane for image, then subtracts it from image. vgettilt Computes least-squares best-fit plane for an image. vslope Computes slope and aspect images from input elevation data. vsurf Takes surface image and produces two output images. vtilt Adds specified plane to an image to correct for a tilt-in luminance. Multiband Conversion (vector) vmapdlg Converts from actual geographical attributes to rgb of displayable color. Warp Images (warp) vbilinco Computes the coefficients for the two bilinear equations. vexpwarp Alters the spatial properties of an image. vpolyco Computes a set of bipolynomial coefficients. vwarp Alters the spatial properties of an image. File Formats No File Formats (no_format) asc2AVS Transforms ASCII data into a field. raw2AVS Transforms raw data into a field. AVS2raw Writes only the raw image data present onto descriptor output_fd. Standard File Formats (remote_gis) big2AVS Converts a large image file into a field. dem2AVS Converts digital elevation map data (USGS format) to a field. dlg2AVS Converts an optional format digital line graph file to a field. elas2AVS Converts an ELAS image file format into a field. elasinfo Reads and prints an ELAS image file format header. AVS2big Converts a large image file into a field. vll2utm Converts geographical to universal transverse mercator coordinate. Standard File Formats (standard) fits2AVS Converts a FITS image into a field. mat2AVS Reads single matrix from file specified and places it in image. pbm2AVS Converts a PBM image into a field. rast2AVS Converts a SUN raster image into a field. tga2AVS Converts a TGA image into a field. tiff2AVS Converts a TIFF image into a field. AVS2fits Converts a field into a FITS field format. AVS2mat Outputs a matrix in desired format. AVS2pbm Converts a field into a PBM image. AVS2rast Converts a field into a SUN raster image. AVS2tiff Converts a field into a TIFF image. AVS2xbm Converts a field into an x11 bitmap format. xbm2AVS Converts an x11 bitmap file into a field. Numerical Analysis Matrix Manipulation (matrix_algebra) mcovar Computes maximum likelihood estimate of the covariance matrix. meigen Computes eigenvectors and eigenvalues of a real or complex square matrix. minfo Obtains information about a matrix. minvert Computes the inverse of a real or complex matrix. mlde Solves a system of constant coefficient linear ordinary differential equations. mlse Solves a system of linear silseaneous equations. mlud Computes the LU decomposition of a matrix. mmult Multiplies two matrices. msvd Computes the singular-value decomposition of a matrix. mtrans Transposes the matrices contained in the input image. Image Processing Library Binary Arithmetic Operations (arith_binary) vabsdiff Computes the absolute difference between two images. vadd Adds two images, pixel by pixel. vblend Forms composite image by adding X*(img1 data) to (1-X)*(img2 data). vdiv Divides two images, pixel by pixel. vmul Multiplies two images, pixel by pixel. vsub Subtracts two images (img1 = img1 - img2), pixel by pixel. Logical Operations (arith_logical) vand Logically AND two images, pixel by pixel. vlshift Shifts the pixel data in an image left s bit positions. vor Performs a logical OR between two images. vreplace Replaces pixels of first image with pixels of second image. vrshift Shifts the pixel data in an image right s bit positions. vxor Exclusively OR two images, pixel by pixel. Unary Arithmetic Operations (arith_unary) vabs Computes absolute value of an image. vclip Limits range of values that gray levels may occupy. vconj Computes the complex conjugate of the input image. vexp Computes the base 10 antilogarithm of an image, pixel by pixel. vfloor Clips the lower levels of the input image to the specified value. vinvert Inverts the gray levels of a byte type image. vlog Compliments image by subtracting pixel values from a constant level. vnormal Normalizes an image. vnot Compliments an image by subtracting pixel values from a constant level. voffset Adds a specified offset to each pixel in the input image. vscale Multiplies an image by a constant. vsqrt Computes the square root of an image, pixel by pixel. vsubstit Computes the erosion of a binary image by a structuring element. Classification/Clustering Algorithms (classify) lrfclass Classifies an image using the Localized Receptive Field (LRF). lrftrain Trains on an image for the weights used with the LRF. viso2 Converts an image into vectors and performs iso2 clustering. vkmeans Converts an image into vectors and performs kmeans clustering. vlabel Performs a labeling in a multiband image or a cluster image. vmindis A simple minimum-distance classifier. vqerr Computes RMS quantization error with two images. vquant Performs N-dimensional vector quantization. vwmdd A weighted minimum distance detector. Color Transformations (convert_color) vcltrans Specifies the linear transformation matrices. vcluv Converts to cieucs Luv color spaces. vcmtrans Performs linear color space conversions with a 3x3 matrix. vcrgbhls Converts from RGB to HLS and vice versa. vcrgbhsv Converts from RGB to HSV and vice versa. vgamut Takes a three-band image and generates a pseudocolor image. Data Format Conversion (convert_data) band2vect Reformats data stored in a band type image format. bandcomb Combines all bands from m images into one image. bandspt1 Takes band from multiband image and creates image with only that band. bandspt3 Extracts three data bands from a multiband image. vctor Performs simple mappings of complex data to real form. vect2band Rearranges the data stored in vector format to band format. vect2row Reformats data so that each vector is represented as a row. vmos2band Converts mosaic image into image where subimage makes up a band. vrect2pol Converts data file from rectangular to polar coordinate and vice versa. vrtoc Converts real data to complex data. Feature Extraction (feature) vfractal Performs a fractal feature extraction of an image. vpml Estimates the fractal dimension of an image. vpolygon Creates a vector image resulting from a linear approximation. vrmatch Analyzes two input images that are supposed to be similar. vshape Performs a shape analysis on two different types of images. vspatial Performs a spatial feature extraction on an image. vstereo Analyzes image produced by vrmatch and produces image. vtexture Extracts texture features from an image. 2-D Frequency Domain Filters (filter_2Dfreq) vblse Performs band-limited surface extrapolation or apodization. vbpf Performs a band-pass filtering operation. vbrf Performs a band-reject filtering operation. vhpf Performs a high-pass filtering operation on an image. vinverse Restores images in the spatial domain by inverse filtering. vlpf Performs a low-pass filtering operation on an image. vsvpsf Performs restoration of space-varying blurs. vwiener Restores images in the spatial domain by wiener filtering. 2-D Spatial Domain Filters (filter_2Dspatl) vconvolve Computes 2-D spatial convolution of two images. vdiff Performs image differentiation by running 2 NxN weighted operation. vdrf Optimal filter for edge detection. vgef First derivative operator for symmetric exponential filter. vgrad Differentiates an image to perform image sharpening. vhmed Computes a 2-D median filter. vqmed Computes a 2-D median filter. vsdef Second derivative operator for symmetric exponential filter. vspeckle Reduces the speckle index of an image. Morphological Operations (filter_morph) vm180 Computes a 180-degree rotation of a morphological kernel. vmcdilate Computes the dilation of a binary image by a structuring element. vmclose Computes the closing of an image by a structuring element B. vmcustom Creates a new morphological kernel via keyboard entry. vmdilate Computes the dilation of a binary image by a structuring element. vmerode Computes the erosion of a binary image by a structuring element. vmopen Computes the opening of an image by a structuring element B. vmoredge Computes an edge extraction in an xvimage structure. vmskel Dilates a binary image region by a single pixel. Geometric Manipulations (geomanip) vexpand Expands the size of the image pointed. vflip Performs reflection or "flip" operations on an image. vresize Magnifies or reduces an image by using bilinear interpolation. vrotate Rotates an image by a specified angle from a specified point. vshrink Decreases the size of an image. vtranslat Computes the translation of an xvimage structure by vector (i,j). vtranspos Computes the transpose of the rows and columns in an image. Histogram (histogram) enhpatch Equalizes or stretches image contrast. venhance Creates a new image g(x,y) from input image f(x,y). vheq Performs histogram equalization. vhisto Computes the histogram of a gray-level image. vhsee Outputs a histogram in a VIFF format in displayable form. vhstr Performs a histogram stretch of the gray levels. vhxray Enhances an image by using histogram stretch or equalization. File Information (info) dpeakpick Finds peaks or troughs in 1-D data vectors. dstats Computes 1-D statistics of an input field. varviff Takes a field as input and extracts a single data value. vfileinfo Prints out the header information that describes input field. vprdata Prints a field to the screen or to a file in ASCII format. vstats Performs statistical calculations. Create Images (2-D) (input_create2D) vcustom Creates a custom kernel file in the VIFF format. vgauss Generates an image that contains one or more Gaussian distributions. vgbox Fills buffer with gray-level representation of a parallelogram on a CCD sensor. vgcirc Creates an image of a filled circle. vgconst Creates an image of dimension rows*columns*bands. vgfractal Creates a fractal image with a desired fractal dimension. vggauss Creates a 2-D multiband Gaussian (noise) image. vgpwl Creates a 2-D piecewise linear image. vgshot Corrupts an image uniformly with spikes. vgsin Creates a 2-D image of dimension rows*columns. vimpulse Creates an image containing one or more unit impulses. vmarr Creates a convolution filter kernel. Dither (output_dither) vdith45 Performs 8x8 ordered block dither with major axes on 45-degree angles. vdither Performs 5x5 ordered dithers. verrdif Performs dithering operation using four-direction error diffusion. Print Image Hardcopy (output_print) vlpr Formats a byte image for output on a standard line printer. vpostscr Formats a byte image for output on a Postscript laser printer. Segmentation (segment) v1bgamut Generates a one-band image with map of displayable color levels. vclose Tries to close the boundaries. vdistance Computes the distance from the nearest boundary point. vdyth Performs dynamic thresholding on an image. vgamth Generates a binary image (value or 0). vgrow Computes the median axis inverse transform. vmediaxis Computes the medial axis transform. vthresh Separates binary image (value or 0) by thresholding input image. Subimage/Subsignal Operations (subregion) vextcent Extracts rectangular image from center of larger image. vextract Removes rectangular piece from an image to produce a subimage. vinsert Inserts subimage into the input image to form output image. vpad Pads a data sequence with a constant. vsamp Samples image along line, given image and a line through it. Transforms (2-D) (transform2D) vfft Computes the 2-D Fast Fourier Transform of an image. vfht Performs a Fast Hadamard Transform on the image. vmpp Computes various representations of complex image data. A First Experience with AVS Ken Flurchick, NCSC Research Institute Representation of scientific data is difficult. Printing the results is lengthy and not always useful. Scientific visualization is a method to display all the data from a simulation at one time. This allows relations among the data to be discovered -- the power of scientific visualization. New insight into the problem and leads for further investigations become apparent, and new science is the result. How does this actually occur? From a scientistUs point of view, a flexible tool is required to manipulate the graphical objects in a visualization, as well as an interface with a wide range of input data formats. Also, the tool needs to provide many different forms of analysis and data manipulation to allow for experimentation to find the right representation. Along comes AVS. This tool allows for the experimentation of data representation, even by a scientist. AVS has numerous data input forms and a great number of data analysis components. Looks like the right tool. However, this tool is not without its own set of challenges. The interface is expressed in visualization terms and is formidable. The titles of columns of modules are not all obvious. Input and output are straightforward in meaning; however, mappers and filters are not so straightforward. ("Of course, this module is a mapper!"). For most scientists, this can be a hurdle. Then there is the sheer number of modules. What do all these modules do? I have found no easy way to move through all this information, except just to go through it. However, there are ways around these hurdles. Working with AVS experts and the International AVS Center provided explanations of the visualization concepts and some of the large number of modules. After a while, all this stuff started to fall into place. ("Yes, this really is a mapper.") Now IUm ready, but of course none of the modules read my data. The approach, I am told, is to write an AVS module. Module writing for data input was a horrifying prospect. ("Not more programming!") AVS, however, helps with the module generator. This gives the framework and hooks into the AVS kernel and saves the scientistUs sanity. Module writing is fun -- well, not quite. The potential power of AVS and the range of displays made the effort to understand the visualization concepts and leap the programming hurdles worth the attempt. After some slow starts and dead ends, I worked with a group of high school students to make an AVS visualization that was not just another teapot spinning around. We computed the positions of molecules as a function of time. Then we worked with Visualization Specialist Dave Bock of the North Carolina Supercomputing Center (NCSC) to develop an AVS module to read the data from our simulation. Using this module and the versatility of AVS, we could see the results of our simulation. This transformed the problem from a column of numbers into a visualization that we could manipulate as well as use to investigate variations of the model. An example of this simulation is shown in Figure 1. The frame is from the molecular dynamics simulation using the load_md module available from the AVS anonymous ftp site, avs.ncsc.org. Following this, I worked with the NC SuperQuest teams to develop other modules with the help of Terry Myerson of the International AVS Center (IAC). In addition to using AVS for education, I began applying AVS to the science at NCSC. One problem was to show contaminant flow in a cylindrical pipe. In this model, whose data was generated by Dr. Tom Goldring of the NCSC Research Institute, the cylindrical pipe section is filled with water vapor that is scavenged by flowing pure gas through the pipe. The concentration of water vapor is computed, and the data ranges from 0 to 100 parts per billion. Myerson and I developed a cylindrical pipe geometry module as a separate module to represent the pipe. The cylindrical symmetry of the problem required a different module to read the data as an (r,z) pair and generate a 3-D irregular field for AVS to display. The display used three orthogonal slicers, one isosurface, and two additional modules developed at NCSC and is shown in Figure 2. An additional feature of AVS is the contributions from the Consortium members. ConvexAVS has modules for manipulating electron densities from electronic structure calculations. The problem was to compute the electronic surface of a cluster of carbon atoms fixed in a plane, for which UNC-CharlotteUs Dr. Art Edwards generated data. The calculation was done using MOPAC 6.0 on the CONVEX, which has additional routines to generate data for ConvexAVS. ConvexAVS has modules to take data from these calculations and create displays that provide quick analysis of these calculations. An example of this is shown in Figure 3. The physical system is a planer cluster, C_54 H_18, and the figure shows the electron density at the highest occupied molecular orbital. The positive and negative charges are depicted in this visualization. AVS has transformed the process of scientific visualization from a postprocessing procedure involving visualization experts and a lot of time to a near real-time analysis tool for complex problems. The range of possible data manipulations and distributed access makes AVS an important component of computational science. This tool, while not initially easy, is powerful and worth the effort. Obtaining Modules Modules may be obtained by three basic methods. The first is standard ftp protocol. When you ftp to avs.ncsc.org (128.109.178.23), text will be displayed that will guide you in using the ftp site. Please read the AVS_LICENSE file located in the top- level directory before downloading modules from the site. Among the directories on the site is avs_modules, which has several directories within it: catalogs/ mappers/ data_output/ khoros/ data_input/ filters/ The catalogs directory contains ASCII and PostScript versions of the latest modules, whereas the other directories contain the modules themselves. Each module subdirectory has many Makefiles, one for each port of the module and its associated files. The second method for obtaining modules is through standard email. When you send an email message to avsemail@ncsc.org, you receive automated replies detailing this procedure. These replies also include a copy of the module catalog, the latest README file about the International AVS Center, and International AVS User Group information. Finally, if you donUt have network access, you may request a tape via mail. Please send a tape and a $5 handling fee ($15 if not in the United States) with your request to the International AVS Center, Post Office Box 12889, 3021 Cornwallis Road, Research Triangle Park, NC 27709-2889. State the hardware configuration you will be using, and we will send you a copy of all of the modules on the ftp site. Using AVS at EPAUs Scientific Visualization Center EPA Scientific Visualization Center Technical Leader Theresa Rhyne (Unisys Corporation) The Scientific Visualization Center at the U.S. Environmental Protection Agency (EPA) has used AVS for a number of specific projects. The Scientific Visualization Center is located in Research Triangle Park, NC, and supports the visualization of environment research data on an agency-wide basis. Below is a summary of some of these efforts. Fluid Flow Around Buildings Researchers in the Atmospheric Research Exposure and Assessment Laboratory (AREAL) in RTP have been using AVS to examine the behavior of fluid flow around buildings. Using a customized AVS package called AVS-Flow, these researchers have explored 4-D datasets. The datasets contain X, Y, and Z coordinates and change over time. Fluid Flow in the Lung An AVS network that assists with the visualization of data modeling fluid flow in the lung has been built. A group of scientists in the Health Effects Research Laboratory at RTP currently are developing this numerical model. Visualization is being used as an aid in troubleshooting numerical simulation difficulties. Subsurface Visualization Using data provided by the Great Lakes National Program Office, work is also under way to build an AVS network that allows for the depiction of contaminated sediment zones. This visualization effort is a collaboration between the EPA visualization team and visualizers at Advanced Visual Systems Inc. The project has involved the development of AVS modules that support volumetrics and the creation of isosurfaces from unstructured cell data. Water Flow Studies In another visualization project for the Great Lakes National Program Office, stream flow data from researchers at the University of California at Santa Barbara were visualized. This required the EPA visualization team to develop an AVS data input module that read data from a noncurvilinear grid. This grid was designed to map the twisting and curving path of a river bed. EPAUs Scientific Visualization Center has worked with AVS on various Unix platforms. These include SUN, IBM RS 6000, DECstation 5000, and Silicon Graphics workstations. We have found that it is possible to transfer AVS networks among these platforms. Technical issues associated with compiling AVS modules on multiple architectures do exist. The EPA visualization team is continuing efforts to understand and clearly define these issues. The aforementioned work was developed by members of the EPA scientific visualization team in collaboration with environmental researchers throughout the agency. Penny Rheingans (Unisys Corporation) and Mark Bolstad (Sterling Software) built a number of the customized modules. The efforts of the Great Lakes National Program Office involved collaboration with the EPA Scientific Visualization Center and Advanced Visual Systems Inc. Special thanks to Advanced Visual Systems Inc. for its assistance on the subsurface visualization efforts. AVS Tips and Tricks Larry Gelberg, Advanced Visual Systems Inc. Terry Myerson and Steve Thorpe, International AVS Center This article reviews several AVS technical topics that may prove useful in your scientific visualization endeavors. We thank the many AVS users who have posted to the comp.graphics.avs newsgroup and contacted the International AVS Center (IAC) at avs@ncsc.org for help. Many of the following questions and answers have been extracted from these archives. 1. How can I check on the progress of the tracer module? If you are using the tracer module in conjunction with display_tracker and itUs taking a while to compute, you can find out how far along the tracing computations are. Simply cause the display_tracker window to get an expose event (iconify it, uniconify it, or hide it and reshow it). Because the output from tracer is in shared memory, all of the currently rendered portion is overwriting the existing buffer. You can use this technique for tracking the progress of the module. This trick does not work if (a) itUs the first time through, (b) youUve just changed the output image size from tracer, (c) the modules are on different machines, or (d) you use display_image or the image_viewer. 2. What is a recommended method to make shaded, ray-traced images of very large datasets? Try the compute_shade module, contributed to the IACUs module repository by Robert Mazaika and Larry Gelberg of Advanced Visual Systems Inc. This module combines the functions of the colorizer, compute_gradient, and gradient_shade modules into a single memory-efficient module. These modules are used primarily to make shaded ray-traced images. The problem is that they are highly inefficient in terms of memory allocation. The colorizer module takes in 1 byte per voxel and outputs 4 bytes per voxel. The compute_gradient module takes in 1 byte per voxel and outputs 12 (3 floats), and gradient_shade outputs 4 bytes per voxel. These three modules produce 20 bytes for every input dataset byte. For this reason, some people have experienced problems trying to render ray-castings of large datasets. The tracing code is fairly computationally efficient, but most of the system resources are spent swapping data rather than computing the image. The compute_shade module does gradient computation, colorizing, and shading on a per- slice basis. All in all, it takes less time than running the original three modules in sequence. However, it does take longer than running only gradient_shade alone. Therefore, it is most useful for extremely large datasets (>100x100x100 voxels) that normally would choke a systemUs memory. 3. How do I animate the deformation of UCD data over time? The ucd_offset module deforms a UCD structure that has a vector (delta-x, delta-y, delta-z) component. If you have only a single deformation computed, you can animate several frames from the nondeformed state to the deformed state by plugging the animated_float module into the "offset factor" port of the ucd_offset module. If you have several time-steps computed, you need to be able to read in each file individually. This can be done either with a cli script or by using the animate_file module contributed to the IACUs module repository by Terry Myerson. 4. How can I create an isosurface with fewer polygons than the AVS isosurface module extracts? The isosurface module has an Optimize Surface button that reduces the total polygon count by about half. The reason that this is an option is that the isosurface module produces polytriangle strips for more efficient rendering. It is quicker just to run through the data, creating polygons and stringing them together into polytriangle strips using "cobwebs" (zero-area triangles), but this increases the total polygon count (and memory). Turning on Optimize Surface creates a graph of the polygons and searches for efficient polytriangle strips. It takes a little longer, but the polygon count is usually cut almost in half. ItUs a user-selectable tradeoff between surface computation time and rendering time. 5. Is it possible to start AVS up with no display in order to generate images without actually displaying to the console? Yes, boot up AVS using the command, "avs -nodisplay -cli." Then you can run scripts and other items that produce images and use the write_image module (for example) to dump the images to disk. With AVS4, you can save images directly out of the geometry_viewer for archiving. With the animator, you can dump an image sequence in an encoded format. 6. How can I write code that is portable across a large number of hardware platforms? If you minimize the assumptions made in your code about a platformUs hardware and operating system, it will be easier to port AVS modules to different systems. For example, it is wise not to assume you know the size of a particular data type. So when allocating space for an array of 256 floats, allocate 256*sizeof(float) bytes rather than 256*4 bytes to ensure portability. Another helpful hint is to use calls supplied by AVS for memory allocation and deallocation rather than calling a particular operating systemUs library. Using alloc_local and free_local is more portable than using malloc and free. Finally, create your Makefile for your AVS modules using the example found in /usr/avs/examples/Makefile as a base from which to work. This file includes /usr/avs/include/Makeinclude, where system-dependent definitions are made. Please see the AVS DeveloperUs Guide for further guidelines on writing portable code. 7. WhatUs the easiest way to obtain copies of all of the IACUs public-domain modules? When you connect by anonymous ftp to avs.ncsc.org (128.109.178.23), you will see a directory called avs_archives. Changing to this directory with cd will show the following self-explanatory message. The files in this subdirectory are compressed tar format archives created from files on this anonymous ftp site at the IAC. You easily can create a local copy of almost all of the ftp site with these files, which consist of the following. ALL_OF_FILTERS.tar.Z /* AVS filter modules */ ALL_OF_INPUT.tar.Z /* AVS data input modules */ ALL_OF_KHOROS.tar.Z /* AVS Khoros modules */ ALL_OF_MAPPERS.tar.Z /* AVS mapper modules */ ALL_OF_MISC.tar.Z /* miscellaneous files */ ALL_OF_OUTPUT.tar.Z /* AVS data output modules */ For example, if I wanted to get all of the IACUs filter modules, I would take the following steps. 1. Use binary ftp to download ALL_OF_FILTERS.tar.Z 2. uncompress ALL_OF_FILTERS.tar.Z 3. tar -xvf ALL_OF_FILTERS.tar 4. rm ALL_OF_FILTERS.tar 8. How can I use AVS to import and export image formats other than the standard AVS image format? Check out Terry MyersonUs read_any_image and write_any_image modules on the IACUs ftp site. These modules are based entirely upon the San Diego Supercomputing CenterUs Image Tool library. The following image file formats are supported. eps encapsulated postscript file gif Compuserve graphics image file hdf hierarchical data file icon Sun icon and cursor file iff Sun TAAC image file format mpnt Apple Macintosh MacPaint file pbm portable bitmap file pcx ZSoft IBM PC Paintbrush file pgm portable gray map file pic PIXAR picture file pict Apple Macintosh QuickDraw/PICT file pix alias image file pnm portable any map file ppm portable pixel map file ps postscript file ras Sun rasterfile rgb SGI RGB image file rla Wavefront raster image file rle Utah run length encoded image file rpbm raw portable bitmap file rpgm raw portable gray map file rpnm raw portable any map file rppm raw portable pixel map file synu synu image file tiff tagged image file x AVS X image file xbm X11 bitmap file xwd X-window system window dump image file 9. I am trying to visualize molecules and canUt get good resolution on my images. The spheres look more like multiple square-sided surfaces than spheres. How do I correct it? Check out the Subdivisions widget at the bottom of the geometry_viewer control panel. The higher this number, the better looking your spheres will be. 10. How can I learn about other AVS tips and tricks? Consider ordering a videotape of Larry GelbergUs AVS U92 lecture, Tips and Tricks with AVS. This can be obtained for a nominal fee from the IAC at the address listed below. Send email to avs@ncsc.org for further ordering information. Also, check the frequent postings on the comp.graphics.avs newsgroup. If you donUt have access to a news feed, postings can be routed to your electronic mailbox from the IACUs listserv system. Use anonymous ftp to check the file avs.ncsc.org (128.109.178.23): avs_user_group/avs_user_reg for instructions on how to subscribe to this convenient service. 11. WhatUs the easiest way to learn about the IAC? Send any electronic mail message to avsemail@ncsc.org. You will receive several automated replies, including a README file about the IAC, the latest AVS module catalog, and information about AVS user groups. If you donUt have access to electronic mail or prefer a personal reply, contact International AVS Center Post Office Box 12889 3021 Cornwallis Road Research Triangle Park, NC 27709-2889 Telephone 919-248-1100 Fax 919-248-1101 Email avs@ncsc.org What Is AVS? Complex Information in a New Light Visual computing -- a new visual approach to numerically intensive computing -- can help you work more efficiently and insightfully while exploiting the full potential of your graphics hardware. Visual computing offers insight into complex problems and, for the first time ever, gives you interactive control over the exploration and analysis of large datasets in a wide variety of scientific, commercial, and engineering applications. At the heart of this is the Application Visualization System (AVS), the industry standard in platform- independent visual computing environments for application development. A Broad Spectrum of User Experience and Requirements Met % Application developers creating interactive visual applications for users in their organizations or for commercial distribution. % Researchers needing to customize their visualization application to both their own and their coworkersU needs. % Users simply wanting an easy-to-use turnkey application to visualize their data. AVS has the depth and flexibility to meet every type of user need. It has been in active use in a wide variety of disciplines, including computational chemistry, computational fluid dynamics, education and research, environmental sciences, medical imaging, oil and gas exploration, GIS and remote sensing, and structural analysis. The Most Extensive Suite of Data Visualization Techniques Available AVS includes a comprehensive suite of data visualization and analysis capabilities that make it the most complete visual computing environment available. AVS incorporates traditional visualization tools, such as 2-D plots and graphs and image processing, as well as advanced tools, such as 3-D interactive rendering and volume visualization. And you donUt have to be an application developer to take advantage of the sophisticated capabilities of AVS. If you need a point-and-click visual application to view your data, AVS provides an intuitive, easy-to-learn interface to the most frequently used visualization techniques. These interfaces -- or viewers -- can help you explore your data immediately -- even before you begin to tailor AVS to your specific needs. A Standard Environment for Your Multivendor Network The system environment for visual computing is typically a combination of workstations, X terminals, and computational servers for a single work group. In order to share results among colleagues, a common base for visual applications is required. Only AVS provides the common base for developing and sharing these critical applications. AVS currently operates on all of the major UNIX workstations and supports the full range of graphics hardware available on these platforms. In addition, AVS support for remote X- window displays means that you can make use of low-cost, 8-bit X terminals and workstations. Easy-To-Use Visual Application Builder Components Visual Programming Environment % Network editor for application construction % Module generator for code development % Layout editor for user interface design Advanced Application Development Support % Comprehensive visual computing toolset % Modular and extensible architecture % Open access to AVS through a command-line interface % Support for multiple levels of user interface development Multiplatform Support % Full support of high-end graphics adapters % Software renderer for advanced rendering functionality % Heterogeneous, platform-independent operation % Distributed computing on networks and supercomputers % Open, based on standard interfaces (e.g., UNIX, X, PEX, and GL) Visual Programming -- An Intuitive Approach to Building Custom Applications At the heart of AVS is the network editor, a unique visual programming environment. Visual programming is an intuitive process wherein the network editor helps you graphically connect AVS modules together to build a visualization network. This network becomes an application that can be saved, reused, and modified. You have the freedom to experiment with your data by building custom networks until you are satisfied with the results. The AVS visual programming environment allows you to be productive almost immediately. A combination of complete documentation, online help, example networks, and ready-to-use customizable modules will help you expand your use of AVS at your own pace. Multiple Platforms Supported from a Single Development Environment For many developers, the difficulty of multiplatform 3-D graphics application development has limited the use of visual computing. Now, you can use AVS to provide sophisticated interactive graphics applications for your colleagues or clients. Since AVS acts as your interface to high-performance graphics, you donUt have to worry about graphics programming. Once your application is up and running, you will find that it takes very little effort to port to other hardware platforms. AVS handles platform-dependent technical issues such as 3-D rendering, user interfaces, file I/O, data transport, and communications. This, in turn, will lower your development and porting costs significantly. Now you can support more platforms more quickly and with less effort. Shortened Time from Prototype to Application Delivery For the developer who builds custom applications, AVS provides an unparalleled application development environment. The visual programming environment is designed to accelerate progress from a prototype application to a tuned, deliverable application. In constructing an application, you choose the level of effort at which you create and develop your application, as follows. % Build networks and design user interfaces without any programming, perhaps as a fast prototyping stage. % Add your own AVS modules to include algorithms and operations to meet specific application requirements. % Build an application with the look and feel of your own user interface, but let AVS handle your data processing and graphics display. Visualization Power Added to Your Current Applications Although AVS comes with a comprehensive collection of modules, you can write new modules. You can include existing C, C++, or FORTRAN routines in order to incorporate your own algorithms or link AVS to external applications. Built-in software development tools, such as the AVS Module Generator, provide you with a highly productive way to write software. The AVS Module Generator is a complete environment for rapidly creating and maintaining AVS module code in an object-oriented fashion. You spend more time on your research and less time on AVS-specific programming. The Power of Visual and Distributed Computing Combined For solutions to large-scale problems, AVS is designed to run in a distributed environment. AVS modules can execute on supercomputers and massively parallel machines, helping to bring visual computing to where your data and simulations reside. When transferring data between machines with incompatible data formats, AVS handles all data format conversion for you. A Complete Visual Computing Toolset Data Viewer % Easy-to-use data visualization % Point-and-click menu interface % Comprehensive suite of visualization techniques % Extensible application with prepackaged networks Geometry Viewer % Interactive 3-D geometric display % Choice of render modes: wireframe, surface % Surface transparency and reflectance % Multiple light sources % 2-D and 3-D texture mapping % Multiple viewports Image Viewer % Real-time image pan and zoom % Region-of-interest operations % Flip book animation % 8-bit and 24-bit support % Look-up table operations % Data-resizing operations Graph Viewer % Line, bar, scatter, and area plots % Contour plots % Variable line type and plot color % Variable axis range and scale % Titles, axis labels, and legends Advanced Visual Techniques % Streamlines and particle advection % Image processing % Volume rendering % Isosurfaces and slice planes % Comprehensive finite element data visualizations Presentation % Image labeling and annotation % Postscript and encapsulated postscript output % AVS Animator for high-quality animations % Wide range of video and print output options Volunteers Needed The International AVS Center (IAC) needs volunteers to assist with preparations for AVS U94. Individuals are needed to chair lecture tracks, assist with workshop tracks, schedule speakers, and prepare and coordinate panel discussions. A volunteer from the West Coast is needed to work with IAC in preparing for AVS T94, and a volunteer from Europe is needed to assist with preparations for AVS U95. For more information, contact International AVS Center Post Office Box 12889 3021 Cornwallis Road Research Triangle Park, NC 27709-2889 Telephone 919-248-1100 Fax 919-248-1101 Email avs.ncsc.org Next-Generation User Interface David Bennett, International AVS Center We recently were contacted by Richard M. Friedhoff, author of The Second Computer Revolution, Visualization, about creating a group to define the protocols for next-generation user interface. We have completed our initial meeting and are working on funding for the group at this time. The group will include individuals from the field of perception and vision physiology, such as Dr. Richard Gregory and Margaret Livingston, as well as members of the North Carolina Supercomputing Center visualization staff and university and industrial collaborators from the social sciences and other fields. Livingston is the author of a wide variety of distinguished papers and is one of the most outstanding experts in the submodalities of visual perception -- breaking down visual perception into components of motion, color, depth, and form. She was a 1984 Presidential Young Investigator and is now the principle co- investigator of Harvard Professor David Hubel, who was awarded the 1982 Nobel Prize in Medicine for his work in visual physiology. Their Harvard laboratory is recognized widely as one of the most distinguished in the world. Gregory is the author of Eye and Brain, Oxford Companion to the Mind, and at least nine other widely admired books on the subject of perception. He is the founder of the academic journal Perception and has been on the editorial board of many other academic journals. He is author of more than 75 papers on the subject of perception and cognition and has an equal number of theoretical papers on instrumentation such as microscopy, astronomy, and laboratory instrumentation. Gregory is the founder and director of the Brain and Perception Laboratory at the University of Bristol and currently is developing a cognitive neurobiology program at Oxford University. Open positions for this committee on next-generation user interface are available. If you would like further information for joining the effort or additional documentation on the project, telephone Project Leader Dave Bock at 919-248-1100. Funding for this first stage is limited and will be used primarily for travel. Next-generation user interface will be conceived from the standpoint of the perceiver rather than the programmer. Until now, our industry has provided hardware and software to make it possible for the engineer and scientist to visualize data. However, little has been done to show users how to make meaningful images from these remarkable tools. Indeed, we now find that this is the rate-limiting step in many of the areas in which visualization has the greatest potential. Our present goal is to lower the difficulty threshold for using software to the absolute minimum. At least two basic and related innovations will be incorporated into the new interface: perceptual mapping and question-mediated interfaces. For the first few months, we will work on developing a visualization protocol. Friedhoff and Livingston have suggested that we start with an ordering of the dimensions of perception to the dimensions of data, which will need considerable testing with real-world data. Gregory and others will work the problem from the broadest terms while others will implement, experiment, and confirm these scientifically based predictions with actual comparisons of visualizations. This is the perceptual mapping stage. We then will work with software engineers to determine the best ways to incorporate ideas into this "intelligent" interface that will guide and nudge users in the appropriate directions. We will keep you updated on our findings. Suggestions or ideas are welcome. Articles Needed If you have articles for reprint in AVS Network News, send them to avs@ncsc.org or to the International AVS Center, Post Office Box 12889, 3021 Cornwallis Road, Research Triangle Park, NC 27709- 2889. AVS U93 presents The Magic of Science 2nd Annual International AVS User Group Conference WALT DISNEY WORLD DOLPHIN Lake Buena Vista, Florida May 24-26, 1993 Visualization. Imaging. Computer graphics. Whatever term you use, the Application Visualization System (AVS) is now the worldwide standard for that spectacular industry. And now, AVS U93 puts The Magic of Science in your hands with spellbinding visualization power. AVS U93 blends a masterful mix of workshops, tutorials, and lectures; mesmerizing panels and video reviews; plus entrancing exhibits. ItUs a wondrous world of visualization capabilities that make the magic of science work for you. Join us for a spell. YouUll see. Topics Computational chemistry % Computational fluid dynamics % Earth sciences % Education and research % Geographic information systems and remote sensing % Image analysis % Medical imaging % Molecular modeling % Oil and gas exploration % Scientific visualization % Structural analysis Registration To obtain an AVS U93 registration form and detailed program, send your name; company name; complete mailing address, including city, state, country, and zip code; email address; and telephone number to International AVS Center, AVS U93 Conference Management, Post Office Box 12889, 3021 Cornwallis Road, Research Triangle Park, NC 27709-2889, USA, Telephone 919-248-1110, Fax 919-248-1101, Email avs93@ncsc.org, Program Chair David Bennett, Telephone 919-248-1182. Sponsorship AVS U93 is presented by the International AVS Center and the North Carolina Supercomputing Center, a division of MCNC, in cooperation with the following corporations. Advanced Visual Systems Inc. % CONVEX Computer Corporation % Digital Equipment Corporation Hewlett-Packard Company % IBM % Kubota Pacific Company Inc. % SUN Microsystems Inc. % Wavetracer Inc. Established in 1980 as a private, nonprofit research consortium, MCNC fosters technology research and education to attract and generate technology-based industry for North Carolina. MCNC matches the strengths of major research universities with those of established and emerging industry for economic growth and development in the state. The organization provides advanced capabilities and expertise in microelectronics, communications, and high-performance computing to support research, education, and industry. The North Carolina Supercomputing Center (NCSC), the supercomputing division of MCNC, makes supercomputing time and related resources available to North CarolinaUs academic researchers and encourages nonacademic institutions to explore collaborative ventures. NCSC also facilitates research in the areas of computer science, computational science, and scientific visualization. The International AVS Center, housed at NCSC, is the worldwide clearinghouse for collecting, porting, and distributing public-domain visualization modules. These modules enable dramatic advances in the scope and speed of research in a variety of disciplines. The International AVS Center serves as a catalyst for expanding the AVS user base and for increasing AVS functionality by fostering discipline-specific module development and new AVS uses.