volume visualization

15
Volume Visualization Part 1 (out of 3) Overview: Volume Visualization Introduction to volume visualization On volume data Surface vs. volume rendering Overview: Techniques Si l th d Eduard Gröller, Helwig Hauser 2 Simple methods Slicing, cuberille Direct volume visualization Introduction, types of combinations Transfer functions Volume Visualization Introduction: VolVis = visualization of volume data Mapping 3D2D Projection (e.g., MIP), slicing, vol. rendering, … Volume data = Eduard Gröller, Helwig Hauser 3 Volume data = 3D1D data Scalar data, 3D data space, space filling User goals: Gain insight in 3D data Structures of special interest + context

Upload: others

Post on 31-Oct-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Volume Visualization

Volume Visualization

Part 1 (out of 3)

Overview: Volume Visualization

Introduction to volume visualizationOn volume data

Surface vs. volume rendering

Overview: Techniques

Si l th d

Eduard Gröller, Helwig Hauser 2

Simple methodsSlicing, cuberille

Direct volume visualizationIntroduction, types of combinations

Transfer functions

Volume Visualization

Introduction:VolVis = visualization of volume data

Mapping 3D2D

Projection (e.g., MIP), slicing, vol. rendering, …

Volume data =

Eduard Gröller, Helwig Hauser 3

Volume data = 3D1D data

Scalar data, 3D data space, space filling

User goals:Gain insight in 3D data

Structures of special interest + context

Page 2: Volume Visualization

Volume Data

Where do the data come from?Medical Application

Computed Tomographie (CT)

Magnetic Resonance Imaging (MR)

Materials testing

Eduard Gröller, Helwig Hauser 4

Materials testingIndustrial-CT

SimulationFinite element methods (FEM)

Computational fluid dynamics (CFD)

etc.

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 =

Eduard Gröller, Helwig Hauser 5

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

VolVis – Challenges

Rendering projection,so much information and so few pixels!

Large data sizes, e.g.5125121024 voxel á 16 bit = 512 Mbytes

Speed

Eduard Gröller, Helwig Hauser 6

Speed,Interaction is very important, >10 fps!

Page 3: Volume Visualization

Voxels vs. Cells

Two ways to interpret the data:Data: set of voxel

