Open Visualization Data Explorer
Detailed Description
Open Visualization Data Explorer (DX) is a portable, general-purpose software package
for data analysis and visualization. It is a flexible and interactive system, offering a
large variety of processing, realization and rendering capabilities through several
different interfaces (Motif widgets, visual programming, script language programming and
an API). This programmable system is employed directly by end users as well as to build
complete applications.
Since its introduction by IBM Research in 1991, It is widely used in acadamia,
industry and government worldwide for many research, design, commercial, education and
operational endeavors such as aerospace and automotive engineering, chemistry, device
design, earth and environmental sciences, finance, market research, medicine, petroleum
exploration, space sciences, transportation and other disciplines.
DX employs an extended data-flow-driven client-server execution model. The client
process is the graphics user interface and it is always operate on a workstation. The
server process does all of the computation; it may reside on the same of different
workstation. Medium or fine-grain configurations of Symmetric multi-processor
workstation or servers provide significant scaling for the server process when applied
to larger, more complex data sets or to support greater interactivity or both.
The server is controlled via the data flow executive, which determines what tasks
need to be executed based upon user requests and schedules their execution. Unlike
traditional data flow implementations, DX supports conditional execution, caching, graph
evaluation and looping. Under user control, portions of a DX program may be specified
to execute within a peer server process operation on another system. In addition,
user-defined computations/modules may be utilized via separate executables from the
server process(es). User created modules may be dynamically loaded. The user interface
can interface with other software applications for control or communications.
The executive accepts a well-defined protocol (a script language), which the user
interface generates based upon input it receives. The executive can be operated
independently of the user interface via the scripting/programming language. It also
supports caching of communications, which may be chosen on a module-by-module basis. The
executive can interface with other software applications for control or
communications.
DX supports hardware graphics with OpenGL. If a workstation does not have hardware
graphics support, then images are rendered in software and displayed using 24 bits. If a
workstation only supports 8-bit Xwindow (or 12-bite extension), then the 24-bit image
rendered is dithered for display. Both the hardware and software rendering support
perspective and orthogonal cameras, multiple light sources and viewing, and arbitrary
clipping. They both accept collections of opaque and translucent volumes, surfaces,
lines, and points simultaneously independent of color, grid size or type, opacity,
etc.
In general, DX provides support for interactive visualization and analysis of both
observed and simulated data. It is easy to learn and use. It supports interactions in a
number of ways, including via graphical user interface with direct(i.e., in images) and
indirect interactors, visual programming, a high-level scripting language and
programming APIs. Furthermore, the interactors may be data driven (i.e.,
self-configuring by data characteristics). Visual and scripting language programming
support hierarchy (i.e., macros) is available. From visual programming level, one can
control the availability of images and control panels. The programming API provides data
support, error handling, access to level tools, etc. for building modules and is
associated with a Module Builder utility. There are also APIs for interfacing externally
to the user interface or the executive or both, and the computational tools and data
model without the user interface and executive. Thus, DX can be used to build complete
applications.
DX is a very flexible. It is easily adaptable to new applications to new applications
and data because it is built on a foundation of an integrated, discipline-independent
data model. This generalized data model provides unified data handling, implementation
of polymorphic operations and user-defined extensions to self-describing data
structures. These capabilities allow it to support disparate types of data
simultaneously and to be adaptable to diverse problems. This data model describes and
provides uniform access services for any data bought into, generated by, or exported
from the software. DX supports a number of different classes of data, which can be
described by its shape (size and number of dimensions), rank (e.g., scalar, vector,
tensor), type (float, integer, byte, etc. or real, complex, quaternion), where the data
are located in space (positions), how the locations are related to each other
(connections), mesh dependency of data (i.e., node or cell center) or aggregation (e.g.,
hierarchies, series, composites, multizone and adaptive grids, etc). It also supports
those entities required for graphics and imaging operations within the context of DX.
Hence regular and irregular, structured and unstructured data are supported as well as
the notion of missing data (i.e., regions of invalidity). At the user level the details
of the data model and its interface are hidden. This data model isfully supported by an
external disk-based representation (format) for import and export. Data may also be
imported through public domain structures like Unidata's netCDF, NASA's CDF and NASA's
HDF, user-created custom filters and general array handler. The general array importer
provides a mechanism for the format of layout of data stored ondisk, and then converts
the data directly to the data model representation internal to DX. A graphical Data
Prompter supports it. In addition, various image format are supported for import (e.g.,
RGB, TIFF, GIF,) and export (e.g., RGB, Postscript, TIFF, GIF, YUV).
An important consequence of this unified data handling approach is the operations in
DX (modules) are polymorphic, interoperable and appear typeless to the user. On
symmetric, multi-processor parallel workstations and servers, intramodule parallelism is
supported through a simple fork-joint shared-memory paradigm. On a collection of
networked workstations, parallelism is supported distributed servers (with a master-peer
relationship) to minimize intraprocessor/workstation communication and distributed
process management. Thus, DX is scalable to large data sets and can work with more than
one kind of data simultaneously.
DX supports a number of realization techniques for generating renderable geometry
from data. These include color and opacity mapping, contours and isosurfaces,
histograms, two-dimensional and tree-dimensional plotting, surface deformation, etc. for
scalar data. For vector data, arrow plots, streamlines, streaklines, etc. are provided.
Realizations may be annotated with ribbons, tubes, axes, glyphs, text and display of
data locations, meshes and boundaries. Data probing, picking, arbitrary surface and
volume sampling, and arbitrary cutting/mapping planes are supported.
DX supports a number of non-graphical functions such as point-wise mathematical
expression (e.g., arithmetic, transcendental, Boolean, type conversions, etc.),
univariate statistics and image processing (e.g., transformation, filter, wrap, FFT/DFT,
edge detection, convolution, equalization, blending, morphological operations, etc.).
Field/vector operations such as divergence, gradient and curl, dot and cross products,
etc. are provided. Scattered data may be interpolated to an arbitrary grid or
triangulated, depending on the analysis requirements. The length, area or volume of
geometry may also be computed. Tools for data manipulation such as removal of data
points, subsetting by positions, sub/super sampling, grid construction, mapping,
interpolation, regridding, sorting, transportation, etc., are available.
Please send questions or suggestions about this web page to:
sp@gears.aset.psu.edu
ASET | ITS | Penn State
|