AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume...
Transcript of AMCS / CS 247 – Scientific Visualization Lecture 15+16: Volume...
![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.](https://reader036.fdocuments.net/reader036/viewer/2022062602/5ed83fca0fa3e705ec0e1e5d/html5/thumbnails/1.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062602/5ed83fca0fa3e705ec0e1e5d/html5/thumbnails/2.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062602/5ed83fca0fa3e705ec0e1e5d/html5/thumbnails/3.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062602/5ed83fca0fa3e705ec0e1e5d/html5/thumbnails/4.jpg)
• 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.](https://reader036.fdocuments.net/reader036/viewer/2022062602/5ed83fca0fa3e705ec0e1e5d/html5/thumbnails/5.jpg)
• 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.](https://reader036.fdocuments.net/reader036/viewer/2022062602/5ed83fca0fa3e705ec0e1e5d/html5/thumbnails/6.jpg)
• 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.](https://reader036.fdocuments.net/reader036/viewer/2022062602/5ed83fca0fa3e705ec0e1e5d/html5/thumbnails/7.jpg)
• 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.](https://reader036.fdocuments.net/reader036/viewer/2022062602/5ed83fca0fa3e705ec0e1e5d/html5/thumbnails/8.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062602/5ed83fca0fa3e705ec0e1e5d/html5/thumbnails/9.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062602/5ed83fca0fa3e705ec0e1e5d/html5/thumbnails/10.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062602/5ed83fca0fa3e705ec0e1e5d/html5/thumbnails/11.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062602/5ed83fca0fa3e705ec0e1e5d/html5/thumbnails/12.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062602/5ed83fca0fa3e705ec0e1e5d/html5/thumbnails/13.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062602/5ed83fca0fa3e705ec0e1e5d/html5/thumbnails/14.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062602/5ed83fca0fa3e705ec0e1e5d/html5/thumbnails/15.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062602/5ed83fca0fa3e705ec0e1e5d/html5/thumbnails/16.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062602/5ed83fca0fa3e705ec0e1e5d/html5/thumbnails/17.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062602/5ed83fca0fa3e705ec0e1e5d/html5/thumbnails/18.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062602/5ed83fca0fa3e705ec0e1e5d/html5/thumbnails/19.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062602/5ed83fca0fa3e705ec0e1e5d/html5/thumbnails/20.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062602/5ed83fca0fa3e705ec0e1e5d/html5/thumbnails/21.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062602/5ed83fca0fa3e705ec0e1e5d/html5/thumbnails/22.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062602/5ed83fca0fa3e705ec0e1e5d/html5/thumbnails/23.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062602/5ed83fca0fa3e705ec0e1e5d/html5/thumbnails/24.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062602/5ed83fca0fa3e705ec0e1e5d/html5/thumbnails/25.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062602/5ed83fca0fa3e705ec0e1e5d/html5/thumbnails/26.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062602/5ed83fca0fa3e705ec0e1e5d/html5/thumbnails/27.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062602/5ed83fca0fa3e705ec0e1e5d/html5/thumbnails/28.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062602/5ed83fca0fa3e705ec0e1e5d/html5/thumbnails/29.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062602/5ed83fca0fa3e705ec0e1e5d/html5/thumbnails/30.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062602/5ed83fca0fa3e705ec0e1e5d/html5/thumbnails/31.jpg)
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