voxel = abbreviation for volume element (cf. pixel = "picture elem.)

l i t l i 3D

Eduard Gröller, Helwig Hauser 7

voxel = point sample in 3D

Not necessarily interpolated

Data: set of cellscell = cube primitive (3D)

Corners: 8 voxel (see above)

Values in cell: interpolation used

Interpolation

Eduard Gröller, Helwig Hauser 8

Interpolation – Results

Eduard Gröller, Helwig Hauser 9

Page 4: Volume Visualization

Gradients as Normal Vector Replacement

Gradient f = (f/x, f/y, f/z)f|x0

normal vector to iso-surface f(x0)=f0Central difference in x-, y- & z-direction (in voxel):

f(x1)f(x1) f (x,y,z) = 1/2 f(y1)f(y1)

Eduard Gröller, Helwig Hauser 10

f (x,y,z) 1/2 f(y1) f(y 1) f(z1)f(z1)

Then tri-linear interpolation within a cellAlternatives:

Forward differencing: f (x)=f(x1)f(x)Backwards differencing: f (x)=f(x)f(x1)Intermediate differencing: f (x0.5)=f(x1)f(x)

Concepts and Terms

sampled data(measurement)

analytical data (modelling)

voxel space geometric surfacesiso-surfacing

Eduard Gröller, Helwig Hauser 11

voxel space(discrete)

geometric surfaces(analytic)

pixel space(discrete)

voxelization

surfacerendering

(direct) volumerendering

volumerendering

Concepts and Terms

Example 1:CT measurement

Iso-stack-conversion

Iso surface

sampled data(measurement)

analytic data(modelling)

voxel space(discrete)

geom. surfaces(analytic)

pixel space(discrete)

iso-surfacing

voxelization

surfacerendering

Eduard Gröller, Helwig Hauser 12

Iso-surface-calculation (marching cubes)

Surface rendering(OpenGL)

Page 5: Volume Visualization

Concepts and Terms

Example 2:MR measurement

Iso-stack-conversion

MIP (maximum

volumerendering

sampled data(measurement)

analytic data(modelling)

voxel space(discrete)

geom. surfaces(analytic)

pixel space(discrete)

iso-surfacing

voxelization

surfacerendering

Eduard Gröller, Helwig Hauser 13

MIP (maximumintensity proj.)

Image: blood-vessels in hand

Concepts and Terms

Example 3:potential function(x,y,z)

Iso-surface(x,y,z)=0

volumerendering

sampled sata(measurement)

analytic data(modelling)

voxel space(discrete)

geom. surfaces(analytic)

pixel space(discrete)

iso-surfacing

voxelization

surfacerendering

Eduard Gröller, Helwig Hauser 14

(x,y,z) 0

Surface: ray tracing

Concepts and Terms

Example 4:X-RayModelling

Surface-definition

volumerendering

sampled data(measurement)

analytical data(modelling)

voxel space(discrete)

geom. surfaces(analytic)

pixel space(discrete)

iso-surfacing

voxelization

surfacerendering

Eduard Gröller, Helwig Hauser 15

definition

Sampling(voxelization),combination

Direct volume rendering

Page 6: Volume Visualization

Surfaces vs. Volume Rendering

Surface rendering:Indirect volume visualization

Intermediate representation: iso-surface, “3D”

Pros: ShadingShape!, HW-rendering

V l d i

Eduard Gröller, Helwig Hauser 16

Volume rendering:Direct volume visualization

Usage of transfer functions

Pros: illustrate the interior, semi-transparency

Surfaces vs. Volume Rendering

... ... ...

...

...

... ... ...

Eduard Gröller, Helwig Hauser 17

volumerendering

hybridrendering

=surfaces

+volumes

VolVis-Techniques – Overview

Simple methods:Slicing, MPR (multi-planar reconstruction)

Direct volume visualization:Ray castingShear-warp factorization

Eduard Gröller, Helwig Hauser 18

Shear warp factorizationSplatting3D texture mappingFourier volume rendering

Surface-fitting methods:Marching cubes (marching tetrahedra)

Page 7: Volume Visualization

Image-Order vs. Object-Order

Image-order:FOR every pixel DO: …

Cost, complexity image size

Example: ray casting (tracing viewing rays)

Obj t d

Eduard Gröller, Helwig Hauser 19

Object-order:FOR every object (voxel) DO: …

Cost, complexity object size (# of voxels)

Examples: splatting (“throwing snow balls")

Image-Order Approach

Eduard Gröller, Helwig Hauser 20

Object-order approach

Eduard Gröller, Helwig Hauser 21

Page 8: Volume Visualization

Simple Methods

Slicing, etc.

Slicing:Axes-parallel slices

regular grids: simple

without transfer functionno color

Slicing

no color

Windowing: adjust contrast

Eduard Gröller, Helwig Hauser 23

data values

Windowwhite

black

click!

Slicing:Axes-parallel slices

regular grids: simple

without transfer functionno color

Slicing

no color

Windowing: adjust contrast

Eduard Gröller, Helwig Hauser 24

data values

Windowwhite

black

click!

Page 9: Volume Visualization

Slicing

Not so simple:Slicing through general gridInterpolation necessary

Sli i

Eduard Gröller, Helwig Hauser 25

Slicing:well combinablewith 3D-visualization

Multi-planar reformation (MPR):

arbitrary axes, 3Dklick!

Slicing

Not so simple:Slicing through general gridInterpolation necessary

Sli i

Eduard Gröller, Helwig Hauser 26

Slicing:well combinablewith 3D-visualization

Multi-planar reformation (MPR):

arbitrary axes, 3Dklick!

Direct Volume Visualization,IntroductionIntroduction

Classification – Transfer Functions

Page 10: Volume Visualization

Direct Volume Visualization

Overview:No intermediate representation

“real 3D”

Integration of so much information difficult

Obj t d i d d i

Eduard Gröller, Helwig Hauser 28

Object-order vs. image-order rendering

Various techniques (ray casting, splatting, shear-warp, texture mapping, Fourier volume rendering, etc.)

Various types of combinations (compositing, MIP, first-hit, average, etc.)

Types of Combinations

Overview:

MIP MaxIntensity

Eduard Gröller, Helwig Hauser 29

Compositing X-Ray First hit

Depth

AverageAccumulate

First

First Hit: Iso-Surface Extraction

Eduard Gröller, Helwig Hauser 30

First: Extracts iso-surfaces (again!),done by Tuy&Tuy ’84

Depth

First

Page 11: Volume Visualization

Average: as X-Ray Images

Average

Eduard Gröller, Helwig Hauser 31

Depth

Average: Produces basically an X-ray picture

MIP: Maximum-Intensity Projection

MaxIntensity

Eduard Gröller, Helwig Hauser 32

Depth

Max: Maximum Intensity Projectionused for Magnetic Resonance Angiograms, for example

Compositing: Semi-Transparency

Accumulate

Eduard Gröller, Helwig Hauser 33

Accumulate: Make transparent layers visible!Levoy ‘88

Depth

Page 12: Volume Visualization

Types of Combination

Possibilities: -compositing

Shaded surface display

Maximum-intensity projection

X-ray simulation

DVR

Eduard Gröller, Helwig Hauser 34

Contour rendering

SSD

MIPx-rayNPR

Classification

Assignment data semantics:Assignment to objects, e.g., bone, skin, muscle, etc.

Usage of data values,gradient, curvature

Eduard Gröller, Helwig Hauser 35

gradient, curvature

Goal: segmentation

Often: semi-automatic resp. manual

Automatic approximation:transfer functions (TF)

Example

Transfer Functions (TF)

Mapping data ”renderable quantities”:1.) data color

2.) data opacity (non-transparency)

opacity

Eduard Gröller, Helwig Hauser 36

data values

“bone”

“skin”

“air”

opacity

color

yellow, semi-transparent

red, opaque

Page 13: Volume Visualization

Different Transfer Functions

Image results:Strong dependence on transfer functions

Non-trivial specification

Eduard Gröller, Helwig Hauser 37

specification

Limited segmentation possibilities

Lobster – Different Transfer Functions

Three objects: media, shell, flesh

Eduard Gröller, Helwig Hauser 38

Inclusion of the Gradient

Emphasis of changes:Special interest often in transitional areas

Gradients: measure degree of change (like surface normal)

Eduard Gröller, Helwig Hauser 39

Larger gradient magnitude larger opacity

Page 14: Volume Visualization

2D-Transfer function:Levoy ‘88

Specific opacityat certain threshold

Gradient-Based Transfer Functions

opacity|(x)|

gradientmagnitude |f(x)|

Eduard Gröller, Helwig Hauser 40

threshold

but: close-by variation according gradient magnitude

highlights transitions (large gradients)

dampens homogeneous areas

data value f(x)

Multi-Dimensional Transfer Functions (1)

f, f‘, f‘‘ histograms to depict material boundaries

f(x)f´(x)f´´(x)

material histogram

f f‘ histogram

Eduard Gröller, Helwig Hauser 41

[Kindlmann, Durkin 1998]

xf(x)

f´(x)

f(x)

f´(x)

x

[Kniss et al. 2002]

f, f histogram

volume rendering showing materials and boundaries

Multi-Dimensional Transfer Functions (2)

Direct manipulation widgets [Kniss et al. 2002]

Eduard Gröller, Helwig Hauser 42

1D vs. 2D transfer function

Page 15: Volume Visualization

Acknowledgments

For material for this lecture unitRoberto Scopigno,Claudio Montani (CNR, Pisa)

Hans-Georg Pagendarm (DLR, Göttingen)

Michael Meißner (GRIS Tübingen)

Eduard Gröller, Helwig Hauser 43

Michael Meißner (GRIS, Tübingen)

Torsten Möller

Gordon Kindlmann

Joe Kniss

etc.