OpenDX
Encyclopedia
OpenDX stands for Open Data Explorer and is IBM
's scientific data visualization
software. It can handle complex domains (as the mechanical gear
or a human brain
) along with measured
or computed
data. The data may be scalar
(such as the concentration of a chemical agent in the brain), vector
or tensor
fields (like the displacement or strain tensor fields when the gear is in action) at different points of the object. The points at which data is measured don't have to be equally spaced, and not need to be homogeneously spaced. The project started in 1991 as Visualization Data Explorer.
OpenDX can do 3D visualizations and represent the measured quantities color or gray scale coded, or as vectors
, streamlines and ribbons. It can make cuts in the object to have a view of the inside, and then represent the data on this cutting plane as a height coded graph. It can rotate the object to have a view of the data from any angle, and make animations
of these movements.
widget toolkit on top of the X Window System
. Its graphical user interface
has a wide variety of interactors, both direct and indirect. Direct interactors allow the user to directly manipulate images (e.g. rotate or zoom
). Indirect interactors (dials, switches
, buttons
, sliders) enable the user to control various aspects of her visualization. Interactors are smarter because they are data-driven. Interactors are auto-ranging and self-limiting. They examine the data and, depending on its type, will determine the minimum and maximum of the data, or create a list for an option menu
based on the data. The user can even set the label of the interactor based on some aspect of the data (e.g., metadata).
The data-driven concept is not simply for sliders, dials and option menus. It also applies to vector interactors. These will reconfigure themselves based on the dimensionality of the data. They will also auto-range themselves based on the maximum and minimum of each vector component.
The principal components of OpenDX are
Data model: This is the set of definitions, rules, and conventions used to describe Data Explorer entities (including data fields, geometrical objects, and images).
Data Prompter: A user interface for describing data to be imported into Data Explorer.
Data Browser: A user interface for viewing a data file, determining the layout and organization of the data it contains, and transferring this information to the Data Prompter.
Scripting Language: A high-level language for creating visualization programs. It can also be used directly in a command mode to perform various tasks. Visual programs--i.e., the visualization programs displayed in the Visual Program Editor window as networks of module icons--are also written in the scripting language. A visual program constructed in this window by the user is translated into the same language when it is saved to disk.
Visual Program Editor (VPE): A graphical user interface for creating and modifying visual programs (networks). Programs created with this editor are translated into the scripting language by Data Explorer and are stored in that form.
Modules: The building blocks (visualization tools) that constitute a visual program network. They can be directly accessed and manipulated in the Visual Program Editor.
Module Builder: A user interface for creating customized modules to be used in visual programs.
Image Window: An interactive window for viewing and modifying the presentation of the image produced by a visual program.
Control Panels: A user interface for changing the parameter values used by a visual program.
Vector fields are harder to visualize than scalar ones. Consider in this case
the flow in a cubic cavity (the 3D version of the well studied
square cavity benchmark. The use of streamlines helps in realizing the direction of the flow. The rockets (the big red arrows on the top of the cavity) represent the imposed flow.
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...
's scientific data visualization
Scientific visualization
Scientific visualization is an interdisciplinary branch of science according to Friendly "primarily concerned with the visualization of three-dimensional phenomena , where the emphasis is on realistic renderings of volumes, surfaces, illumination sources, and so forth, perhaps...
software. It can handle complex domains (as the mechanical gear
Gear
A gear is a rotating machine part having cut teeth, or cogs, which mesh with another toothed part in order to transmit torque. Two or more gears working in tandem are called a transmission and can produce a mechanical advantage through a gear ratio and thus may be considered a simple machine....
or a human brain
Brain
The brain is the center of the nervous system in all vertebrate and most invertebrate animals—only a few primitive invertebrates such as sponges, jellyfish, sea squirts and starfishes do not have one. It is located in the head, usually close to primary sensory apparatus such as vision, hearing,...
) along with measured
Measurement
Measurement is the process or the result of determining the ratio of a physical quantity, such as a length, time, temperature etc., to a unit of measurement, such as the metre, second or degree Celsius...
or computed
Computer simulation
A computer simulation, a computer model, or a computational model is a computer program, or network of computers, that attempts to simulate an abstract model of a particular system...
data. The data may be scalar
Scalar field
In mathematics and physics, a scalar field associates a scalar value to every point in a space. The scalar may either be a mathematical number, or a physical quantity. Scalar fields are required to be coordinate-independent, meaning that any two observers using the same units will agree on the...
(such as the concentration of a chemical agent in the brain), vector
Vector field
In vector calculus, a vector field is an assignmentof a vector to each point in a subset of Euclidean space. A vector field in the plane for instance can be visualized as an arrow, with a given magnitude and direction, attached to each point in the plane...
or tensor
Tensor field
In mathematics, physics and engineering, a tensor field assigns a tensor to each point of a mathematical space . Tensor fields are used in differential geometry, algebraic geometry, general relativity, in the analysis of stress and strain in materials, and in numerous applications in the physical...
fields (like the displacement or strain tensor fields when the gear is in action) at different points of the object. The points at which data is measured don't have to be equally spaced, and not need to be homogeneously spaced. The project started in 1991 as Visualization Data Explorer.
OpenDX can do 3D visualizations and represent the measured quantities color or gray scale coded, or as vectors
Vector graphics
Vector graphics is the use of geometrical primitives such as points, lines, curves, and shapes or polygon, which are all based on mathematical expressions, to represent images in computer graphics...
, streamlines and ribbons. It can make cuts in the object to have a view of the inside, and then represent the data on this cutting plane as a height coded graph. It can rotate the object to have a view of the data from any angle, and make animations
Computer animation
Computer animation is the process used for generating animated images by using computer graphics. The more general term computer generated imagery encompasses both static scenes and dynamic images, while computer animation only refers to moving images....
of these movements.
Graphical User Interface
OpenDX is based on the MotifMotif (widget toolkit)
In computing, Motif refers to both a graphical user interface specification and the widget toolkit for building applications that follow that specification under the X Window System on Unix and other POSIX-compliant systems. It emerged in the 1980s as Unix workstations were on the rise, as a...
widget toolkit on top of the X Window System
X Window System
The X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...
. Its graphical user interface
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
has a wide variety of interactors, both direct and indirect. Direct interactors allow the user to directly manipulate images (e.g. rotate or zoom
Page zooming
In computing, page zooming is the ability to zoom in and out a document or image at page level. It is usually found in applications related to document layout and publishing, e.g...
). Indirect interactors (dials, switches
Switch statement
In computer programming, a switch, case, select or inspect statement is a type of selection control mechanism that exists in most imperative programming languages such as Pascal, Ada, C/C++, C#, Java, and so on. It is also included in several other types of languages...
, buttons
Button (computing)
In computing, a button is a user interface element that provides the user a simple way to trigger an event, like searching for a query at a search engine, or to interact with dialog boxes, like confirming an action.-Description:A typical button is a rectangle or rounded rectangle, wider than it is...
, sliders) enable the user to control various aspects of her visualization. Interactors are smarter because they are data-driven. Interactors are auto-ranging and self-limiting. They examine the data and, depending on its type, will determine the minimum and maximum of the data, or create a list for an option menu
Menu (computing)
In computing and telecommunications, a menu is a list of commands presented to an operator by a computer or communications system. A menu is used in contrast to a command-line interface, where instructions to the computer are given in the form of commands .Choices given from a menu may be selected...
based on the data. The user can even set the label of the interactor based on some aspect of the data (e.g., metadata).
The data-driven concept is not simply for sliders, dials and option menus. It also applies to vector interactors. These will reconfigure themselves based on the dimensionality of the data. They will also auto-range themselves based on the maximum and minimum of each vector component.
Design
Data Explorer is a system of tools and user interfaces for visualizing data. In general terms the visualization of data can be considered a 3-stage process:- Describing and importing data
- Processing the data through a visualization program
- Presenting the resulting image.
The principal components of OpenDX are
Data model: This is the set of definitions, rules, and conventions used to describe Data Explorer entities (including data fields, geometrical objects, and images).
Data Prompter: A user interface for describing data to be imported into Data Explorer.
Data Browser: A user interface for viewing a data file, determining the layout and organization of the data it contains, and transferring this information to the Data Prompter.
Scripting Language: A high-level language for creating visualization programs. It can also be used directly in a command mode to perform various tasks. Visual programs--i.e., the visualization programs displayed in the Visual Program Editor window as networks of module icons--are also written in the scripting language. A visual program constructed in this window by the user is translated into the same language when it is saved to disk.
Visual Program Editor (VPE): A graphical user interface for creating and modifying visual programs (networks). Programs created with this editor are translated into the scripting language by Data Explorer and are stored in that form.
Modules: The building blocks (visualization tools) that constitute a visual program network. They can be directly accessed and manipulated in the Visual Program Editor.
Module Builder: A user interface for creating customized modules to be used in visual programs.
Image Window: An interactive window for viewing and modifying the presentation of the image produced by a visual program.
Control Panels: A user interface for changing the parameter values used by a visual program.
Visualization of a scalar field
In this example we show the visualization of the flow of a particulated material (dust) inside a building. In this case the quantity visualized is a scalar, namely the concentration of the particles. The concentration of particles at each point in space is represented using colors. The reader can deduce the concentration by comparing the colors with the colorbar at the right upper corner of the image. To improve the visualization the drawing is shadowed as if it had an elevation in the direction normal to the plane proportional to the concentration. In OpenDX this is called the rubber-sheet effect.Visualization of vector fields
Vector fields are harder to visualize than scalar ones. Consider in this case
the flow in a cubic cavity (the 3D version of the well studied
square cavity benchmark. The use of streamlines helps in realizing the direction of the flow. The rockets (the big red arrows on the top of the cavity) represent the imposed flow.
External links
- http://www.opendx.org OpenDX site
- http://www.vizsolutions.com/ Commercial support, physical media
- http://www-beams.colorado.edu/dxhdf5/ module for reading HDF5 files
- http://www.featflow.de/en/index.html An opensource software developed by University of Dortmund