Next: Connectivity to other programs
Up: Special Tools
Previous: Special Tools

Workhorse classes: OoDataGrid and OoFunction

Rather than try to describe the class hierarchy provided by Oorange, we limit our discussion to two foundation classes which are part of many Oorange networks [12]. The first, OoDataGrid, represents arbitrary multiple dimensional arrays with an arbitrary ``fiber'' of data at each entry. This fiber is represented as a character string (adopted from Objective C) with one character for each entry. For example, ``ddd'' represents a chunk of data consisting of three double precision numbers, while ``difz'' represents a sequence of a double, integer, float, and complex packed together.

The datagrid class is the class underlying images and shapes. The currently selected node in the Oorange session image contains an instance of this class; the inspector for the instance is highlighted in the inspector manager above the network editor. There are a wide range of operations defined on OoDataGrid, such as resize, convolution, fiber re-mapping, fiber conversion, grid reformatting, and contraction. Datagrids can be combined by binary arithmetic operations, tensor product, or appending; or extracted by slicing.

Closely coupled with datagrids is OoFunction. This is an object wrapper for a C-function with arbitrary input and output, which can be edited, compiled and dynamically linked into a running Oorange session. In this way users can usually adapt existing C code to run in Oorange without having to learn or create any Objective C code. In particular, the full power of standard C libraries can be harnessed within Oorange. Functions can be applied to datagrids to yield an image datagrid.

Copyright © 1997 Sonderforschungsbereich 288, Differential Geometry and Quantum Physics, TU-Berlin