Visualization – Definition
visualization: to form a mental vision, image, or picture of (something not visible or present to the sight, or of an abstraction); to make visible to Introduction to the mind or imagination Scientific Visualization [Oxford Engl. Dict., 1989]
Stefan Bruckner tool to enable a user insight into data
Simon Fraser University / Vienna University of Technology “The purpose of computing is insight, not numbers.” [R. Hamming, 1962]
Stefan Bruckner 1
Visualization – Goals Visualization – Areas Visualization, … Three major areas … to explore inherent spatial Nothing is known, Volume reference Vis used for data exploration Visualization Scientific … to analyze Flow Visualization There are hypotheses, ?! Visualization 2D/3D Vis used for verification or falsification Information nD … to present Visualization “everything” known about the data, ?! usually no spatial Vis used for communication of results reference
Stefan Bruckner 2 Stefan Bruckner 3
InfoVis vs. SciVis SciVis – Examples (1) N-dimensional vs. 2/3-dimensional Volume data SciVis can be N-dimensional too (time series, simulation data, …) Abstract data vs. spatial data InfoVis data may also have spatial attributes (country, state, …) Discrete data vs. continuous data InfoVis data may be sampled from a continuous domain
Stefan Bruckner 4 Stefan Bruckner 5
1 SciVis – Examples (2) Medicine Flow data
sketch from Leonardo Da medical illustrations by Vinci‘s anatomical notebooks Clarice Ashworth Francone Stefan Bruckner 6 Stefan Bruckner 7
Cartography Meteorology
map with iso-pressure lines
weather fronts
isolines to visualize wind flow map for pilots compass deviations visualization
Stefan Bruckner 8 Stefan Bruckner 9
Experimental Flow Investigation Visualization Scenarios Fixation of tufts, ribbons on ... aircraft in wind tunnels ship hull in fluid tanks complexity, tech. demands interactive steering Introduction of smoke interactive particles (in wind tunnel) visualization Introduction of dye (in fluids) passive benefits, visualization possibilities
Stefan Bruckner 10 Stefan Bruckner 11
2 Visualization Pipeline Data Focus of visualization, Acquisition everything is centered around the data Data are given Driving factor (besides user) in choice and Enhancement attribution of the visualization technique Data are processed Important questions Mapping In what domain are the data given? Data are mapped to, (data space) e.g., geometry What is the type of data? Rendering (data characteristics) Images generated Which representation makes sense?
Stefan Bruckner 12 Stefan Bruckner 13
Data Space vs. Data Characteristics Grids – General Information data characteristics Important questions 1D 2D 3D Which data organization is optimal? 1D y=f(x) spatial curve x(t) Where do the data come from? Is there a neighborhood relationship? ce
a How is the neighborhood information stored? 2D 2D flow v(x) How is navigation within the data possible? data sp Calculations with the data possible ? Are the data structured? 3D scalar field d(x) 3D flow v(x)
Stefan Bruckner 14 Stefan Bruckner 15
Grid - Types Grids - Survey
block-structu Cartesian grid } dy struc- ortho- tured equi- cartesian } gonal dist. x[xmax,0] grids grids (dx=dy) Curvilinear grid dx grids x[0,y ] grids max regular
x[[,]0,0] rde grids grids (dxdy) Unstructured grid x[0] c[0] rectilinear grids e[0] Scattered data x[1] curvi-linear grids unstructured grids hybrid grids miscell.
Stefan Bruckner 16 Stefan Bruckner 17
3 Volume Visualization Volume Data VolVis = visualization of volume data Medicine Mapping 3D2D CT, MRI, PET, Volume data Ultrasound 3D1D data Biology Scalar data , 3D data space , space filling Confocal microscopy, histological cuts User goals Gain insight in 3D data Geology Structures of special interest + context Seismic surveys Material testing Industrial CT
Stefan Bruckner 18 Stefan Bruckner 19
3D Data Space Concepts and Terms
sampled data analytical data Cartesian/regular grid (measurement) (modelling) Most common, e.g., CT/MRI scans voxel space iso-surfacing geometric surfaces (discrete) (analytic) Curvilinear/unstructured grid voxelization Less frequently, e.g., (direct) volume surface simulation data rendering rendering pixel space (discrete)
Stefan Bruckner 20 Stefan Bruckner 21
Volume Rendering (1) Volume Rendering (2) Deals with the visual Initially volumes were visualized using two- representation of 3D dimensional cuts functions Extraction of surface geometry for isosurfaces Frequently, but not in the volume (e.g. Marching Cubes [Lorensen exclusively, functions are and Cline 1987]) scalar-valued Volume rendering introduced almost Often aquired using simultaneously by [Levoy 1988] and [Drebin et sampling (e.g., medical al. 1988] domain)
Stefan Bruckner 22 Stefan Bruckner 23
4 Surface vs. Volume Rendering Volume Ray Casting Surface rendering Volume: 1D value Indirect volume visualization defined in 3D 1 3 Intermediate representation: iso-surface f(x)R , xR Pros: Less memory, fast rendering Ray: Half-line 3 1 Volume rendering r()(t)R , tR >0 Direct volume visualization Intensity profile: values along a ray Usage of transfer functions f(r(t))R1, tR1>0 Pros: illustrate the interior, semi-transparency Image plane: starting points of rays
Stefan Bruckner 24 Stefan Bruckner 25
Pipeline – Overview Pipeline – Reconstruction
volume rendering pipeline volume rendering pipeline
reconstruction reconstruction
cl assifi cati on cl assifi cati on
shading shading
compositing compositing data set final image data set final image
Reconstruction (1) Reconstruction (2) Usually volume data sets are given as a grid of discrete samples For rendering purposes, we want to treat them image plane as continuous three-dimensional functions
We need to choose an appropriate eye reconstruction filter data set Requirements: high-quality reconstruction, but small performance overhead
Stefan Bruckner 28
5 Reconstruction (3) Trilinear Interpolation Simple extension of linear interpolation to three dimensions Advantage: current GPUs automatically do sample point trilinear interpolation of 3D textures cellcell
voxelvoxel
Stefan Bruckner 30 Stefan Bruckner 31
Other Reconstruction Filters Comparison of Reconstruction Filters (1) If very high quality is required, more complex Marschner-Lobb test signal (analytically reconstruction filters may be required evaluated) Marschner-Lobb function is a common test signal to evaluate the quality of reconstruction filters [[]Marschner and Lobb 1994] The signal has a high amount of its energy near its Nyquist frequency Makes it a very demanding test for accurate reconstruction
Stefan Bruckner 32 Stefan Bruckner 33
Comparison of Reconstruction Filters (2) Comparison of Reconstruction Filters (3) Trilinear reconstruction of Marschner-Lobb Cubic reconstruction of Marschner-Lobb test test signal signal
Stefan Bruckner 34 Stefan Bruckner 35
6 Comparison of Reconstruction Filters (4) Comparison of Reconstruction Filters (5) B-Spline reconstruction of Marschner-Lobb Windowed sinc reconstruction of Marschner- test signal Lobb test signal
Stefan Bruckner 36 Stefan Bruckner 37
Comparison of Reconstruction Filters (6) Pipeline – Classification Marschner-Lobb test signal (analytically evaluated) volume rendering pipeline
reconstruction
cl assifi cati on
shading
compositing data set final image
Stefan Bruckner 38
Classification (1) Classification (2) Projecting a 3D data set onto a 2D image is During Classification the user defines the problematic appearence of the data Not all information contained in the volume is Which parts are transparent? relevant to the user Which parts have which color? Classification allows the user to extract the important parts of the data
Stefan Bruckner 40
7 Classification (3) Transfer Functions (1) During Classification the user defines the appearence of the data Which parts are transparent? Which parts have which color? The user defines a transfer function
color RGB scalar S opacity A
real-time update of the transfer function important
Transfer Functions (2) Classification Order (1) Classification can occur before or after reconstruction Pre-interpolative: classify all data values and then interpolate between RGBA-tuples Post-interpolative: interpolate between scalar data values and then classify the result
Stefan Bruckner 45
Classification Order (2) Classification Order (3)
continuous data discrete data PRE-INTERPOLATIVE POST-INTERPOLATIVE alpha value
scalar value
transfer function transfer function supersampling interpolation al properties al properties optic optic
supersampling transfer function interpolation classified data
data value data value
analytical solution pre-interpolative post-interpolative
8 Classification Order (4) Classification Order (5)
pre-interpolative post-interpolative pre-interpolative post-interpolative
same transfer function, resolution, and sampling rate same transfer function, resolution, and sampling rate
Pipeline – Shading Shading (1) Make structures in volume data sets more volume rendering pipeline realistic by applying an illumination model Shade each sample in the volume like a reconstruction surface cl assifi cati on Any model used in real-time surface graphics suitable shading Common choice: Blinn-Phong illumination compositing model data set final image
Stefan Bruckner 51
Shading (2) Shading (3) Local illumination, similar to surface lighting shaded volume rendering unhaded volume rendering Lambertian reflection light is reflected equally in all directions Specular reflection light is reflected scattered around the direction of perfect reflection
Stefan Bruckner 53
9 Gradient Estimation (1) Gradient Estimation (2) Normalized gradient vector of the scalar field We can estimate the gradient vector using is used to substitute for the surface normal finite differencing schemes, e.g. central The gradient vector is the first-order derivative differences: of the scalar field
partial derivative in x-direction
partial derivative in y-direction Noisy data may require more complex estimation schemes partial derivative in z-direction
Gradient Magnitude Pipeline – Compositing Magnitude of gradient vector can be used to measure the “surfaceness” of a point volume rendering pipeline Strong changes high gradient magnitude reconstruction Homogenity low gradient magnitude Applications cl assifi cati on
Use gradient magnitude to modulate opacity shading of sample Interpolate between unshaded and shaded compositing sample color using gradient magnitude as data set final image weight
Stefan Bruckner 56
Compositing (1) Maximum Intensity Projection (1) So far, everything discussed applies to single sample points along a viewing ray How to subsequent sample when traversing the ray? Always display the maximum value along a Common models viewing ray Maximum Intensity Projection Motivation: visualization of contrast-enhanced Emission-Absorption Model tomographic scans Parameterless rendering, very common in medical domain
Stefan Bruckner 58 Stefan Bruckner 59
10 Maximum Intensity Projection (2) Emission-Absorption Model (1) Probem: loss of spatial relationships between Conventional volume rendering uses an different structures emission-absorption model Scattering effects are usually ignored due to high computational complexity For each pixel on the image plane , a the ray integral has to be solved For each step along he viewing ray, perform accumulate RGBA from transfer function
Stefan Bruckner 60 Stefan Bruckner 61
Emission-Absorption Model (2) Ray Integration (1)
image plane increase emission in-scattering eye
data set
decrease absorption out-scattering
Ray Integration (2) Numerical Solution (1)
How do we determine the radiant energy along the ray? Physical model: emission and absorption, no scattering
image plane
viewing ray eye Every point along the viewing ray emits additional data set radiant energy active emission absorption along the at point s~ distance s -~ s
11 Numerical Solution (2) Numerical Solution (2)
back-to-front compositing
can be computed recursively front-to-back compositing early ray termination: stop the calculation radiant energy radiant energy absorption at radiant energy observed at position i emitted at position i position i observed at position i–1 when
Further Reading Flow Visualization M. Levoy. Display of Surfaces from Volume FlowVis = visualization of flows Data. IEEE Computer Graphics and Applications, 8(3):29-37, 1988. Visualization of change information R. Drebin, L. Carpenter, P. Hanrahan. Flow data Volume Rendering. ACM SIGGRAPH 2 2 2 2 2 Computer Graphics, 22(4):65-74, 1988. nDnD data, 1D /2D /nD (models), 2D /3D W. Lorensen, H. Cline. Marching cu bes: A Vector data (nD)in) in nD data space high resolution 3D surface construction Steady vs. time-dependent flow algorithm. ACM SIGGRAPH Computer Graphics, 21(4):163-169, 1987. User goals C. Rezk-Salama, K. Engel, M. Hadwiger, Overview vs. details (with context) J. Kniss, D. Weiskopf. Real-Time Volume Graphics, AK Peters, 1-56881-266-3, 2006.
Stefan Bruckner 68 Stefan Bruckner 69
Flow Data (1) Flow Data (2) Simulation Flow space modelled with grid FEM (finite elements method), CfD (computational fluid dynamics) Measurements Optical methods + pattern recognition, e.g.: PIV (particle image velocimetry) Models Differential equation systems dx/dt
Stefan Bruckner 70 Stefan Bruckner 71
12 Flow Data (3) Direct Flow Visualization Grid of arrows to experiment visualize flow directions Normalized arrows vs. scalingyg with velocity Quite effective in 2D, problematic in 3D Sometimes limited expressivity (temporal component missing) simulation
Stefan Bruckner 72 Stefan Bruckner 73
Geometric Flow Visualization Streamlines – Theory Idea: follow the flow in time (integration) to Flow data v: derivative information extract the path of a particle dx/dt = v(x) spatial points xRn, flow vectors vRn, time tR Streamline s: integration over time, also called trajectory, solution, curve
s(t) = s0 + 0ut v(s(u)) du seed point s0, integration variable u Difficulty: result s also in the integral, analytical solution usually impossible
Stefan Bruckner 74 Stefan Bruckner 75
Streamlines – Practice (1) Streamlines – Practice (2) Solve using numerical integration Accuracy of results is strongly dependent on techniques step size dt Assume that locally the solution is approximately linear Euler integration
si+1 = si + dt · v(si) Follow the current flow vector v(si) from the current streamline point si for a short time (dt)
Stefan Bruckner 76 Stefan Bruckner 77
13 Streamlines – Placement (1) Streamlines – Placement (2) Seed fill with streamlines to achieve equal Variations of distance in relation to image density width 6%3% 1.5%
Stefan Bruckner 78 Stefan Bruckner 79
Illuminated Streamlines Stream Surfaces Illuminated 3D curves improve perception Natural extension of streamlines to 3D Surfaces which are tangential to the vector field everywhere Challenges related to occlusion and visual complexity
Stefan Bruckner 80 Stefan Bruckner 81
Flow Volumes Unsteady Flow Volumetric equivalents Path line of streamlines, subset of Trajectory of an individual particle in the fluid a 3D flow domain is flow traced in time Timeline Can be visualized with Joins the positions of particles released at the direct volume rendering same instant in time methods Streak line Connects particles that have passed through a certain point in space
Stefan Bruckner 82 Stefan Bruckner 83
14 Texture-based Flow Visualization Line Integral Convolution
Idea: exploit visual correlations to provide a Calculation of a flow data dense visualization of the flow texture value look at integration streamline streamline through point convolltiution filter white noise along white noise streamline results in
LIC texel
Stefan Bruckner 84 Stefan Bruckner 85
Line Integral Convolution – Examples (1) Line Integral Convolution – Examples (2) laminar flow
turbulent flow
Stefan Bruckner 86 Stefan Bruckner 87
Line Integral Convolution on Surfaces Texture Advection – Unsteady Flows
Stefan Bruckner 88 Stefan Bruckner 89
15 Feature-based Flow Visualization Vector Field Topology Extract and visualize the abstract structure of a flow
Different elements Critical points can be classified by the Checkpoints, defined through v(x)=0 Eigenvalues of the Jacobian Cycles, defined through sx(t+T)=sx(t) R = real components, I = imaginary components Connecting structures (separatrices, etc.)
Stefan Bruckner 90 Stefan Bruckner 91
Glyphs/Icons Examples (1) Local/ Topology of a hurricane simulation topological properties
Stefan Bruckner 92 Stefan Bruckner 93
Examples (2) Further Reading Visualization of flow past a circular cylinder R. Laramee, H. Hauser, H. Doleisch, B. Vrolijk, F. Post, D. Weiskopf. The State of the Art in Flow Visualization: Dense using critical points and saddle connectors and Texture-Based Techniques. Computer Graphics Forum, 23(2):203-221, 2004. F. Post, B. Vrolijk, H. Hauser, R. Laramee, H. Doleisch. The State of the Art in Flow Visualization: Feature Extraction and Tracking . Computer Graphics Forum , 22(4):775-792, 2003.
Stefan Bruckner 94 Stefan Bruckner 95
16 Summary Thank you for your attention! Scientific visualization is data-driven, but it is crucial to keep the goal of the user in mind Volume visualization 3D scalar data Imppportant to provide detailed view of structures of interest Flow visualization 2D/3D vector data Acknowledgements Provide overview and characterize flow Meister Eduard Gröller behavior Heliwg Hauser Christof Rezk-Salama
Stefan Bruckner 96
17