OpenDX

URL: http://www.opendx.org/

Installation

Capabilities and Features

  • 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 academia, 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 discipline.
  • 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 base 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. Bo 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 structu res. These capabilities allow it to support disparate types of data simultaneously and to be adaptable to diverse problem. This data model describes and provides uniform ac cess services for any data bought into, generated by, or exported from the software. D X 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, inte ger, byte, etc. or real, complex, quaternion), where the data are located in space (po sitions), how the locations are related to each other (connections), mesh dependency o f data (i.e., node or cell center) or aggregation (e.g., hierarchies, series, composit es, multizone and adaptive grids, etc). It also supports those entities required for graphics and imaging operations within th e context o DX. Hence regular and irregular, structured and unstructured data are supp orted 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 is fully supported by an external disk-based representation (format) for import and expor t. Data may also be imported through public domain structures like Unidata's netCDF, N ASA's CDF and NASA's HDF, user-created custom filters and general array handler. The g eneral array importer provides a mechanism for the format of layout of data stored on disk, 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 supp orted 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 symmetr ic, multi-processor parallel workstations and servers, intramodule parallelism is supp orted through a simple fork-joint shared-memory paradigm. On a collection of networked workstations, parallelism is supported distributed servers (with a master-peer relati onship) to minimize intraprocessor/workstation communication and distributed process m anagement. 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 da ta. For vector data, arrow plots, streamlines, streaklines, etc. are provided. Realiza tions may be annotated with ribbons, tubes, axes, glyphs, text and display of data loc ations, meshes and boundaries. Data probing, picking, arbitrary surface and volume sam pling, and arbitrary cutting/mapping planes are supported.
  • DX supports a number of non-graphical functions such as point-wise mathematical expres sion (e.g., arithmetic, transcendental, Boolean, type conversions, etc.), univariate s tatistics and image processing (e.g., transformation, filter, wrap, FFT/DFT, edge dete ction, convolution, equalization, blending, morphological operations, etc.). Field/vec tor 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, de pending 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.
Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r3 - 21 Aug 2009 - RobAllan
 
This site is powered by the TWiki collaboration platform Powered by Perl This site is powered by the TWiki collaboration platformCopyright & by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback