– 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 [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 by Vinci‘s anatomical notebooks Clarice Ashworth Francone Stefan Bruckner 6 Stefan Bruckner 7

Cartography Meteorology

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 (dxdy) 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 3D2D CT, MRI, PET, Volume data Ultrasound 3D1D 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) (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 , xR Pros: Less memory, fast rendering Ray: Half-line 3 1 Volume rendering r()(t)R , tR >0 Direct volume visualization Intensity profile: values along a ray Usage of transfer functions f(r(t))R1, tR1>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 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. nDnD 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 xRn, flow vectors vRn, time tR Streamline s: integration over time, also called trajectory, solution, curve

s(t) = s0 + 0ut 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