Module: Illuminated Streamlines ()

Description:

This module visualizes a 3D vector field using so-called illuminated streamlines (ISL). This technique was first presented on the Visualization '96 conference. More details are described in M. Zöckler, D. Stalling, H.-C. Hege, Interactive Visualization of 3D-Vector Fields using Illuminated Streamlines, Proc. IEEE Visualization '96, Oct./Nov. 1996, San Francisco, pp. 107-113, 1996.

The module computes a large number of field lines by integrating the vector field starting from random seed points. The lines are displayed using a special illumination technique, which gives a much better spatial understanding of the field's structure than ordinary constant-colored lines. In order to execute a script demonstrating this module click here.

The functionality of Illuminated Streamlines can be extended by means of the Seed Surface module.

To initiate distribution of seeds and recomputation of field lines, press the Apply button. Once the incoming vector field has changed or you have modified the number of field lines or the line's length, you must press Apply again in order to update the display.

Connections:

Data [required]
The vector field to be visualized. Since a procedural data interface is used, all types of vector fields are supported (e.g., fields on regular or curvilinear grids, as well as procedurally defined fields).

ColorField [optional]
An optional scalar field which, if present, will be used for pseudo-coloring. Often it is useful to create a scalar field from the vector field using the Magnitude module.

AlphaField [optional]
An optional scalar field which can be used to control the lines' opacity locally.

Distribution [optional]
Either an optional scalar field which can be used to control the distribution of seed points, or a vertex set that is used as seed points.

Colormap [optional]
The Colormap used to encode the color field. Will only be visible if a color field is connected to this module. This port is hidden if the Colorfield port is connected to an Unstructured Model Field. In that case, the colormap of the data set is used for the display.

Ports:

Color

This port is visible if no color field is connected to the module and it allows the user to change the color of the ISLs. Clicking on the icon opens a Color Dialog where the color can be set.

Colormap

The optional colormap. See Connections section.

Num Lines

Number of field lines to be displayed. The technique typically gives the best results with a rather large number of lines (e.g., 100-500). Note however that on systems with slow 3D graphics without texture hardware, having large number of lines can slow down rendering speed significantly.

Length

The length of the field lines, or more precisely, the number of atomic line segments, in forward respectively backward direction. The lines may stop earlier if a singularity (i.e., zero magnitude) is encountered or if the field's domain is left. By default lines are traced the same distance in the forward and backward direction. You may use the command setBalance to change this behavior.

Width

The width of the lines. Changing this parameter can be done without recomputing the lines.

Opacity

Base opacity factor of the lines. A value of 1 produces completely opaque lines, while 0 results in fully transparent lines.

Fade Factor

This port controls how fast opacity decreases along field lines if fade mode is enabled. The first atomic line segment will be assigned the base opacity set in port Opacity. The opacity of each successive segment will be multiplied by the value of this port. This is useful in order to encode the directional sign of a vector field. The vector field points in the direction of increasing transparency.

Step size

Integration step size of the ODE solver. This value will be multiplied with the diameter of the field's bounding box.

Alpha Window

This port will only be visible if fade mode is disabled and if an alpha field is connected to the module. In this case, the alpha field's values are mapped to opacity according to the range specified by this port. At locations where the alpha field is equal to or smaller than min, field lines will be completely transparent. Likewise, at locations where the alpha field is equal to or greater than max, field lines will be completely opaque.

Seed

This port defines the type of the random number generator that distributes the seed point. The generation can be random or constant.

Options

Fade: Enables fading mode as described above.
Lighting: Controls illumination of lines. If off, constant colored lines are drawn (flat shading).
Animate: Activates particle-like animation. The animation speed may be controlled via the command setAnimationSpeed.
DEC: Activates directionally encoded colors. The colors are generated from the tangent directions of the lines. Directions x, y, and z are mapped to colors red, green, and blue.

Seed Box

Clicking on XformBox or TabBox brings up a 3D dragger in the 3D Viewer. This allows you to restrict the region of interest, i.e. the region in which seed points are placed, by interactively transforming the dragger (Remember to switch the viewer into interaction mode by pressing ESC). After changing the box, you must press Apply to trigger recalculation.

Dist Res

This port can be used to adjust the resolution of the distribution scalar field that is internally used for the stochastic seeding. Larger numbers (higher resolution) allows for more detailed seeding. It is only visible if 'proportional' or 'equalized' distribution has been choosen.

Distribute

This port provides an option menu specifying how seed points are distributed inside the seed box. By default, a homogeneous (random) distribution will be used. Alternatively, proportional and equalize options allow distributing seed points according to the value of the Distribution field. If such a field is not connected to the module, then the seed points are distributed according to the vector field's magnitude. The proportional distribution generates the seed points with a density proportional to the field (magnitude or distribution). Instead of exactly being proportional, one would rather like to have a density distribution which resembles the field qualitatively, especially when its range varies over multiple orders of magnitude. Such an effect can be obtained using a histogram equalization approach provided by the equalize option that can be considered as a mixture of homogeneous and proportional seed point distribution.

Display box

This port is only displayed in projection mode. This port controls the projected seed box of the lines. The seed box is composed of a black shape representation and small green boxes that handle the manipulation. Pressing reset resizes the box to the bounding box of the connected data.

When using projection (see Projection Settings), only the lower left corner of the green boxes is used to compute the projected shape. Other boxes won't be synchronized with the box geometry.

Box center

This port is only displayed in projection mode. This port controls the center of the seed box. When using projection, it can happen that the value entered is invalid. In that case, the old value is displayed again.

Box scale

This port is only displayed in projection mode. This port controls the scale factor of the seed box. When using projection, it can happen that the value entered is invalid. In that case, the old value is displayed again.

Commands:

createLineSet
Can be used to create a line set object from the currently displayed lines.