Presentation is loading. Please wait.

Presentation is loading. Please wait.

Visualizing Time-Varying Three-Dimensional Flow Fields Using Accelerated UFLIC Zhanping Liu, PhD Robert J. Moorhead II, PhD Visualization Analysis & Imaging.

Similar presentations

Presentation on theme: "Visualizing Time-Varying Three-Dimensional Flow Fields Using Accelerated UFLIC Zhanping Liu, PhD Robert J. Moorhead II, PhD Visualization Analysis & Imaging."— Presentation transcript:

1 Visualizing Time-Varying Three-Dimensional Flow Fields Using Accelerated UFLIC Zhanping Liu, PhD Robert J. Moorhead II, PhD Visualization Analysis & Imaging Lab ERC / GeoResources Institute Mississippi State University 11th International Symposium on Flow Visualization, Notre Dame, Indiana, Aug 9-12, 2004

2 Outline Volume AUFLIC VAUFLIC rendering Results VAUFLIC (Volume AUFLIC) Conclusions AUFLIC (Accelerated UFLIC) Overview Flow-driven seeding strategy Dynamic seeding controller Introduction Flow visualization LIC (Line Integral Convolution) UFLIC (Unsteady Flow LIC)

3 Introduction Flow Visualization Major Challenges In-depth perception of directions Computational performance Increasingly large-scale data size Time-varying flows Flows defined on complex grids Feature extraction & tracking arrow plots, streamlines, pathlines, timelines, streaklines, particle tracing, surface particles, stream ribbons, stream polygons, stream surfaces, stream arrows, stream tubes, stream balls, flow volumes, and topological analysis Available Methods Graphics Based Methods achieve either local, discrete, coarse, or cluttered representations using various graphical primitives Texture / Image Based Methods employ texture synthesis and image processing to provide global, continuous, dense, pleasing representations Spot Noise, LIC (Line Integral Convolution), UFLIC (Unsteady Flow LIC), HATA (Hardware-Accelerated Texture Advection), IBFV (Image-Based Flow Visualization), LEA (Lagrangian-Eulerian Advection), UFAC (Unsteady Flow Advection-Convolution), and their variations

4 Introduction LIC A LIC image color-mapped with the velocity magnitude (blue: lowest; red: highest)

5 noise texture (fine sand) flow field (wind) LIC image (pattern) Introduction LIC Basic Idea LIC (Line Integral Convolution) was presented by Brian Cabral and Casey Leedom in ACM SIGGRAPH'93 Conference LIC convolves an input noise texture using a low-pass filter along pixel- centered symmetrically bi-directional streamlines to exploit spatial correlation in the flow direction LIC synthesizes an image that provides a global dense representation of the flow, analogous to the resulting pattern of wind-blown sand

6 Introduction LIC a point in the flow field, the counterpart of a pixel in the LIC image d( ( ) ) / d = ( ( ) ) ( + d ) = ( ) + ( ( ) ) d the correlated pixels along the streamline index the input noise for the texture values compute the target pixel value in the LIC image by convolution Pipeline ( ( ) ) ( + d ) ( ) d

7 Introduction LIC Animation successively shifting the phase of a periodic convolution kernel

8 VolumeLIC 3D LIC + Volume Rendering Visualizing Steady Volume Flows

9 Introduction UFLIC LIC can only be used to visualize steady flow fields since animating a sequence of LIC frames of a time-varying flow fails to maintain temporal coherence Motivation LIC is an image-space oriented, Eulerian-based texture synthesis technique given a pixel in the output image, locate the correlated pixels and accept the contributions / properties ? Particle-space oriented, Lagrangian-based texture synthesis techniques given a particle at a time step, locate downstream points (i.e., pixels in subsequent frames) where it leaves the footprint (scatters the contribution / property) over time Unsteady Flow LIC by Han-Wei Shen & David L. Kao in IEEE Visualization'97 & IEEE TVCG Vol.4, No.2, 1998 UFLIC High spatial coherence Strong temporal coherence FlowVis/AUFLIC/Comparison.html

