amcs / cs 247 – scientific visualization lecture 15+16: volume...
TRANSCRIPT
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