OpenDX - Documentation
Full Contents QuickStart Guide User's Guide User's Reference
Previous Page Next Page Table of Contents Partial Table of Contents Index Search

Chapter 1. Data Explorer Tools

Partial Table-of-Contents

  • 1.1 Tool Categories
  • Annotation
  • DXLink
  • Debugging
  • Flow Control
  • Import and Export
  • Interactor
  • Interface Control
  • Realization
  • Rendering
  • Special
  • Structuring
  • Transformation
  • Windows

  • Data Explorer tools (i.e., tool modules) perform a variety of functions to generate visual images. In the VPE window, their icons can be used as "building blocks" to create visual program networks, from which images are generated in the Image window. They can also be invoked from script-language programs or from the command line (when Data Explorer is in "script mode"). And they can be grouped together in macros for greater efficiency.

    Many modules are accessible through both the graphical user interface and the scripting language. Some, however, are available only through the user interface: the Interactors, the Color Editor, Image, Pick, Probe, Receiver, and Transmitter. Most have default values for parameter inputs, values that are (as much as possible) appropriate for the data involved. These defaults enable the new user to begin visualizing data with only a few connections and to customize a visualization program one step at a time.

    Tools are divided into the categories listed in the tool palette of the VPE window:

    The directory /usr/local/dx/samples/programs contains visual program examples that use these tools, along with a subdirectory (.../SIMPLE) of simpler examples. Use the Open file-selection dialog box to call up either directory (adding "/*.net" to the directory name when you enter it in the Filter text field). For a description of a visual program, either highlight the program name in the Files list of the dialog box and click on the Comments pushbutton or select the Application Comment option of the Help pull-down menu (after the visual program is loaded).

    The directory /usr/local/dx/samples/scripts contains script examples for all of the modules. Descriptions are included as comments in the script files themselves.

    The rest of this chapter summarizes the tool categories and the tools they contain. The order in which they appear is the same as that displayed in the palettes of the VPE window. For detailed descriptions of individual tools, see Chapter 2. "Functional Modules".

    Note: Two modules that appear in Chapter 2. "Functional Modules" are available only in script mode and so are not listed in any of the Visual Program Editor categories:

    Executive

    Executes an executive command (see Executive).

    KeyIn

    Waits for input from the system prompt in the window from which you invoked Data Explorer (see KeyIn).


    1.1 Tool Categories

    Annotation

    These tools add various kinds of information to a visualization.

    AutoAxes

    Creates an axes box for a specified data set, using a specified camera. The camera is required so that the AutoAxes module can determine how to position the axes box and labels.

    AutoGlyph

    Produces glyphs (a representational figure, such as an arrow) for every data value in an input Field. The size and type of glyph are based on the data it receives.

    Caption

    Creates a caption for an image. The caption position specified in pixel- or viewport-relative coordinates. Captions always remain aligned to the screen.

    ColorBar

    Creates a color bar to be displayed on the screen. It accepts a color map as input.

    Format

    Creates a string from numeric values. For example, you can create the string "Isosurface value = 23.4", where 23.4 is the output of an Interactor.

    Glyph

    Produces glyphs for every data value in an input Field. This module allows more precise control of glyph size than AutoGlyph does.

    Legend

    Produces a legend which associates a string with a color.

    Parse

    Separates a string into its component parts (e.g., the string "data = 3.7" into "data", "=", and the floating point value "3.7").

    Plot

    Creates a 2-dimensional plot from a line. You can specify: customized labels for the axes; axes limits; y-axes on the left and right sides of the plot; and logarithmic or linear axes.

    Ribbon

    Produces a ribbon of specified width from an input line. If a "normals" component is present on the line (e.g., if the curl option was used to create a streamline or streakline), the twist of the ribbon will correspond to the direction of the "normals."

    Text

    Produces text that appears in the "space" occupied by the image. That is, unlike Caption, this module specifies the text position and size in the same coordinates as the data.

    Tube

    Produces a tube of specified diameter and number of sides from an input line. If a "normals" component is present on the line (e.g., if the curl option was used to create a streamline or streakline), the twist of the tube will correspond to the direction of the "normals."

    DXLink

    These tools are used to control Data Explorer from a separate program.

    Note: According to UNIX alphabetical convention, capital letters precede lower case. Thus DXLink precedes Debugging in the category pallet of the VPE, and the DXLink routines precede Direction in the tools pallet and in the routine descriptions in Chapter 2. "Functional Modules".

    DXLInput

    Enables a remote DXLink application to set a parameter value in a visual program.

    DXLInputNamed

    Enables a remote DXLink application to set a parameter value in a visual program, but also allows the name of the variable to be set via a wire into the DXLInputNamed tool.

    DXLOutput

    Sends a value to a remote application.

    Debugging

    These tools facilitate the analysis of a program's execution.

    Describe

    Presents information about any Data Explorer object in the Message window.

    Echo

    Echoes a message. It can also print simple Array Objects (e.g., output of the Statistics module). In the user interface this output appears in the Message window.

    Message

    Displays a message to the user, either in the Message window or in a pop-up dialog box.

    Print

    Prints information about an Object (e.g. a Field or a Camera). You can specify the level of detail. In the user interface the output appears in the Message window.

    System

    Allows you to execute arbitrary operating-system commands.

    Trace

    Enables the tracing of time spent in a module, tracing of memory, or the use of debugging flags or user-written modules.

    Usage

    Prints the amount of memory currently being used by Data Explorer.

    Verify

    Checks an Object for internal consistency.

    VisualObject

    Creates a renderable object representing an object's hierarchy.

    Flow Control

    These tools control the flow of execution in a visual program.

    For additional information, see Chapter 4. "Data Explorer Execution Model" in IBM Visualization Data Explorer User's Guide.

    Done

    Specifies whether an executing loop should terminate.

    Execute

    Allows the user to change the execution state of a visual program without using the Execute pull-down menu in the user interface.

    First

    Indicates whether the current iteration of the loop is the first.

    ForEachMember

    Initiates a loop for each member of a group or item in an array.

    ForEachN

    Iterates through a specified set of integers.

    GetGlobal

    Retrieves an object from the cache. Maintains state between executions.

    GetLocal

    Retrieves an object from the cache.

    Route

    Routes an Object through selector-specified output paths.

    SetGlobal

    Places an object in the cache. Maintains state between executions.

    SetLocal

    Places an object in the cache.

    Switch

    Switches the output between a list of inputs.

    Import and Export

    The first two tools listed, along with ReadImage and WriteImage, are concerned with the flow of data into and out of a visual program. The others typically process data immediately after it has been imported.

    Export

    Exports Objects created in Data Explorer to an external data file (in Data Explorer file format).

    Import

    Brings data into Data Explorer from a specified file. If the file contains more than one variable or contains multiple frames of data, portions of the data can be specified for importation. Supported formats are native Data Explorer format, CDF, netCDF, HDF, and General Array format.

    ImportSpreadsheet

    Brings data into Data Explorer from spreadsheet, or tabular, data file.

    Include

    Includes (or excludes) points based on their data values (e.g., removing all points with data values greater than 9.3). It can also be used to remove data marked as invalid.

    Partition

    Subdivides data to take advantage of parallelism for Data Explorer SMP. You can control the level of subdivision.

    ReadImage

    Reads an image from an external file.

    Reduce

    Reduces the resolution of a data set, filtering and resampling the set at a lower resolution.

    Refine

    Increases the number of samples in a data set. This module interpolates data values or colors at the new positions from the data or color values at the original positions. It can also convert connections from quads or faces to triangles, and from cubes to tetrahedra.

    Slab

    Takes a positional subset of a data set with regular connections (cubes, quads, and lines). You can specify along which axis to take the subset, where the slab should begin, and how thick the slab is to be. The module performs no interpolation.

    Slice

    Takes a positional subset of a data set with regular connections, like the Slab module. However, unlike the Slab module, it creates output with a dimensionality 1 less than the dimensionality of the input. For example, you can import a data set as a 4-dimensional grid, with the fourth dimension representing time. You can then use the Slice module to create 3-dimensional slices of the data set.

    Stack

    Stacks a series of n-dimensional Fields to form a single (n+1)-dimensional Field. This module can also be used to increase the dimensionality of a single Field.

    Transpose

    Transposes the positions of a Field. For example, it can interchange the x and y axes.

    WriteImage

    Writes an image to an external file in a specified format. The same functionality is provided by the SaveImage option of the File pull-down menu of the Image window.

    Interactor

    These tools provide interactive control of inputs to other modules in visual programs. They can be used only with the user interface.

    For additional information, see 7.1 , "Using Control Panels and Interactors" in IBM Visualization Data Explorer User's Guide. Interactors are named after the type of data they control:

    FileSelector

    Presents a standard Motif file-selector dialog box. The output is a file name.

    Integer

    Presents a stepper, slider, dial, or text interactor. The output is a whole number.

    IntegerList

    Presents a scrolled-list or text interactor. The output is a list of integers.

    Reset

    Presents a toggle button. The output is one value the first time it is run, and a different value on subsequent runs until the toggle is selected again.

    Scalar

    Presents a stepper, slider, dial, or text interactor. The output is a real number.

    ScalarList

    Presents a stepper, slider, dial, or text interactor. The output is list of scalar values.

    Selector

    Presents an option menu, a set of radio buttons, or a toggle button. The outputs are a value and a string, representing a choice from a selection.

    SelectorList

    Presents a selection list. The output is a list of values and a list of strings, representing a choice of one or more from many.

    String

    Presents a text interactor. The output is a text string.

    StringList

    Presents a scrolled-text list. The output is a list of strings.

    Toggle

    Presents a toggle button. The output is one of two values (set or unset).

    Value

    Presents a text interactor. The output is a value (scalar, vector, tensor, or matrix).

    ValueList

    Presents a scrolled list or text interactor. The output is a value list.

    Vector

    Presents a stepper or text interactor. The output is a vector.

    VectorList

    Presents a scrolled-list or text interactor. The output is a vector list.

    Interface Control

    These tools are used to control Data Explorer tools from within a visual program.

    ManageColormapEditor

    Allows colormap editors to be opened and closed from within a visual program.

    ManageControlPanel

    Allows control panels to be opened and closed from within a visual program.

    ManageImageWindow

    Allows image windows to be opened and closed from within a visual program.

    ManageSequencer

    Determines whether the Sequence control panel is displayed or not.

    Realization

    These tools create structures for rendering and display (e.g., bands, triangle connections, isosurfaces, and boundary boxes).

    AutoGrid

    Maps a set of scattered points onto a grid. The grid will be created automatically by Data Explorer.

    Band

    Divides a Field into bands based on given division values.

    Connect

    Creates triangle connections for a Field of scattered positions.

    Construct

    Constructs an arbitrary Field. You can specify the origin, the deltas, the counts in each dimension, and the data. You can also use Construct to create a Field containing a "positions" component with given position values (e.g., the output of the ProbeList tool).

    Enumerate

    Generates a numeric list.

    Grid

    Produces a set of points on a grid. You can construct rectangles, ellipses, lines, crosshairs, and bricks. You can specify the size of the object and the number of points in the grid.

    Isolate

    Shrinks the connections elements of a Field so that they can be individually seen.

    Isosurface

    Creates surfaces or lines of constant value. For volumetric inputs, it creates isosurfaces; for surface inputs, contour lines. Use the ClipPlane module to display the interior of an isosurface.

    MapToPlane

    Maps a 3-dimensional data Field onto an arbitrary plane. You can specify a point and a normal to define the plane.

    Regrid

    Maps a set of scattered points onto a specified grid.

    RubberSheet

    Deforms a surface field (composed of triangles, quads, or lines) by an amount proportional to the data value at each point. You can use the Normals or FaceNormals module to add shading before rendering.

    Sample

    Produces a set of points in an arbitrary field. For example, you can produce a set of approximately evenly spaced samples on an isosurface.

    ShowBoundary

    Creates a renderable object that is the boundary of a volumetric field.

    ShowBox

    Creates a set of renderable lines that represent the bounding box of a field.

    ShowConnections

    Creates a set of renderable lines that represent the connections of elements in a field.

    ShowPositions

    Creates a set of renderable points that represent the positions of a field.

    Streakline

    Computes a line that traces the path of a particle through a changing vector field. The data input to the module is a vector field series, or a single field that is a member of a vector field series. You can control the starting points of the streaklines, and can optionally provide a curl field to produce twist on any ribbons or tubes constructed from the streakline.

    Streamline

    Computes a line that traces the path of a particle through a constant vector field. The data input to the module is a vector field. You can control the starting points of the streamlines, and can optionally provide a curl field to produce twist on any ribbons or tubes constructed from the streamline.

    Rendering

    These tools create a displayable image from a renderable object or modify the visual characteristics of the object(s) being displayed. For example, Normals and FaceNormals could be used to add shading to a geometrical structure created with RubberSheet (Realization category), while Light and AmbientLight could be used to change its default lighting.

    AmbientLight

    Produces an ambient light. You can specify the color of the light. Ambient lights illuminate a surface equally, regardless of direction, so an object illuminated only with ambient light is not shaded. Note that it is not necessary to specify an ambient light, because a small amount of ambient light is built into the object model. However, explicitly specified lighting overrides the default lighting.

    Arrange

    Creates a single image from a collection of images. You can specify how many images to put in a row.

    AutoCamera

    This module produces an appropriate camera as input to the Render or Display module. Specifying a "look-from" direction changes this default camera. The width of the image in model units (orthographic projection) or the field of view (perspective projection), or the image size and aspect ratio can also be changed.

    Camera

    Produces a camera for input to the Render or Display module. You can specify the "look-to" point, the "look-from" point, the width of the image in units corresponding to those in the data, the image size, and the aspect ratio. Camera differs from AutoCamera in that it specifies a "look from" a point instead of a direction.

    ClipBox

    Clips an object using a box. You can specify the box explicitly, as the two corners defining a box, or it can be the bounding box of an object. The module renders only that part of the object inside the box. The Render, Display, or Image tool actually performs the clipping.

    ClipPlane

    Clips an object by a plane. The user specifies the plane with a point and a normal. The side of the plane the normal projects into is the side that will be clipped (i.e., not displayed). The Render, Display, or Image tool performs the clipping.

    Display

    Renders and/or displays an image to the screen. If a camera is not provided, the Display module expects the first input to be an image (e.g., the output of Render or Arrange).

    FaceNormals

    Computes normals on a surface. When you use the FaceNormals module, each face of the surface is flat-shaded.

    Image

    This tool renders and displays an image to the screen. It performs like the AutoCamera and Display modules combined. Using the Image tool to render an image enables many direct interactors that are not available when using AutoCamera and Display. These options are available in the View Control option of the Options pull-down menu in the Image window. For example, see "Controlling the Image: View Control..." in IBM Visualization Data Explorer User's Guide. The Image tool is available only in the graphical user interface.

    Light

    Produces a distant point light. You can specify the direction and color of the light. Note that it is not necessary to specify a light, because there is a default light built into the object model; however, explicitly specified lighting overrides the default lighting.

    Normals

    Computes point or face normals for shading a surface. For example, you can use this module to produce shading on rubbersheets and boundaries. However, shading on an isosurface is smoother if you use the gradient shading options built into the Isosurface module.

    Overlay

    Overlays two images. The result is a new image that can be displayed using the Display module. The new image is a pixel-by-pixel sum of the two images, where 1 - blend attenuates the base-image pixels, and blend attenuates the overlay-image pixels, (blend is a value between 0 and 1). You can also perform chromakeying by specifying blend as an RGB color or as a string specifying a color.

    Render

    Renders an object and creates an image. The object can be any combination of volumes, surfaces, lines, and points, and you can clip the object. You need to provide a camera to the Render module to specify the viewing direction.

    Reorient

    Rotates or inverts an image or a group of images.

    Rotate

    Rotates an object around specified axes. The Render, Display, or Image tool actually performs the rotation.

    Scale

    Changes an object's dimensions along the x, y, and z axes. The scaling is actually performed in the Render, Display, or Image tool.

    ScaleScreen

    Scales all screen objects (typically captions and color bars) by a specified amount.

    Shade

    Allows you to specify object-shading parameters such as specularity.

    Transform

    Moves, rotates, and resizes an object. The Render, Display, or Image tool actually performs the translation.

    Translate

    Moves an object along the x, y, and z axes. The Render, Display, or Image tool actually performs the translation.

    UpdateCamera

    Makes specified alterations to the input camera.

    Special

    Tools in this category can be used in visual programs for a variety of purposes.

    Note: For details, see the sections of the IBM Visualization Data Explorer User's Guide referred to in the following list.

    Colormap

    Presents an interactor tool for creating color maps.

    Input

    Defines an input to a macro. See 7.2 , "Creating and Using Macros" for information.

    Output

    Defines an output of a macro. See 7.2 , "Creating and Using Macros" for information.

    Pick

    Allows the user to pick objects in a scene using the mouse. See "Using Pick" for information.

    Probe

    Allows the user to pick an xyz point in a scene using the mouse. See "Using Probes (Cursors)" for information.

    ProbeList

    Allows the user to pick multiple xyz points in a scene using the mouse. See "Using Probes (Cursors)" for information.

    Receiver

    Receives the output of a transmitter for "wireless" connections. See "Using Transmitters and Receivers" for information.

    Sequencer

    Allows animation of a visual program. See "Using the Sequencer" in IBM Visualization Data Explorer User's Guide for information.

    Transmitter

    Outputs an Object for "wireless" connections. See "Using Transmitters and Receivers" for information.

    Structuring

    These tools manipulate Data Explorer data structures. Their functions include the creation of hierarchies, selection of elements in a hierarchy, allowing operations on components other than "data," manipulation of Field or Group components, and determining which branches of a visual program are to be executed.

    Append

    Adds Objects as members to an existing Group.

    Attribute

    Extracts an attribute from an Object.

    ChangeGroupMember

    Inserts, renames, or deletes a member of an existing Group.

    ChangeGroupType

    Changes the type of a Group.

    Collect

    Collects Objects into a Group. For example, you can use Collect to collect a streamline, an isosurface, and a light. You can then pass the collection to the Image tool.

    CollectMultiGrid

    Collects Objects into a Multigrid (a Group that will be treated as a single data Object).

    CollectNamed

    Collects Objects into a Group (like Collect) but allows each Object in the Group to be given a name.

    CollectSeries

    Collects Objects into a Series. You give each element of the series a series position (e.g., a time tag).

    CopyContainer

    Copies the top container Object.

    Extract

    Extracts a component from a Field (e.g., the "colors" component).

    Inquire

    Returns information about the input Object (e.g., data type, number of elements, etc.).

    List

    Concatenates several items into a single list.

    Mark

    Marks a specified component in a Field as the data component. Many modules operate only on the "data" component. Thus the Mark module allows modules to operate on components other than data (e.g., "positions" or "colors"). If a "data" component already exists, it is preserved in a "saved data" component. You can restore it by using the Unmark module.

    Options

    Associates attributes with an Object. For example, plotting options such as marker type can be specified by adding attributes to the line.

    Remove

    Removes a specified component from a Field.

    Rename

    Renames a component in a Field. For example, you could rename the "colors" component to "front colors" to get only front-facing colors. You should be aware that component names have special meanings to modules using them. See Chapter 3. "Understanding the Data Model" in IBM Visualization Data Explorer User's Guide.

    Replace

    Replaces a component in one Field with a component from another, or with an input Array.

    Select

    Selects members out of a Group or elements from a list. two isosurfaces, a streamline, and a mapped plane. You could then use the selector input to the module to choose which of these is the output of the module.

    Unmark

    Undoes the action of the Mark module. It moves the "data" component back to the component you specify, and the "saved data" component is restored to the "data" component.

    Transformation

    These tools generally modify or add to components of the input Field without changing its underlying positions and connections. For example, AutoColor creates a "colors" component based on the data values of a Field and Compute performs a mathematical operation on the "data" component of a Field.

    AutoColor

    Automatically colors a data Field. By default, the minimum data value is blue, the maximum data value is red, and data values between are blue to red through cyan, green, and yellow. You can control what subset of the data range to color and what portion of the color wheel to use. You can also control the opacity of the object and the intensity of the colors. AutoColor also chooses appropriate colors and opacities for volume rendering.

    AutoGrayScale

    Automatically colors a data field using a gray scale.

    Categorize

    Categorizes data, creating an integer data component along with a lookup table into which the integers reference.

    CategoryStatistics

    Performs various statistics such as minimum, maximum, number of items, etc., on categorical data.

    Color

    Allows you more control over the coloring of an object than is possible with AutoColor. You can specify a string representing a color (e.g., "spring green"), an RGB color, or a color map (from the Colormap Editor, for example) to be applied to a data Field. You can also use the Color module to make objects (e.g., isosurfaces) translucent.

    Compute

    Performs point-by-point arithmetic on a Field or Fields. For example, it can add the "data" component of one Field to the tangent of the "data" component of another Field. You can also use the Compute module to select components from a vector data Field; construct a vector "data" component from a set of scalar input data Fields; or perform conditional operations.

    Compute2

    Differs from Compute in allowing the expression to be passed in by means of an input tab (e.g., from a Selector interactor).

    Convert

    Converts between hue, saturation, and value color space and red, green, and blue color space. You can convert either a single vector, a list of vectors, or a color map.

    DFT

    Performs a discrete Fourier transformation on a 2- or 3-dimensional field.

    Direction

    Converts azimuth, elevation, and distance to Cartesian coordinates (x, y, and z), which are useful for specifying camera viewing directions and for specifying ClipPlane or MapToPlane normal directions.

    DivCurl

    Computes the divergence and the curl of a vector field.

    Equalize

    Applies histogram equalization to a field.

    FFT

    Performs a fast Fourier transformation on a 2- or 3-dimensional field.

    Filter

    Filters a Field. You can specify a name describing a filter (e.g., "laplacian") or a filter matrix explicitly.

    Gradient

    Computes the gradient of a scalar Field.

    Histogram

    Computes a histogram and the median of an input data Field. You can then use Plot to visualize the result as a 2-dimensional graph.

    Lookup

    Uses one object to look up the value of another object in a field.

    Map

    Maps Fields onto one another. For example, you can map a data Field onto an isosurface or onto a tube that has been formed from a streamline.

    Measure

    Performs measurements (e.g., surface area or volume) on a data Object.

    Morph

    Applies a binary morphological operator, such as erode or dilate.

    Post

    Changes the dependency of data (and other components) between positions and connections.

    QuantizeImage

    Converts an image from a format containing (potentially) as many colors as pixels to a quantized image with a color map with a user-specified number of colors between 8 and 256.

    Sort

    Sorts a list or Field based on values in the data component.

    Statistics

    Computes the statistics of a Field: the mean, standard deviation, variance, minimum, and maximum. You can use these statistics as input for other modules, or print them using the Echo or Print modules.

    Windows

    These tools create or supervise image windows.

    ReadImageWindow

    reads back an image (pixels) from an Image or Display window, for both hardware and software rendered images.

    SuperviseState

    watches for and acts on mouse and keyboard events in a Display window, based on user-defined callbacks.

    SuperviseWindow

    creates a window which will be monitored by SuperviseState.


    Full Contents QuickStart Guide User's Guide User's Reference

    [ OpenDX Home at IBM | OpenDX.org ]