10 Introduction UFLIC Per-Pixel Value Accumulation-Convolution As a receiver, each pixel keeps several stamped buckets to accumulate deposited values while a frame is obtained by convolving the values that each pixel has received and stored in the very bucket stamped with the frame index Time-Accurate Value Scattering Scheme At each time step, a Scattering Process (SCAP) occurs for which a seed is released from each pixel as a contributor to scatter the texture value to the downstream pixels along the advected pathline in its Life Span usually several time steps Value scattering to downstream pixels correlates both intra-frame pixels and inter-frame pixels to establish high temporal-spatial coherence Components Successive Texture Feed-Forward Strategy Besides the output, each synthesized frame is High-Pass Filtered with Noise Jittering and taken as the input texture for the next SCAP to enhance inter-frame coherence

11 Pipeline Introduction UFLIC time-accurate value scattering process (SCAP) input texturevector data buffer convolve each pixel in the bucket with stamp t noise-jittered high-pass filteringframe t release a seed from each pixel center advect the pathline to the next pixel accumulate to the receivers buckets if within the life span scatter the seed value t = t + 1 feed texture forward white noisedisk files

12 x y SCAP k SCAP k + 1 stamp k k + 1 k + 2 k +3 k + 4 A & Bs common receiver-pixels seed As receiver- pixels in SCAP k seed Bs receiver- pixels in SCAP k + 1 A B : the input texture for SCAP k : the pathline advected by seed A (the pixel center) in SCAP k : the input texture for SCAP k + 1 : the pathline advected by seed B (the pixel center) in SCAP k + 1 Seed B can be released either from point P at exactly time step k + 1, or from a loosely specified point Q at a small fractional time past time step k + 1 to reuse the red pathline in SCAP k + 1 : the point (P) through which seed A passes at exactly time step k + 1 in SCAP k : the pixel center from which seed B is released at time step k + 1 in SCAP k + 1 P B : the point (Q) through which seed A passes at a small fractional time past time step k + 1 in SCAP k Q To reuse pathlines, a temporally-spatially flexible seeding strategy is required time step k + 1 k + 2 k + 3 k + 4 k k + 5 life span = 4 time steps

13 AUFLIC Overview Motivation Problem low computational performance Reason redundant pathline advection Solution as-many-as-possible pathline reuse AUFLIC Accelerated UFLIC Targets the bottleneck value scattering process ( SCAP ) Exploits the correlations intra- SCAP and inter- SCAP Employs a flexible seeding strategy instead of the conservative one Spatial flexibility: a seed may not necessarily be released exactly from a pixel center as long as the seed is within the pixel Temporal flexibility: a seed may not necessarily be released exactly at an integer time step; instead at a fractional time shortly after the SCAP begins Maintains a dense scattering coverage for high temporal-spatial coherence Reuses as many pathlines as possible as few pathlines advected as possible Places seeds along available pathlines flow structures taken into account

14 Comparison Items UFLIC AUFLIC temporal flexibility none (always at an integer time step) within a fractional time past a time step spatial flexibility none (always from a pixel center) an arbitrary position within a pixel flow-aligned no (a lattice pattern) yes (release seeds along pathlines) Flow-Driven Seeding Strategy intra-SCAP ignored copy and truncate pathlines inter-SCAP ignored reuse and extend pathlines SCAP Correlation seeding order left-to-right, top-to-bottom roughly left-to-right, top-to-bottom flow structures ignored adapt seeding to flow structures dense scattering yes yes Dynamic Seeding Controller evenly line sampling none by cubic Hermite polynomial accumulation line-segment lengths as accum-weights collected values are averaged Line Convolution pathline integration a large amount substantially reduced performance low high (1 order-of-magnitude faster) quality high temporal-spatial coherence high temporal-spatial coherence Result AUFLIC Overview pathline integrator Euler (first-order) Fourth-order Runge-Kutta (RK4) step size line-segment clamp against pixels adaptive step size error control none embedded Runge-Kutta formulae numerical accuracy first-order second-order overall efficiency slow and inaccurate fast and accurate Pathline Integration AUFLIC v.s. UFLIC

