AVS/Express® is a multiplatform software environment for developers who are building applications that provide interactive, multidimensional visualization and graphics. For example, it combines data from MRI and PET to provide a 3D display that can be rotated. The result is an image or set of images that can be used to help understand physiological and/ or functional characteristics of the human body (Fig. 4). AVS/ Express provides features specific to the medical community, such as an enhanced color table that gives radiologists a sharper, clearer, and more distinct image display.
AVS/Express Visualization Edition's visual programming environment allows users to interactively visualize their data. It displays an application's structure in a flowchart-type graphic where the user graphically connects objects, called modules, together to build a visualization network (Fig. 5). The network becomes an application that can be saved, reused, and modified. This gives users the ability to experiment with their data by building custom networks until they are satisfied with the results.
AVS/Express Visualization Edition comes with a comprehensive collection of modules for user interface, graphics, imaging, and data visualization, but users can also create new modules. New objects or legacy code in C, C ++, or Fortran can be created or incorporated by the user, employing traditional programming techniques, and then added to the application.
AVS/Express Visualization Edition also contains built-in software development tools, such as the Add Module Tool, that provide users with a productive way to write software. The Add Module Tool is a series of menus with dialogs that takes the user through each of the steps required to write a module. AVS/ Express Visualization Edition also offers a Data Import Tool that facilitates the process of bringing a user's data into the AVS/Express environment.
The emphasis of the AVS/Express Visualization Edition is data visualization and analysis, image processing, and data display. The underlying graphics display system has been designed to handle the most data-intensive, interactive graphics applications via features such as a unified 2D/3D rendering pipeline, native graphics hardware acceleration or software renderer, direct rendering of data without producing intermediate geometry, and an accelerated cache mode for static/dynamic objects.
The Visualization Edition includes a comprehensive DataViewer that provides a "point-and-click" interface to a unified display system for viewing text, graphs, images, geometries, and volumes. Users have control over the rendering of, and interaction with, objects in the DataViewer, including control of orientation, projection and lighting, rendering primitives, user interface editors, interactors (such as trackballs), data probing operators, graph objects, annotation, and hard-copy output.
Some examples of visualization modules available in the Data Visualization Kit include:
• Data Input: read_field, read_geom, read_image, read_netCDF, etc.
• Data Analysis: curl, divergence, gradient, magnitude, probe, etc.
• Data Processing: clamp, crop, downsize, extract_scalar, offset, scale, threshold, etc.
• Scalar Display Techniques: city_plot, contour, cylinder_-plot, excavate_brick 3D, extrude_cells, isosurface, orthoslice, ribbons_plot, slice, surface_plot, etc.
• Vector Display Techniques: advector, glyph, streamlines, etc.
• Geometry Utilities: bounds, draw_lines, external_edges, external_faces, etc.
• Geometric Objects: Arrow, Axes, Box, Cross, Diamond, Line, Plane, Point, Probe, etc.
The Image Processing Kit is an extensive library of functions for analyzing and manipulating images. With the Image Processing Kit, users may process single-band images, individual bands of multiband images, and subimages or regions-of-interest. Key functions that are available include the following:
• Analysis, such as image probe, measure, register, and histogram
• Arithmetic, such as floating point operators, logical operators, and shift operators
• Draw/edit, such as region-of-interest, grid, and lookup
• Filters, such as convolve, edge, kernel, and median
• Geometric operations, such as reflect, rotate, warp, zoom, and translate
• Fast Fourier transforms, such as real, magnitude and phase, and inverse FFT
The User Interface Kit gives users the capability to customize the construction and layout of their application's user interface, in either native Motif or Windows. User interface development is streamlined through the elimination of the
"edit-compile-link" process in traditional GUI building toolkits. The available widget set in the User Interface Kit includes dialogs, valuators, menus, controls, lists, labels, file browsers, etc. These widgets are modifiable and additional widget sets can be imported from external sources. The User Interface Kit has also been designed to integrate seamlessly with the Visualization Edition's 2D and 3D graphics display windows.
Was this article helpful?