IBM OpenDX

Last updated
IBM OpenDX
Opendx-logo.jpg
Opendx-screenshot2.jpg
Visualization of a scalar field
Preview release
Through CVS
Written inMainly C
Operating system Cross-platform
Type Plotting
License IBM Public License
Website www.opendx.org

OpenDX stands for Open Data Explorer and is IBM's scientific data visualization software. It can handle complex domains (such as a 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.

Contents

OpenDX can produce 3D images with the quantities plotted as color or gray-scale coded, or as vectors, streamlines and ribbons. It allows the object to be sliced to obtain a view of the internal structure, and then represent the data on this slice plane as a height-coded graph. It can rotate the object to provide a view of the data from any angle and allows animations of this motion to be made.

Graphical user interface

OpenDX is based on the Motif 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).

OpenDX screen shot showing the Visual Program Editor and several interactors Opendx-screenshot.jpg
OpenDX screen shot showing the Visual Program Editor and several interactors

The data-driven concept is not simply for sliders, dials and option menus. It also applies to vector interactors. These reconfigure themselves based on the dimensionality of the data. They 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:

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.

Screen shots

Visualization of a scalar field

OpenDX screen-shot showing visualization of a scalar field. Opendx-screenshot2.jpg
OpenDX screen-shot showing 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

Opendx-cubcav1.jpg Opendx-cubcav2.jpg
Opendx-cubcav3.jpg Opendx-cubcav4.jpg

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.


Related Research Articles

VBScript is an Active Scripting language developed by Microsoft that is modeled on Visual Basic. It allows Microsoft Windows system administrators to generate powerful tools for managing computers with error handling, subroutines, and other advanced programming constructs. It can give the user complete control over many aspects of their computing environment.

Visual Basic for Applications (VBA) is an implementation of Microsoft's event-driven programming language Visual Basic 6, which was declared legacy in 2008, and is an associated integrated development environment (IDE). Although pre-.NET Visual Basic is no longer supported or updated by Microsoft, the VBA programming language was upgraded in 2010 with the introduction of Visual Basic for Applications 7 in Microsoft Office applications. As of 2020, VBA has held its position as "most dreaded" language for developers for 2 years, according to some who participated in surveys undertaken by Stack Overflow..

Visual programming language Programming language written graphically by a user

In computing, a visual programming language (VPL) is any programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations.

GRASS GIS

Geographic Resources Analysis Support System is a geographic information system (GIS) software suite used for geospatial data management and analysis, image processing, producing graphics and maps, spatial and temporal modeling, and visualizing. It can handle raster, topological vector, image processing, and graphic data.

Scientific visualization Interdisciplinary branch of science concerned with presenting scientific data visually

Scientific visualization is an interdisciplinary branch of science concerned with the visualization of scientific phenomena. It is also considered a subset of computer graphics, a branch of computer science. The purpose of scientific visualization is to graphically illustrate scientific data to enable scientists to understand, illustrate, and glean insight from their data. Research into how people read and misread various types of visualizations is helping to determine what types and features of visualizations are most understandable and effective in conveying information.

Visualization (graphics)

Visualization or visualisation is any technique for creating images, diagrams, or animations to communicate a message. Visualization through visual imagery has been an effective way to communicate both abstract and concrete ideas since the dawn of humanity. Examples from history include cave paintings, Egyptian hieroglyphs, Greek geometry, and Leonardo da Vinci's revolutionary methods of technical drawing for engineering and scientific purposes.

Perl Data Language is a set of free software array programming extensions to the Perl programming language. PDL extends the data structures built into Perl, to include large multidimensional arrays, and adds functionality to manipulate those arrays as vector objects. It also provides tools for image processing, machine learning, computer modeling of physical systems, and graphical plotting and presentation. Simple operations are automatically vectorized across complete arrays, and higher-dimensional operations are supported.

A user interface markup language is a markup language that renders and describes graphical user interfaces and controls. Many of these markup languages are dialects of XML and are dependent upon a pre-existing scripting language engine, usually a JavaScript engine, for rendering of controls and extra scriptability.