15 AUFLIC Flow-Driven Seeding Strategy Key Points Spatial flexibility arbitrary position with a pixel (not necessarily the center) Temporal flexibility within a small fractional time shortly after the SCAP begins Spatially-evenly Pathline sampling convolution is simplified to averaging Fourth-order Runge-Kutta integrator with adaptive step-size and error control Cubic Hermite polynomial interpolation If possible, seeds (S) are released at some sample points along an available pathline (seed S 0 ) at the same time as S 0 passes through these sample points only a small number of seeds need to actually advect pathlines a significant number of seeds extract pathlines by pathline copying & pathline reuse Pathline copying intra- SCAP operation S and S 0 are released in the same SCAP Pathline reuse inter- SCAP operation S and S 0 are released in different SCAPs A relatively-continuous, flow-structure based seeding strategy to replace the intermittent ( only at integer time steps ), pixel-center based scheme of UFLIC High temporal-spatial coherence is maintained due to a still dense value scattering coverage

16 xy k k + 1 k + 2 k + 3 k + 4 k + 5 time step Life span = 4 time steps A B C D E F SCAP k SCAP k + 1 A advect B copy & truncate C E F stamp k k + 1 k + 2 k +3 k + 4 receiver pixels save in a pathline-list D reuse from the list & extend truncated part for B truncated part for E

17 AUFLIC Dynamic Seeding Controller Seeding vacancy no seeds released from pixels, e.g., in diverging regions Problem Seeding redundancy many seeds released from the same pixel As pathlines are advected, copied & truncated, saved, and reused & extended over SCAPs, there may be an undesirable seeding pattern in a SCAP un-necessary & image blurred increased storage overhead & degraded acceleration-efficiency value scattering disabled & features missed artifacts introduced Controller governs the seed distribution in a SCAP by determining for pixel whether a pathline is advected, reused & extended, copied & truncated, saved for the next SCAP, or deleted An adaptive, global, organized control over the seed placement preventing redundant pathline copying or reuse while maintaining dense scattering A balance between pathline reuse and advection in each SCAP computational fluctuation is suppressed to obtain a nearly constant frame rate

18 AUFLIC Dynamic Seeding Controller Current[ 1 …M, 1 … N ] for pixels in the current SCAP Two Arrays checks if a pixel still allows for a seed release in the current SCAP Next[ 1 …M, 1 … N ] for pixels in the next SCAP checks if a pixel allows for a given pathline to be saved in the current SCAP so that it is reused from the pixel in the next SCAP open there has not been yet a seed released from the pixel allowing for a seed release close there has been already a seed released from the pixel blocking further seed releases Pixel State To ensure no more than one seed is released from a pixel in a SCAP Dynamic Update Initialization Next[1 …M, 1 … N] = open When each SCAP begins Current[1 …M, 1 … N] = Next[1 …M, 1 … N] During each SCAP two arrays are dynamically updated

19 AUFLIC achieves near-interactive flow visualization ( frame generation ) with up to 160 k particles in time-varying flow fields ( left : data points & 101 time steps at 1.2 FPS ; right: data points & 41 time steps at 1.0 FPS) on SGI Onyx2 (four 400MHZ MIPS R12000 / 4GB RAM)

20 VAUFLIC Volume AUFLIC Texture-Based Volume Flow Visualization Limited to steady flows Visualizing Vector Fields using Line Integral Convolution and Dye Advection Han-Wei Shen et al, IEEE Symposium on Volume Visualization 96 Strategies for Effectively Visualizing 3D Flow with Volume LIC Victoria Interrante & Chester Grosch, IEEE Visualization 97 Interactive Exploration of Volume LIC Based on 3D-Texture Mapping C. Rezk-Salama et al, IEEE Visualization 99 3D IBFV: Hardware-Accelerated 3D Flow Visualization Alexandru Telea & Jarke J. van Wijk, IEEE Visualization 03 Dependent on special-purpose hardware Hardware-Accelerated Visualization of Time-Varying 2D and 3D Vector Fields by Texture Advection via Programmable Per-pixel Operations D. Weiskopf et al, International Workshop on Vision, Modeling&Visualization 01 the only publication on texture-based time-varying volume visualization dependent on per-pixel operations which are not supported by ordinary cards An open problem intensive computation, temporal-spatial coherence, rendering of 3D flow textures

21 Application of volume rendering to view the output volumetric textures VAUFLIC Volume AUFLIC Volume AUFLIC Extension of AUFLIC to time-varying volume flows 2D vectors 3D vectors 2D input (noise) textures 3D input (noise) textures output pixels output voxels flow-driven seeding strategy dynamic seeding controller work in the same way as in AUFLIC The first hardware-independent texture-based time-varying volume flow visualization method Volume AUFLIC is 5 times faster than brute-force volume UFLIC Small memory footprint for large-scale time-varying volume flow vis

