Module: Stream LIC Surface ()

Description:

This module visualizes a vector field defined on an arbitrary triangular surface using line integral convolution (LIC). Alternatively, a 3D vector field projected onto such a surface can be visualized. The LIC algorithm works by convolving a random noise function along field lines tangential to the surface using a piecewise-linear hat filter. In this way for each triangle a small piece of texture is computed and mapped back onto the surface. The final surface texture clearly reveals the directional structure of the surface vector field. A similar 2D algorithm is implemented by the Stream LIC Slice module.

Press the Apply button to start the computation of the surface LIC texture. Computation may take a minute or more depending on texture resolution and on the number of triangles of the surface.

Click here to execute a script demonstrating the Stream LIC Surface module. Computation of the surface LIC texture may take about half a minute.

Connections:

Surface [required]
Surface for which a LIC texture is to be computed.

VectorField [required]
Surface vector field or 3D vector field to be visualized.

ColorField [optional]
An optional scalar field which can be used for pseudo-coloring.

Color field2 [optional]
An optional scalar field which can be used for pseudo-coloring. The colors are multiplied with the colors from the first colorfield

Colormap [optional]
Colormap used for pseudo-coloring. If no colormap is connected the default color of the colormap port will be used.

Colormap2 [optional] Colormap used for pseudo-coloring using the second scalar field. If no colormap is connected the default color of the colormap port will be used.

Ports:

Interpol

A radio box determining how the triangle textures are being filtered by the underlying OpenGL driver. Possible choices are constant or bilinear interpolation. Usually, you will not see a big difference unless you zoom up the image very much.

Contrast

This port provides two parameters controlling the amount of contrast of the final LIC texture. Input field center specifies the average gray value of the texture. Higher values result in brighter images. Input field factor determines the width of the gray value histogram, which is of Gaussian type. Higher numbers produce more contrast.

LIC

Parameter filter length specifies the one-sided length of the triangular filter kernel used for line integral convolution. The larger this value, the more coherent the grayscale distribution along the field lines. Often larger values are visually more attractive than smaller ones.

The second input determines the resolution of the LIC texture. More precisely, the width of a single texture cell is chosen to be equal to the length of the diagonal of the incoming vector field's bounding box divided by the value of the resolution field.

Color Mode

Color Mode

Four different color modes are provided. If Constant is selected, then a uniform overall base color is used for the LIC texture. This will be the default color of the colormap port or the left-most color of the colormap connected to this port, if any. If Magnitude is selected, then the LIC texture will be colored according to the magnitude of the vector field. Third, if Color field is selected, and a scalar field is connected to the module, then the LIC texture will be colored according to the values of this scalar field. Finally, if 2 ColorFields multiplied is selected, the LIC texture will be colored with two colors. The colors are chosen according to the values of the two scalar fields. The colors are multiplied.

Colormap

Port to select a colormap.

Colormap2

Port to select the second colormap.

Commands:

setAmbientColor <color>
Allows you to change the ambient color of the surface.

setDiffuseColor <color>
Allows you to change the diffuse color of the surface.

setSpecularColor <color>
Allows you to change the specular color of the surface.

setShininess <value>
Allows you to change the shininess of the surface.

setCreaseAngle <value>
Neighboring triangles will share a common vertex normal if the angle between their face normals is smaller than the crease angle. The default value is 60 degrees. This command lets you overwrite this value. Note that discontinuities will appear if the triangles of the input surface are not oriented in the same way. In order to fix this, use the command fixOrientation of the surface.