Windows Presentation Foundation (WPF) is a free and open-source graphical subsystem originally developed by Microsoft for rendering user interfaces in Windows-based applications. WPF, previously known as "Avalon", was initially released as part of .NET Framework 3.0 in 2006. WPF uses DirectX and attempts to provide a consistent programming model for building applications. It separates the user interface from business logic, and resembles similar XML-oriented object models, such as those implemented in XUL and SVG.

Orange (software)

Orange is an open-source data visualization, machine learning and data mining toolkit. It features a visual programming front-end for explorative rapid qualitative data analysis and interactive data visualization.

MayaVi

MayaVi is a scientific data visualizer written in Python, which uses VTK and provides a GUI via Tkinter. MayaVi was developed by Prabhu Ramachandran, is free and distributed under the BSD License. It is cross-platform and runs on any platform where both Python and VTK are available. MayaVi is pronounced as a single name, "Ma-ya-vee", meaning "magical" in Sanskrit. The code of MayaVi has nothing in common with that of Autodesk Maya or the Vi text editor.

YUI Library

The Yahoo! User Interface Library (YUI) is a discontinued open-source JavaScript library for building richly interactive web applications using techniques such as Ajax, DHTML, and DOM scripting. YUI includes several core CSS resources. It is available under a BSD License. Development on YUI began in 2005 and Yahoo! properties such as My Yahoo! and the Yahoo! front page began using YUI in the summer of that year. YUI was released for public use in February 2006. It was actively developed by a core team of Yahoo! engineers.

ParaView

ParaView is an open-source multiple-platform application for interactive, scientific visualization. It has a client–server architecture to facilitate remote visualization of datasets, and generates level of detail (LOD) models to maintain interactive frame rates for large datasets. It is an application built on top of the Visualization Toolkit (VTK) libraries. ParaView is an application designed for data parallelism on shared-memory or distributed-memory multicomputers and clusters. It can also be run as a single-computer application.

Integrated Land and Water Information System (ILWIS) is a geographic information system (GIS) and remote sensing software for both vector and raster processing. Its features include digitizing, editing, analysis and display of data, and production of quality maps. ILWIS was initially developed and distributed by ITC Enschede in the Netherlands for use by its researchers and students. Since 1 July 2007, it has been released as free software under the terms of the GPL-2.0-only license. Having been used by many students, teachers and researchers for more than two decades, ILWIS is one of the most user-friendly integrated vector and raster software programmes currently available. ILWIS has some very powerful raster analysis modules, a high-precision and flexible vector and point digitizing module, a variety of very practical tools, as well as a great variety of user guides and training modules all available for downloading. The current version is ILWIS 3.8.6. Similar to the GRASS GIS in many respects, ILWIS is currently available natively only on Microsoft Windows. However, a Linux Wine manual has been released.

Eye-Sys is a general-purpose commercial visualization application. It was developed by Interactive Data Visualization, Inc. (IDV), developers of the SpeedTree video game middleware. Eye-Sys development was partially funded by the U.S. Navy's Small Business Innovation Research (SBIR) program, and guided and administered by the Joint Warfare Analysis Center (JWAC).

VisIt

VisIt is an open-source interactive parallel visualization and graphical analysis tool for viewing scientific data. It can be used to visualize scalar and vector fields defined on 2D and 3D structured and unstructured meshes. VisIt was designed to handle very large data set sizes in the terascale range and yet can also handle small data sets in the kilobyte range.

Green Kenue is an advanced data preparation, analysis, and visualization tool for hydrologic modellers. It is a Windows/OpenGL-based graphical user interface, integrating environmental databases and geo-spatial data with model input and results data. Green Kenue provides complete pre- and post-processing for the WATFLOOD and HBV-EC hydrologic models. Also included is a 1D "reach scale" unsteady hydrodynamic flow solver, Gen1D.

MeVisLab

MeVisLab is a cross-platform application framework for medical image processing and scientific visualization. It includes advanced algorithms for image registration, segmentation, and quantitative morphological and functional image analysis. An IDE for graphical programming and rapid user interface prototyping is available.

The following outline is provided as an overview of and topical guide to the Perl programming language: