Volume Visualization Overview: Volume Visualization (1) - - PowerPoint PPT Presentation

volume visualization overview volume visualization 1
SMART_READER_LITE
LIVE PREVIEW

Volume Visualization Overview: Volume Visualization (1) - - PowerPoint PPT Presentation

Volume Visualization Overview: Volume Visualization (1) Introduction to volume visualization On volume data Voxels vs. cells Interpolation Gradient Classification Transfer Functions (TF) Slice vs surface vs. volume rendering Overview:


slide-1
SLIDE 1

Volume Visualization

slide-2
SLIDE 2

Eduard Gröller, Helwig Hauser, Stefan Bruckner 2

Overview: Volume Visualization (1) Introduction to volume visualization

On volume data Voxels vs. cells Interpolation Gradient Classification Transfer Functions (TF) Slice vs surface vs. volume rendering Overview: techniques

slide-3
SLIDE 3

Eduard Gröller, Helwig Hauser, Stefan Bruckner 3

Overview: Volume Visualization (2) Simple methods

Slicing, multi-planar reconstruction (MPR)

Direct volume visualization

Image-order vs. object-order Raycasting a-compositing Hardware volume visualization

Indirect volume visualization

Marching cubes

slide-4
SLIDE 4

Eduard Gröller, Helwig Hauser, Stefan Bruckner 4

Volume Visualization Introduction:

VolVis = visualization of volume data

Mapping 3D2D Projection (e.g., MIP), slicing, vol. rendering, …

Volume data =

3D1D data Scalar data, 3D data space, space filling

User goals:

Gain insight in 3D data Structures of special interest + context

slide-5
SLIDE 5

Eduard Gröller, Helwig Hauser, Stefan Bruckner 5

Volume Data Where do the data come from?

Medical Application

Computed Tomographie (CT) Magnetic Resonance Imaging (MR)

Materials testing

Industrial-CT

Simulation

Finite element methods (FEM) Computational fluid dynamics (CFD)

etc.

slide-6
SLIDE 6

Eduard Gröller, Helwig Hauser, Stefan Bruckner 6

3D Data Space How are volume data organized?

Cartesian resp. regular grid:

CT/MR: often dx=dy<dz, e.g. 135 slices (z) á 512² values (as x & y pixels in a slice) Data enhancement: iso-stack-calculation = Interpolation of additional slices, so that dx=dy=dz  512³ Voxel Data: Cells (cuboid), Corner: Voxel

Curvi-linear grid resp. unstructured:

Data organized as tetrahedra or hexahedra Often: conversion to tetrahedra

slide-7
SLIDE 7

Eduard Gröller, Helwig Hauser, Stefan Bruckner 7

VolVis – Challenges Rendering projection, so much information and so few pixels! Large data sizes, e.g. 5125121024 voxel á 16 bit = 512 Mbytes Speed, Interaction is very important, >10 fps!

slide-8
SLIDE 8

Eduard Gröller, Helwig Hauser, Stefan Bruckner 8

Voxels vs. Cells Two ways to interpret the data:

Data: set of voxel

Voxel = abbreviation for volume element

(cf. pixel = "picture elem.)

Voxel = point sample in 3D Not necessarily interpolated

Data: set of cells

Cell = cube primitive (3D) Corners: 8 voxel (see above) Values in cell: interpolation used

slide-9
SLIDE 9

Eduard Gröller, Helwig Hauser, Stefan Bruckner 9

Interpolation

slide-10
SLIDE 10

Eduard Gröller, Helwig Hauser, Stefan Bruckner 10

Interpolation – Results

slide-11
SLIDE 11

Higher-Order Reconstruction (1) If very high quality is needed, more complex reconstruction filters may be required

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

Eduard Gröller, Helwig Hauser, Stefan Bruckner 11

slide-12
SLIDE 12

Higher-Order Reconstruction (2) Analytical evaluation of the Marschner-Lobb test signal

Eduard Gröller, Helwig Hauser, Stefan Bruckner 12

slide-13
SLIDE 13

Higher-Order Reconstruction (3) Trilinear reconstruction of Marschner-Lobb test signal

Eduard Gröller, Helwig Hauser, Stefan Bruckner 13

slide-14
SLIDE 14

Higher-Order Reconstruction (4) B-Spline reconstruction of Marschner-Lobb test signal

Eduard Gröller, Helwig Hauser, Stefan Bruckner 14

slide-15
SLIDE 15

Higher-Order Reconstruction (5) Windowed sinc reconstruction of Marschner- Lobb test signal

Eduard Gröller, Helwig Hauser, Stefan Bruckner 15

slide-16
SLIDE 16

Eduard Gröller, Helwig Hauser, Stefan Bruckner 16

Gradients in Volume Data Volume data: f(x)R1, xR3 Gradient f: 3D vector points in direction of largest function change Gradient magnitude: length of gradient Emphasis of changes:

Special interest often in transitional areas Gradients: measure degree

  • f change (like surface normal)

Larger gradient magnitude  larger opacity

slide-17
SLIDE 17

Eduard Gröller, Helwig Hauser, Stefan Bruckner 17

Gradients as Normal Vector Replacement

Gradient f = (f/x, f/y, f/z) f|x0 normal vector to iso-surface f(x0)=f0 Central difference in x-, y- & z-direction (in voxel): f(x1)f(x1)  f (x,y,z) = 1/2 f(y1)f(y1)  f(z1)f(z1)  Then tri-linear interpolation within a cell Alternatives:

Forward differencing: f (x)=f(x1)f(x) Backwards differencing: f (x)=f(x)f(x1) Intermediate differencing: f (x0.5)=f(x1)f(x)

slide-18
SLIDE 18

Eduard Gröller, Helwig Hauser, Stefan Bruckner 18

Classification Assignment data  semantics:

Assignment to objects, e.g., bone, skin, muscle, etc. Usage of data values, gradient, curvature Goal: segmentation Often: semi-automatic resp. manual Automatic approximation: transfer functions (TF)

slide-19
SLIDE 19

Eduard Gröller, Helwig Hauser, Stefan Bruckner 19

Transfer Functions (TF) Mapping data  ”renderable quantities”:

1.) datacolor (f(i)C(i)) 2.) dataopacity (non-transparency) (f(i)a(i))

data values “bone” “skin” “air”

  • pacity

color yellow, semi-transparent red,

  • paque
slide-20
SLIDE 20

Eduard Gröller, Helwig Hauser, Stefan Bruckner 20

Different Transfer Functions Image results:

Strong dependence

  • n transfer functions

Non-trivial specification Limited segmentation possibilities

slide-21
SLIDE 21

Eduard Gröller, Helwig Hauser, Stefan Bruckner 21

Lobster – Different Transfer Functions Three objects: media, shell, flesh

slide-22
SLIDE 22

Eduard Gröller, Helwig Hauser, Stefan Bruckner 22

Concepts and Terms

sampled data (measurement) analytical data (modelling) voxel space (discrete) geometric surfaces (analytic) pixel space (discrete)

iso-surfacing voxelization surface rendering (direct) volume rendering

slide-23
SLIDE 23

Eduard Gröller, Helwig Hauser, Stefan Bruckner 23

Concepts and Terms Example

X-Ray Modelling Surface- definition Sampling (voxelization), combination Direct volume rendering

volume rendering

sampled data (measurement) analytical data (modelling) voxel space (discrete)

  • geom. surfaces

(analytic) pixel space (discrete)

iso-surfacing voxelization surface rendering

slide-24
SLIDE 24

Eduard Gröller, Helwig Hauser, Stefan Bruckner 24

Slice vs. Surface vs. Volume Rendering Slice rendering

2D cross-section from 3D volume data

Surface rendering:

Indirect volume visualization Intermediate representation: iso-surface, “3D” Pros: ShadingShape!, HW-rendering

Volume rendering:

Direct volume visualization Usage of transfer functions Pros: illustrate the interior, semi-transparency

slide-25
SLIDE 25

Eduard Gröller, Helwig Hauser, Stefan Bruckner 25

Slices vs. Iso-Surfaces. vs. Volume Rendering

Comparison ozon-data over Antarctica:

Slices: selective (z), 2D, color coding Iso-surface: selective (f0), covers 3D

  • Vol. rendering: transfer function dependent,

“(too) sparse – (too) dense”

slide-26
SLIDE 26

Eduard Gröller, Helwig Hauser, Stefan Bruckner 26

VolVis-Techniques – Overview Simple methods:

Slicing, MPR (multi-planar reconstruction)

Direct volume visualization:

Ray casting Shear-warp factorization Splatting 3D texture mapping Fourier volume rendering

Surface-fitting methods:

Marching cubes (marching tetrahedra)

slide-27
SLIDE 27

Simple Methods

Slicing, etc.

slide-28
SLIDE 28

Slicing:

Axes-parallel slices Regular grids: simple Without transfer function no color Windowing: adjust contrast

General grid, arbitrary slicing direction

Eduard Gröller, Helwig Hauser, Stefan Bruckner 28

Slicing

data values Window white black

slide-29
SLIDE 29

Direct Volume Visualization

slide-30
SLIDE 30

Eduard Gröller, Helwig Hauser, Stefan Bruckner 30

Image-Order vs. Object-Order

slide-31
SLIDE 31

Eduard Gröller, Helwig Hauser, Stefan Bruckner 31

Image-Order vs. Object-Order

slide-32
SLIDE 32

Ray Casting

Image-Order Method

slide-33
SLIDE 33

Eduard Gröller, Helwig Hauser, Stefan Bruckner 33

Ray Tracing vs. Ray Casting Ray Tracing: method from image generation In volume rendering: only viewing rays  therefore Ray Casting Classical image-order method Ray Tracing: ray – object intersection Ray Casting: no objects, density values in 3D In theory: take all data values into account! In practice: traverse volume step by step Interpolation necessary for each step!

slide-34
SLIDE 34

Eduard Gröller, Helwig Hauser, Stefan Bruckner 34

Ray Traversal through Volume Data Context:

Volume data: 1D value defined in 3D – f(x)R1, xR3 Ray defined as half-line: r(t)R3, tR1>0 Values along Ray: f(r(t))R1, tR1>0 (intensity profile)

slide-35
SLIDE 35

Eduard Gröller, Helwig Hauser, Stefan Bruckner 35

Standard Ray Casting Levoy ’88:

  • 1. C(i), a(i)

(from TF)

  • 2. Ray casting,

interpolation

  • 3. Compositing

(or combinations)

slide-36
SLIDE 36

Eduard Gröller, Helwig Hauser, Stefan Bruckner 36

  • 1. Shading, Classification
  • 1. Step:

Shading, f(i)C(i): Apply transfer function diffuse illumination (Phong), gradient  normal Classification, f(i)a(i): Levoy ’88, gradient enhanced Emphasizes transitions Nowadays: shading/classification after ray-casting/resampling

slide-37
SLIDE 37
  • 2. Ray Traversal

Cast ray through the volume and perform sampling at discrete positions

Eduard Gröller, Helwig Hauser, Stefan Bruckner 37

image plane data set eye

slide-38
SLIDE 38

Eduard Gröller, Helwig Hauser, Stefan Bruckner 38

  • 2. Ray Traversal – Three Approaches

equidistant samples all voxels used once samples weighted by lengths of ray segments

slide-39
SLIDE 39

Eduard Gröller, Helwig Hauser, Stefan Bruckner 39

  • 3. Types of Combinations

Overview:

MIP  Compositing  X-Ray  First hit 

Depth MaxIntensity Average Accumulate First

Intensity profile

slide-40
SLIDE 40

Eduard Gröller, Helwig Hauser, Stefan Bruckner 40

Types of Combinations

Possibilities:

a-compositing Shaded surface display (first hit) Maximum-intensity projection (MIP) X-ray simulation Contour rendering SSD DVR MIP x-ray NPR

slide-41
SLIDE 41

Classification Order (1) Shading/classification can occur before or after ray traversal

Pre-interpolative: classify all data values and then interpolate between RGBA-tuples Post-interpolative: interpolate between scalar data values and then classify the result

Eduard Gröller, Helwig Hauser, Stefan Bruckner 41

slide-42
SLIDE 42

Classification Order (2)

Eduard Gröller, Helwig Hauser, Stefan Bruckner 42

  • ptical properties

data value

interpolation

PRE-INTERPOLATIVE

  • ptical properties

data value

interpolation

POST-INTERPOLATIVE

slide-43
SLIDE 43

Classification Order (3)

Eduard Gröller, Helwig Hauser, Stefan Bruckner 43

post-interpolative classified data

supersampling transfer function supersampling transfer function

analytical solution pre-interpolative

transfer function

continuous data discrete data

scalar value alpha value

slide-44
SLIDE 44

Classification Order: Example 1

Eduard Gröller, Helwig Hauser, Stefan Bruckner 44

same transfer function, resolution, and sampling rate

pre-interpolative post-interpolative

slide-45
SLIDE 45

Classification Order: Example 2

Eduard Gröller, Helwig Hauser, Stefan Bruckner 45

pre-interpolative post-interpolative

same transfer function, resolution, and sampling rate

slide-46
SLIDE 46

a-Compositing –

a Specific Optical Model for Volume Rendering

Display of Semi-Transparent Media

slide-47
SLIDE 47

Various models (Examples):

Emission only (light particles) Absorption only (dark fog) Emission & absorption (clouds) Single scattering, w/o shadows Multiple scattering

Two approaches:

Analytical model (via differentials) Numerical approximation (via differences)

Eduard Gröller, Helwig Hauser, Stefan Bruckner 47

Modelling of Natural Phenomena

slide-48
SLIDE 48

Physical Model of Radiative Transfer

Eduard Gröller, Helwig Hauser, Stefan Bruckner 48

in-scattering

energy decrease

absorption

  • ut-scattering

energy increase

emission

slide-49
SLIDE 49

Analytical Model (1)

Eduard Gröller, Helwig Hauser, Stefan Bruckner 49

viewing ray

initial intensity at 𝑡0

without absorption all the initial radiant energy would reach the point 𝑡

slide-50
SLIDE 50

Analytical Model (2)

Eduard Gröller, Helwig Hauser, Stefan Bruckner 50

Extinction 𝜐 Absorption 𝜆

viewing ray

absorption between 𝑡0 and 𝑡

slide-51
SLIDE 51

Analytical Model (3)

Eduard Gröller, Helwig Hauser, Stefan Bruckner 51

absorption between 𝑡 and 𝑡 active emission at point 𝑡

  • ne point 𝑡 along the

viewing ray emits additional radiant energy viewing ray

slide-52
SLIDE 52

Analytical Model (4)

Eduard Gröller, Helwig Hauser, Stefan Bruckner 52

every point 𝑡 along the viewing ray emits additional radiant energy viewing ray

slide-53
SLIDE 53

Numerical Approximation (1)

Eduard Gröller, Helwig Hauser, Stefan Bruckner 53

Extinction:

approximate integral by Riemann sum:

slide-54
SLIDE 54

Numerical Approximation (2)

Eduard Gröller, Helwig Hauser, Stefan Bruckner 54

slide-55
SLIDE 55

Numerical Approximation (3)

Eduard Gröller, Helwig Hauser, Stefan Bruckner 55

now we introduce opacity:

slide-56
SLIDE 56

Numerical Approximation (4)

Eduard Gröller, Helwig Hauser, Stefan Bruckner 56

now we introduce opacity:

slide-57
SLIDE 57

Numerical Approximation (5)

Eduard Gröller, Helwig Hauser, Stefan Bruckner 57

slide-58
SLIDE 58

Numerical Approximation (6)

Eduard Gröller, Helwig Hauser, Stefan Bruckner 58

slide-59
SLIDE 59

Numerical Approximation (7)

Eduard Gröller, Helwig Hauser, Stefan Bruckner 59

slide-60
SLIDE 60

can be computed recursively:

Numerical Approximation (8)

Eduard Gröller, Helwig Hauser, Stefan Bruckner 60

radiant energy

  • bserved at position 𝑗

radiant energy emitted at position 𝑗 radiant energy

  • bserved at position 𝑗 − 1

absorption at position 𝑗

slide-61
SLIDE 61

Numerical Approximation (9)

Eduard Gröller, Helwig Hauser, Stefan Bruckner 61

back-to-front compositing front-to-back compositing

early ray termination: stop the calculation when 𝐵𝑗

′ ≈ 1

slide-62
SLIDE 62

Back-to-Front Compositing: Example

Eduard Gröller, Helwig Hauser, Stefan Bruckner 62

𝛽 = 0.5 𝛽 = 0.75 𝛽 = 1.0 𝛽 = 0.4

1 2 3

slide-63
SLIDE 63

Front-to-Back Compositing: Example

Eduard Gröller, Helwig Hauser, Stefan Bruckner 63

𝛽 = 0.5 𝛽 = 0.75 𝛽 = 1.0 𝛽 = 0.4

1

slide-64
SLIDE 64

Summary Emission Absorption Model Numerical Solutions [pre-multiplied alpha assumed]

Eduard Gröller, Helwig Hauser, Stefan Bruckner 64

back-to-front iteration front-to-back iteration

slide-65
SLIDE 65

Pre-Multiplied Alpha Color values are stored pre-multiplied by their

  • pacity: (𝛽𝑠, 𝛽𝑕, 𝛽𝑐)

Consequence: transparent red is the same as transparent black, etc. Simplifies blending: color and alpha values are treated equally Can result in loss of precision

Eduard Gröller, Helwig Hauser, Stefan Bruckner 65

slide-66
SLIDE 66

Eduard Gröller, Helwig Hauser, Stefan Bruckner 66

Emission or/and Absorption

Emission

  • nly

Absorption

  • nly

Emission and Absorption

slide-67
SLIDE 67

Eduard Gröller, Helwig Hauser, Stefan Bruckner 67

Ray Casting – Examples CT scan of human hand (244x124x257, 16 bit)

slide-68
SLIDE 68

Eduard Gröller, Helwig Hauser, Stefan Bruckner 68

Ray Casting – Examples

slide-69
SLIDE 69

Eduard Gröller, Helwig Hauser, Stefan Bruckner 69

Ray Casting – Further Examples Tornado Visualization:

slide-70
SLIDE 70

Eduard Gröller, Helwig Hauser, Stefan Bruckner 70

Ray Casting – Further Examples Molecular data:

slide-71
SLIDE 71

Hardware-Volume Visualization

Faster with Hardware?!

slide-72
SLIDE 72

Eduard Gröller, Helwig Hauser, Stefan Bruckner 72

Two Approaches 3D-textures:

Volume data stored in 3D-texture Proxy geometry (slices) parallel to image plane, are interpolated tri-linearly Back-to-front compositing

2D-textures:

3 stacks of slices (x-, y- & z-axis), slices are interpolated bi-linearly Select stack (most “parallel” to image plane) Back-to-front compositing

slide-73
SLIDE 73

Eduard Gröller, Helwig Hauser, Stefan Bruckner 73

Variation of View Point 3D-textures:

Number of slices varies

2D-textures:

Stack change: discontinuity

slide-74
SLIDE 74

Indirect Volume Visualization

Iso-Surface-Display

slide-75
SLIDE 75

Eduard Gröller, Helwig Hauser, Stefan Bruckner 75

volume rendering

Concepts and Terms Example

CT measurement Iso-stack- conversion Iso-surface- calculation (marching cubes) Surface rendering (OpenGL)

sampled data (measurment) analytic data (modelling) voxel space (discrete)

  • geom. surfaces

(analytic) pixel space (discrete)

iso-surfacing voxelization surface rendering

slide-76
SLIDE 76

Eduard Gröller, Helwig Hauser, Stefan Bruckner 76

Iso-Surfaces Intermediate representation Aspects:

Preconditions:

expressive Iso-value, Iso-value separates materials Interest: in transitions

Very selective (binary selection / omission) Uses traditional hardware Shading  3D-impression!

slide-77
SLIDE 77

Iso-Surface:

Iso-value f0 Separates values > f0 from values  f0 Often not known  Can only be approximated from samples! Shape / position dependent on type of reconstruction

Eduard Gröller, Helwig Hauser, Stefan Bruckner 77

Volume Data  Iso-Surfaces

