AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume...

Post on 30-May-2020

6 views 0 download

Transcript of AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume...

AMCS / CS 247 – Scientific VisualizationLecture 15+16: Volume Visualization, Pt. 5+6

Markus Hadwiger, KAUST

2

Reading Assignment #9 (until Nov. 12)

Read (required):• Data Visualization book, Chapter 6 until 6.4 (inclusive)

3

Quiz #2: Nov. 7

Organization• First 30 min of lecture

• No material (book, notes, ...) allowed

Content of questions• Lectures (both actual lectures and slides)

• Reading assignments (except optional ones)

• Programming assignments (algorithms, methods)

• Solve short practical examples

• Modify initial rasterization step

rasterize bounding box rasterize “tight" bounding geometry4

Object-Order Empty Space Skipping

• Rasterize front and back facesof active min-max bricks

• Start rays on brick front faces

• Terminate when– Full opacity reached, or– Back face reached

5

Object-Order Empty Space Skipping

• Store min-max values of volume blocks

• Cull blocks against transfer function or iso value

• Rasterize front and back faces of active blocks

6

Object-Order Empty Space Skipping

• Not all empty space skipped– Holes in the volume– Wrong active bricks

7

Object-Order Empty Space Skipping

1. Render polygonal geometry Modified ray setup

2. Raycasting Compositing buffer

3. Blending Final image

Combination with Geometry

Moving Into The Volume (1)

Near clipping plane clips into front faces

Fill in holes with near clipping plane

Can use depth buffer [Scharsach et al., 2006]

Moving Into The Volume (2)

1. Rasterize near clipping plane• Disable depth buffer + test, enable color buffer

• Rasterize entire near clipping plane

2. Rasterize nearest back faces• Enable depth buffer + test, disable color buffer

• Rasterize (nearest) back faces of active bricks

3. Rasterize nearest front faces• Enable depth buffer + test, enable color buffer

• Rasterize (nearest) front faces of active bricks

Virtual Endoscopy

Viewpoint inside the volumewith wide field of view

E.g.: virtual colonoscopy

Hybrid isosurface rendering /direct volume rendering

E.g.: colon wall and structures behind

Virtual Endoscopy

First find isosurface; then continue with DVR

Virtual Endoscopy

First find isosurface; then continue with DVR

Classification

Pre- vs Post-Interpolative Classificationop

tical

pro

pert

ies

data value

inte

rpol

atio

n

PRE-INTERPOLATIVE

optic

al p

rope

rtie

s

data value

interpolation

POST-INTERPOLATIVE

Pre-Classification (Pre-Interpolative)

GeometryProcessing

Rasterization(Interpolation)

FragmentOperations

TransferFunction

A color value is fetched from a tablefor each voxel

A RGBA Value is determined for each voxel

Pre-Classification:Pre-Classification:Color table is applied before interpolation.

(pre-interpolative Transferfunction)

Summary pre-classification• Application of the transfer function before rasterization

• One RGBA lookup for each voxel• Different implementations:

– Texture transfer– Texture color tables (paletted textures)

• Simple and efficient

• Good for coloring segmented data

Pre-Classification Summary

Post-Classification (Post-Interpolative)

Texture 0 = Scalar field

Texture 1 = Transferfunction [Emission RGB, Absorption A]

R=G=B=A=Scalar field S

R

RGBA

= T(S)Polygon

Comparison of image quality

Post-ClassificationPre-Classification

Same TF, same resolution, same sampling rate

Quality: Pre- vs. Post-Classification

Pre-Classification Post-Classification

Quality Comparison

Post-interpolative TF

Classified data

SupersamplingTransfer Function

Supersampling

Transfer Function

Analytical Solution Pre-interpolative TF

Transfer Function

Continuous data Discrete data

Scalar value

alph

a va

lue

Pre- vs Post-Classification

Screen

Slab

Eyesf

sb

Pre-Integrated Classification

pre-integrate all possible combinations in the TF

Pre-Integrated Classification

sf sbstore integral

into table

sf

sb

d

front slice

back slice

Assume constant sampling distance d

sbsf

24© Weiskopf/Machiraju/Möller

128 Slabs284 Slices128 Slices

Pre-integrated Rendering

Quality comparison

25© Weiskopf/Machiraju/Möller

128 Slabs284 Slices128 Slices

Pre-integrated Rendering

Quality comparison

Pre-Integrated Classification

SupersamplingTransfer Function

Transfer Function

Supersampling

Analytical Solution Post-interpolative TF

Pre-IntegratedTransfer Function

Pre-Integrated TF

Continuous data Discrete data

Scalar value

alph

a va

lue

Classified data

Post- vs. Pre-Integrated Classification

2D Transfer Functions

1D transfer function

Horizontal axis: scalar value

Vertical axis: number of voxels

2D transfer function

Horizontal axis: scalar value

Vertical axis: gradient magnitude

Markus Hadwiger, KAUST 28

1D Histogram

2D Scatterplot

[Kniss et al. 2002]

2D Transfer Functions

Markus Hadwiger, KAUST 29

1D transfer function

Horizontal axis: scalar value

Vertical axis: number of voxels

2D transfer function

Horizontal axis: scalar value

Vertical axis: gradient magnitude

[Kniss et al. 2002]

2D Transfer Functions

Comparisons

Markus Hadwiger, KAUST 30

[Kniss et al. 2002]

Thank you.

Thanks for material• Helwig Hauser

• Eduard Gröller

• Daniel Weiskopf

• Torsten Möller

• Ronny Peikert

• Philipp Muigg

• Christof Rezk-Salama

• Joe Kniss, Gordon Kindlmann