Module: Stream LIC Slice ()

Description:

This module intersects an arbitrary 3D vector field and visualizes its directional structure in the cutting plane using a technique called line integral convolution (LIC). The LIC algorithm works by convolving a random noise image along the projected field lines of the incoming vector field using a piecewise-linear hat filter. The synthesized texture clearly reveals the directional structure of the vector field inside the cutting plane. As long as no valid LIC texture has been computed, a default checkerboard pattern is displayed instead.

Stream LIC Slice is derived from Clipping Plane. See the documentation of this module for details on how to adjust the position and orientation of the cutting plane. Click here in order to execute a script demonstrating the use of the Stream LIC Slice module.

Press the Apply button to start the computation. If no LIC texture has been computed yet, a default checkerboard pattern is displayed. This pattern is also displayed as soon as filter length or resolution are changed. Press the Apply button again in order to update the texture.

Connections:

Data [required]
Vector field to be visualized.

ROI [optional]
Connection to a module providing a region-of-interest, like ROI Box.

ColorField [optional]
A scalar field which may be used for pseudo-coloring.

Colormap [optional]
Colormap used for pseudo-coloring. If no colormap is connected the default color of the colormap port will be used. The port is hidden if pseudo-color mode is set to none. The port is also hidden if the Data or Colorfield port is connected to an Unstructured Model Field. In that case, the colormap of the data set is used for the display.

ColorField2 [optional]
A second scalar field which may be used for pseudo-coloring with two color fields.

Colormap2 [optional]
Colormap used for pseudo-coloring with a combination of two color fields. If no colormap is connected the default color of the colormap port will be used. The port is hidden if the Colorfield2 port is connected to an Unstructured Model Field. In that case, the colormap of the data set is used for the display.

Ports:

Orientation

This port provides three buttons for resetting the slice orientation: xy perpendicular to the z-axis, xz perpendicular to the y-axis, or yz perpendicular to the x-axis.

Options

If toggle adjust view is active, then the camera of the 3D viewer will be reset whenever one of the orientation buttons is clicked.

If the rotate toggle is active, then a virtual trackball is displayed. By picking and dragging the trackball you may change the orientation of the plane. Remember that the viewer must be in interaction mode in order to do so. The ESC key inside the viewer window toggles between navigation mode and interaction mode. The trackball of the last active Clipping Plane can also be turned on and off by pressing the TAB key inside the viewer window.

The fit to points toggle lets you reset the plane by clicking on at least 3 different points in the scene. After enabling this toggle, you should switch to interaction mode by pressing the ESC key inside the viewer. Then click 3 times at different points on any geometry in the scene. The plane then will be automatically adjusted to match these points. The virtual trackball - visible when rotate toggle is active - will be moved to the center of the picked points. After 3 points have been picked, this toggle is automatically unchecked, unless you pressed the shift key. Shift-clicking allows you to select more than 3 points. In this case the plane that best fits the selected points will be computed.

Translate

This port lets you translate the plane along its normal direction.

Frame

This port is used to display or hide the frame, set the frame width and color.

LIC

The input denoted filter length controls the one-sided length of the filter kernel used for line integral convolution. The larger this value is, the more coherent the grayscale distribution along the field lines. Often larger values are visually more attractive than smaller ones. A value of 0 lets you see an isotropic noise pattern without any directional information.

The second input of this port determines the resolution of an intermediate sampling raster used to compute field lines. Fine details of the vector field might be missed if the sampling resolution is too low. The resolution value also has an effect on the granularity of the resulting LIC image. The size of the LIC texture being computed is chosen to be the next power of two larger than or equal to the sampling resolution. For example, if the resolution is set to 128, the size of the LIC texture will be 128x128. If the resolution is set to 129, then a LIC texture of size 256x256 will be computed, resulting in much finer structures.

The third input of this port denoted as seed allows control of the generation of the noise pattern. A value of 0 means that a different random noise pattern is used for each successive calculation. Any other value allows use of the same noise pattern each time a computation is started. The latter yields better results for videos where the LIC plane slices through a volume.

Phase

This port will only be visible if a complex-valued vector field is connected to the module. It provides a phase slider controlling which part of the complex 3D vectors is visualized. A value of 0 degree corresponds to the real part, while a value of 90 degrees corresponds to the imaginary part. Other values yield intermediate vectors

Hide undefined values

If checked, locations where there is no data value or where extracted data values are equals to the undefined value are displayed as transparent pixels.

If a TetraComplexVectorField3, a TetraVectorField3, an EdgeElemVectorField3 or an EdgeElemComplexVectorField3 is connected to the module, only locations where there is no data value will be discarded.

Colorize

Colorize

An option menu allowing to select different pseudo-color modes. If item none is selected, the LIC texture will be displayed in grayscale only. If Magnitude is selected, each pixel of the LIC texture will be colored according to vector magnitude at this point. If normal component is selected, then color denotes the signed length of the vector component perpendicular to the cutting plane. This length will be positive if the vector points upwards or negative if the vector points downwards. If parallel component is selected, then color denotes the length of the vector component tangential to the plane. This length will always be greater or equal than zero. Finally, if color field is selected, and if a scalar field is connected to port ColorField, the external scalar field will be used for pseudo-coloring. There is a second mode 2 color fields multiplied. This mode makes it possible to visualize two color fields at the same time. The color fields have to be attached to the ports ColorField and ColorField2. The colors of each field are multiplied and then applied to the final image.

Colormap

Port to select a colormap. See Connections section.

Colormap2

Port to select the second colormap that is applied to the second color field. See Connections section.

Plane Definition

Set Plane

The Plane Definition toggle lets you to show/hide exact plane definition ports.

Plane definition








Please refer to the Clipping Plane documentation.

Commands:

setNumSubPixels {1|2|3}
Allows you to change an internal parameter of the LIC algorithm. Since LIC images contain very high spatial frequency components, they are susceptible for aliasing. Aliasing can be almost eliminated by choosing the number of sub-pixels to be 2 or even 3. However, this is achieved at the expense of increased computing time.

writeTexture <filename>
This command allows you to write the current LIC texture into a file in raw PPM format.