slide-78
SLIDE 78

Marching Cubes (MC)

Iso-Surface-Display

slide-79
SLIDE 79

Eduard Gröller, Helwig Hauser, Stefan Bruckner 79

Approximation of Iso-Surface Approach:

Iso-Surface intersects data volume = set of all cells

Idea:

Parts of iso-surface represented

  • n a(n intersected) cell basis

As simple as possible: Usage of triangles

slide-80
SLIDE 80

Eduard Gröller, Helwig Hauser, Stefan Bruckner 80

slide-81
SLIDE 81

Eduard Gröller, Helwig Hauser, Stefan Bruckner 81

slide-82
SLIDE 82

Eduard Gröller, Helwig Hauser, Stefan Bruckner 82

slide-83
SLIDE 83

Eduard Gröller, Helwig Hauser, Stefan Bruckner 83

slide-84
SLIDE 84

Eduard Gröller, Helwig Hauser, Stefan Bruckner 84

slide-85
SLIDE 85

Eduard Gröller, Helwig Hauser, Stefan Bruckner 85

slide-86
SLIDE 86

Eduard Gröller, Helwig Hauser, Stefan Bruckner 86

slide-87
SLIDE 87

Eduard Gröller, Helwig Hauser, Stefan Bruckner 87

slide-88
SLIDE 88

Eduard Gröller, Helwig Hauser, Stefan Bruckner 88

slide-89
SLIDE 89

Eduard Gröller, Helwig Hauser, Stefan Bruckner 89

Danger: Holes! Wrong vs. correct classification!

slide-90
SLIDE 90

Eduard Gröller, Helwig Hauser, Stefan Bruckner 90

slide-91
SLIDE 91

Eduard Gröller, Helwig Hauser, Stefan Bruckner 91

slide-92
SLIDE 92

Eduard Gröller, Helwig Hauser, Stefan Bruckner 92

4

slide-93
SLIDE 93

Eduard Gröller, Helwig Hauser, Stefan Bruckner 93

slide-94
SLIDE 94

Eduard Gröller, Helwig Hauser, Stefan Bruckner 94

Further Examples

slide-95
SLIDE 95

Eduard Gröller, Helwig Hauser, Stefan Bruckner 95

Even Further Examples

slide-96
SLIDE 96

Conclusion Volume Visualization

General Remarks

slide-97
SLIDE 97

Eduard Gröller, Helwig Hauser, Stefan Bruckner 97

Surface vs. Volume Rendering

Surface Rendering:

Indirect representation / display Conveys surface impression Hardware supported rendering (fast?!) Iso-value-definition

Volume Rendering:

Direct representation / display Conveys volume impression Often realized in software (slow?!) Transfer functions

slide-98
SLIDE 98

Eduard Gröller, Helwig Hauser, Stefan Bruckner 98

Literature, References

Marc Levoy: “Display of Surfaces from Volume Data” in IEEE Computer Graphics & Applications,

  • Vol. 8, No. 3, June 1988

Nelson Max: “Optical Models for Direct Volume Rendering” in IEEE Transactions on Visualization and Computer Graphics, Vol. 1, No. 2, June 1995

  • W. Lorensen & H. Cline: “Marching Cubes: A

High Resolution 3D Surface Construction Algorithm” in Proceedings of ACM SIGRRAPH ’87 = Computer Graphics, Vol. 21, No. 24, July 1987

  • K. Engel, M. Hadwiger et al. “Real-Time Volume

Graphics” http://www.real-time-volume- graphics.org/

slide-99
SLIDE 99

Eduard Gröller, Helwig Hauser, Stefan Bruckner 99

Acknowledgments

For material for this lecture unit

Roberto Scopigno, Claudio Montani (CNR, Pisa) Hans-Georg Pagendarm (DLR, Göttingen) Michael Meißner (GRIS, Tübingen) Torsten Möller Gordon Kindlmann Joe Kniss Nelson Max (LLNL), Marc Levoy (Stanford) Lloyd Treinish (IBM) Roger Crawfis (Ohio State Univ.) Hanspeter Pfister (MERL) Dirk Bartz Markus Hadwiger Christof Rezk Salama