LEA Flow Textures

Synopsis

This module provides an implementation of the "Lagrangian-Eulerian Advection for Unsteady Flow Visualization" algorithm to visualize 2D unsteady vector fields.

Input Ports

Name Type Description

Vector_Field Mesh_Struct+Node_Data Field with 2D vector node data.

Parameters

Name Type Description Name

nx, ny int output texture resolution Fields
integrationStep int integration step size Slider
blendCoef float
temporal blending Slider
licOn int enables LIC computation Toggle Button
normalizationOn int LIC vector field normalization Toggle Button
intensityCorrectionOn int LIC intensity correction Toggle Button
kernelLength int LIC kernel length Slider
maskOn int enable mask Toggle Button
alphaOn int transparency Toggle Button
velocityMaskVersion int contrast
Slider
nInitialSteps int number of initial steps Field
nStepsAtOnce int number of steps at once Field
trigger int automatic update (1); continuous run (2) Toggle Button

Output Ports

Name Type Description

lea_img IPfld the computed LEA texture
obj DefaultObject renderable version of lea_img
textured_obj DefaultObject textured input field

Description

This module provides an implementation of the "Lagrangian-Eulerian Advection for Unsteady Flow Visualization" algorithm to visualize 2D unsteady vector fields.

Vector fields are represented as grayscale textures, spatially correlated along the flow. This technique produces still images of a steady vector field, but is mainly intended to depict the dynamic behavior of unsteady vector fields. In this case, a series of subsequent textures will display the path of thousands of particles in a comprehensive and intuitive manner. These particles follow pathlines in time while any single texture shows the instantaneous structure of the flow.

Parameters

Inputs

Vector_Field
The vector field to be visualized. Must be a 2D field with either two scalar components or one component with veclen = 2. When vector field values change, the computation of a new texture is triggered. This is the way to produce unsteady flow animations. Note that subsequent vector fields must change smoothly in order to produce smooth animations. It may be useful feed this module with interpolated intermediate vector fields for optimal results.

Parameters

nx, ny
These parameters set the resulting output texture resolution. The image dimensions are forced to respect the input vector field aspect ratio.
integrationStep
Set the integration step size for the advector calculation. This integration step size specifies the maximum distance the texel property will be advected between two computations. The size, in texels, is relative to the output texture resolution. If you double nx and ny, do not forget to double the integrationStep to produce higher resolution animation of the same phenomenon.
blendCoef
Specifies the temporal blending coefficient. This coefficient controls a long time exposure photography effect enabling spatial correlation in the resulting image. A typical value for blendCoef is 0.9. If blendCoef = 0, there is no blending and the output texture shows the instantaneous distribution of particle properties.
licOn
If set enables LIC filter computation. This filter enhances the resulting texture by fading out the high frequencies along the flow.
normalizationOn
LIC vector field normalization.

intensityCorrectionOn

The LIC filters correct the resulting texture image luminosity based on the local velocity magnitude.

kernelLength

LIC filter kernel length. A typical range for this parameter is between integrationStep and 2*integrationStep .

maskOn

If set applies a mask to the resulting image to remove noise from areas with low velocity.

alphaOn

The image transparency is set depending on the local velocity magnitude.

velocityMaskVersion

This parameter sets the mask contrast value. On the user interface this slider is called Contrast.

nInitialSteps

Displays the first image after nInitialSteps advection steps. This is necessary to have a well correlated first image. A good value for nInitialSteps is 15 to 30.

nStepsAtOnce

Number of computation steps between generated images. Allows to advect property over a longer distance without changing the integrationStep .

trigger

Sets the automatic computation behavior: On the user interface this parameter is computed from the setting of the two toggle buttons Automatic Update and run.

Outputs

lea_img

The computed texture image.
obj
Renderable version of lea_img.

textured_obj

The computed LEA image textured on a quadrilateral with the same aspect ratio of the input vector field.

Example

The LEA_Example application display LEA Flow Textures on a slice of the wind.fld demo dataset. Push the run toggle to see the flow of the vector field.

Files

iac_proj/lea/lea.v

Creates the IAC_PROJ.LEA library.

iac_proj/lea/lea_advector.v

End user module for The LEA Flow Texture routines.

iac_proj/lea/lea_example.v

LEA example application.

iac_proj/lea/lea_lib-1.0

The computation routines for the LEA algorithm. This directory is included as is received from the author.

iac_proj/lea/lea_mod.v and iac_proj/lea/lea_mod.cxx

Interface module to the LEA library.

Special compilation instructions

Before compiling the Express project the LEA library must be rebuilt. Go to the lea_lib-1.0 directory and follow the INSTALL instructions, or simply execute the Makefile provided. The library and the project itself have been tested only on Linux.

Author

Bruno Jobard 
CSCS, Swiss Center for Scientific Computing

Modifications

Mario Valle
CSCS, Swiss Center for Scientific Computing

Contact

International AVS Centre
Manchester Visualization Centre
Kilburn Building
University of Manchester
Oxford Road
Manchester
United Kingdom
M13 9PL
Bruno Jobard
bjobard@univ-pau.fr
LIUPPA, Université de Pau, BP 1155,
64013 PAU Cedex, France

See Also

The LEA algorithm is described in the paper "Lagrangian-Eulerian Advection for Unsteady Flow Visualization" written by Bruno Jobard, Gordon Erlebacher and M.Y. Hussaini. Other related papers are:
  1. Bruno Jobard, Gordon Erlebacher and Youssuf Hussaini, Lagrangian-Eulerian Advection of Noise and Dye Textures for Unsteady Flow Visualization, in IEEE Transactions on Visualization and Computer Graphics 8(3): 211-222 July-September 2002.
  2. Youssuf M. Hussaini, Gordon Erlebacher and Bruno Jobard, Real-Time Visualization of Unsteady Vector Fields, to appear in journal of American Institute for Aerospace and Aeronautics.
  3. Bruno Jobard and Jean M. Favre, Advanced Flow Representations Applied to Wind Visualization. In proceeding of the 8th Workshop on Meteorological Operational Systems, ECMWF in Reading (UK), November 12-16, 2001.
  4. Bruno Jobard, Gordon Erlebacher and Youssuf Hussaini, Lagrangian-Eulerian Advection for Unsteady Flow Visualization , In proceedings of IEEE Visualization'2001, San Diego, California, October 2001.
Paper and videos can be downloaded also from: http://www.cscs.ch/~bjobard/Research/Publications/vis2001/lea_paper.htm