22 VAUFLIC VAUFLIC Rendering Available techniques ray casting ray tracing splatting shear-warp hardware-based texture mapping Volume Rendering Without constructing intermediate geometric representations (e.g., triangles) to fit iso-surfaces through the volume Operating directly on voxels by using a light absorption-transmission model and a transfer function to assign colors & opacities to voxels that are then composited along view directions Well suitable for investigating the distribution of a physical property (e.g., density, velocity magnitude, vorticity, temperature, pressure, precipitation) within a dense volume, representing amorphous transparent gel-like objects such as clouds and smoke that are too complicated to be either geometrically modeled or effectively rendered using extracted iso-surfaces

23 Ray Casting Backward mapping rays are cast from the viewer through the pixels backward into the volume (object) Sampling & interpolation the original signal is reconstructed by (e.g., tri-linear) interpolation and then (in most cases evenly) sampled along the ray to find the contributions affecting the pixel Compositing samples samples are assigned color & opacity values (RGBAs) by a transfer function and then composited from front to back to sum the opacity- weighted colors until the opacity accumulates to 1

24 VAUFLIC VAUFLIC Rendering Problems Although volume rendering is well established in medical data visualization Ad hoc in rendering dense volume flow textures degraded visual perception of 3D flow directions in dense volume poor depth cueing occluded interior flow structures Lack of any physical meaning of a texture value the histogram of a VAUFLIC texture, nearly a horizontal line, offers no guidance to transfer function design since it does not convey information provided by, e.g., that of a medical data which can be used to distinguish between bones and soft tissues

25 VAUFLIC VAUFLIC Rendering Magnitude-Based Color-Opacity Mapping VAUFLIC texture values are used to compute gradients used as normals in Phong shading The velocity magnitude is used to guide color & opacity mapping in the transfer function design to enhance or suppress certain parts of the flow ray casting voxel intensity (grey) texture volume gradients (normals)Phong shading magnitude volumetransfer function color hue (r, g, b) voxel color (R, G, B)voxel opacity (A) 2D color image

26 High Temporal-Spatial Coherence Flow directions and interior flow structures can be clearly revealed in images by tuning the magnitude-based transfer function while the flow evolution is shown by means of a smooth animation VAUFLIC Results Time-Varying Volume Flow Dataset 41 time steps data points Transfer Function magnitude histogram VAUFLIC texture histogram opacity curve opacity mapping bar color mapping bar

27 VAUFLIC Results









36 Conclusions UFLIC employs a time-accurate value scattering scheme & a successive texture feed-forward strategy to achieve very high temporal-spatial coherence in visualizing 2D unsteady flows AUFLIC adopts a flow-driven seeding strategy & a dynamic seeding controller to reuse pathlines in the computationally expensive value scattering process of UFLIC to achieve one order-of-magnitude acceleration, or near-interactive (1.0f FPS) visualization with up to 160k particles in time-varying 2D flows without temporal-spatial coherence degradation VAUFLIC is the extension of AUFLIC to texture-based time-varying volume flow visualization, so far the first hardware-independent solution of its kind Magnitude-based color-opacity mapping is used in transfer function design for effective volume rendering of VAUFLIC flow textures to reveal interior flow structures and the evolution

37 Future Work To enhance VAUFLIC by using shorter pathlines while maintaining high temporal-spatial coherence To improve volume rendering of 3D flow textures by, e.g., using ROI masking, clipping planes, and 3D halos Conclusions Acknowledgments DoD HPCMP program & NSF EPS Key References Han-Wei Shen and David L. Kao, New Line Integral Convolution Algorithm for Visualizing Time-Varying Flow Fields, IEEE Transactions on Visualization and Computer Graphics, Vol. 4, No. 2, pp , 1998 Zhanping Liu and Robert J. Moorhead, Accelerated Unsteady Flow Line Integral Convolution, IEEE Transactions on Visualization and Computer Graphics, 2004 (accepted to appear) URL


Download ppt "Visualizing Time-Varying Three-Dimensional Flow Fields Using Accelerated UFLIC Zhanping Liu, PhD Robert J. Moorhead II, PhD Visualization Analysis & Imaging."

Similar presentations

Ads by Google