amcs / cs 247 – scientific visualization lecture 15+16: volume...

31
AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume Visualization, Pt. 5+6 Markus Hadwiger, KAUST

Upload: others

Post on 30-May-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume ...faculty.kaust.edu.sa/.../documents/cs247_fall2013_lecture_15_16.pdf · Lecture 15+16: Volume Visualization, Pt

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

Markus Hadwiger, KAUST

Page 2: AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume ...faculty.kaust.edu.sa/.../documents/cs247_fall2013_lecture_15_16.pdf · Lecture 15+16: Volume Visualization, Pt

2

Reading Assignment #9 (until Nov. 12)

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

Page 3: AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume ...faculty.kaust.edu.sa/.../documents/cs247_fall2013_lecture_15_16.pdf · Lecture 15+16: Volume Visualization, Pt

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

Page 4: AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume ...faculty.kaust.edu.sa/.../documents/cs247_fall2013_lecture_15_16.pdf · Lecture 15+16: Volume Visualization, Pt

• Modify initial rasterization step

rasterize bounding box rasterize “tight" bounding geometry4

Object-Order Empty Space Skipping

Page 5: AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume ...faculty.kaust.edu.sa/.../documents/cs247_fall2013_lecture_15_16.pdf · Lecture 15+16: Volume Visualization, Pt

• 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

Page 6: AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume ...faculty.kaust.edu.sa/.../documents/cs247_fall2013_lecture_15_16.pdf · Lecture 15+16: Volume Visualization, Pt

• 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

Page 7: AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume ...faculty.kaust.edu.sa/.../documents/cs247_fall2013_lecture_15_16.pdf · Lecture 15+16: Volume Visualization, Pt

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

7

Object-Order Empty Space Skipping

Page 8: AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume ...faculty.kaust.edu.sa/.../documents/cs247_fall2013_lecture_15_16.pdf · Lecture 15+16: Volume Visualization, Pt

1. Render polygonal geometry Modified ray setup

2. Raycasting Compositing buffer

3. Blending Final image

Combination with Geometry

Page 9: AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume ...faculty.kaust.edu.sa/.../documents/cs247_fall2013_lecture_15_16.pdf · Lecture 15+16: Volume Visualization, Pt

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]

Page 10: AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume ...faculty.kaust.edu.sa/.../documents/cs247_fall2013_lecture_15_16.pdf · Lecture 15+16: Volume Visualization, Pt

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

Page 11: AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume ...faculty.kaust.edu.sa/.../documents/cs247_fall2013_lecture_15_16.pdf · Lecture 15+16: Volume Visualization, Pt

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

Page 12: AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume ...faculty.kaust.edu.sa/.../documents/cs247_fall2013_lecture_15_16.pdf · Lecture 15+16: Volume Visualization, Pt

Virtual Endoscopy

First find isosurface; then continue with DVR

Page 13: AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume ...faculty.kaust.edu.sa/.../documents/cs247_fall2013_lecture_15_16.pdf · Lecture 15+16: Volume Visualization, Pt

Virtual Endoscopy

First find isosurface; then continue with DVR

Page 14: AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume ...faculty.kaust.edu.sa/.../documents/cs247_fall2013_lecture_15_16.pdf · Lecture 15+16: Volume Visualization, Pt

Classification

Page 15: AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume ...faculty.kaust.edu.sa/.../documents/cs247_fall2013_lecture_15_16.pdf · Lecture 15+16: Volume Visualization, Pt

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

Page 16: AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume ...faculty.kaust.edu.sa/.../documents/cs247_fall2013_lecture_15_16.pdf · Lecture 15+16: Volume Visualization, Pt

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)

Page 17: AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume ...faculty.kaust.edu.sa/.../documents/cs247_fall2013_lecture_15_16.pdf · Lecture 15+16: Volume Visualization, Pt

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

Page 18: AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume ...faculty.kaust.edu.sa/.../documents/cs247_fall2013_lecture_15_16.pdf · Lecture 15+16: Volume Visualization, Pt

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

Page 19: AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume ...faculty.kaust.edu.sa/.../documents/cs247_fall2013_lecture_15_16.pdf · Lecture 15+16: Volume Visualization, Pt

Comparison of image quality

Post-ClassificationPre-Classification

Same TF, same resolution, same sampling rate

Quality: Pre- vs. Post-Classification

Page 20: AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume ...faculty.kaust.edu.sa/.../documents/cs247_fall2013_lecture_15_16.pdf · Lecture 15+16: Volume Visualization, Pt

Pre-Classification Post-Classification

Quality Comparison

Page 21: AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume ...faculty.kaust.edu.sa/.../documents/cs247_fall2013_lecture_15_16.pdf · Lecture 15+16: Volume Visualization, Pt

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

Page 22: AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume ...faculty.kaust.edu.sa/.../documents/cs247_fall2013_lecture_15_16.pdf · Lecture 15+16: Volume Visualization, Pt

Screen

Slab

Eyesf

sb

Pre-Integrated Classification

Page 23: AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume ...faculty.kaust.edu.sa/.../documents/cs247_fall2013_lecture_15_16.pdf · Lecture 15+16: Volume Visualization, Pt

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

Page 24: AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume ...faculty.kaust.edu.sa/.../documents/cs247_fall2013_lecture_15_16.pdf · Lecture 15+16: Volume Visualization, Pt

24© Weiskopf/Machiraju/Möller

128 Slabs284 Slices128 Slices

Pre-integrated Rendering

Quality comparison

Page 25: AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume ...faculty.kaust.edu.sa/.../documents/cs247_fall2013_lecture_15_16.pdf · Lecture 15+16: Volume Visualization, Pt

25© Weiskopf/Machiraju/Möller

128 Slabs284 Slices128 Slices

Pre-integrated Rendering

Quality comparison

Page 26: AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume ...faculty.kaust.edu.sa/.../documents/cs247_fall2013_lecture_15_16.pdf · Lecture 15+16: Volume Visualization, Pt

Pre-Integrated Classification

Page 27: AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume ...faculty.kaust.edu.sa/.../documents/cs247_fall2013_lecture_15_16.pdf · Lecture 15+16: Volume Visualization, Pt

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

Page 28: AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume ...faculty.kaust.edu.sa/.../documents/cs247_fall2013_lecture_15_16.pdf · Lecture 15+16: Volume Visualization, Pt

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]

Page 29: AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume ...faculty.kaust.edu.sa/.../documents/cs247_fall2013_lecture_15_16.pdf · Lecture 15+16: Volume Visualization, Pt

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]

Page 30: AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume ...faculty.kaust.edu.sa/.../documents/cs247_fall2013_lecture_15_16.pdf · Lecture 15+16: Volume Visualization, Pt

2D Transfer Functions

Comparisons

Markus Hadwiger, KAUST 30

[Kniss et al. 2002]

Page 31: AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume ...faculty.kaust.edu.sa/.../documents/cs247_fall2013_lecture_15_16.pdf · Lecture 15+16: Volume Visualization, Pt

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