Upload
poop
View
32
Download
3
Embed Size (px)
DESCRIPTION
Computer graphics
Citation preview
Scalar Field Visualization
Leif Kobbelt
2Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Types of Data
nD
3D
2D
1D
0D
1D 2D 3D nD
I J
G H
C D E F
A B
dimension of
domain
dimension of
data type
3Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Function Plots and Height Fields
• Visualization of 1D or 2D scalar fields
1D scalar field:
2D scalar field:
RIRI
RIRI 2
3
4Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Function Plots and Height Fields
• Function plot for a 1D scalar field
2D Points
1D manifold: line
}|))(,{( RIssfs
4
5Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Function Plots and Height Fields
• Function plot for a 2D scalar field 3D Points
2D manifold: surface
• Surface representations Wireframe
Hidden lines
Shaded surface
}),(|),(,,{( 2RItstsfts
5
6Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
„The Geometry of Images“
6
7Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
„The Geometry of Images“
7
8Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
„The Geometry of Images“
8
9Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Isolines
• Visualization of 2D scalar fields
• Given a scalar function
and a scalar value 𝑐 ∈ 𝑅• Isoline consists of points
• If f() is differentiable and grad(f) 0, then isolines are
curves
• Contour lines
RIf :
}),(|),{( cyxfyx
9
10Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Isolines
10
11Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Isolines
11
12Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Isolines
• pixel by pixel contouring
• straightforward approach: scanning all pixels for isovalue
• input f : (1,...,xmax) x (1,...,ymax) R
Isovalues I1,..., In and isocolors c1,...,cn
• algorithmfor all (x,y) (1,...,xmax) x (1,...,ymax) do
for all k { 1,...,n } do
if |f(x,y)-Ik| < then
draw(x,y,ck)
• problem: isolinie can be missed if the gradient of f() is too large
(despite range )
12
13Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Isolines
• Marching squares representation of the scalar function on a rectilinear grid
scalar values are given at each vertex ffij take into account the interpolation within cells
isolines cannot be missed
divide and conquer: consider cells independently of each other
13
14Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Isolines
• Which cells will be intersected ? Initially mark all vertices by + or – , depending on the
conditions fij c , fij < c
• No isoline passes through cells (=rectangles) which have
the same sign at all four vertices So we only have to determine the edges with different signs
+
++
+ + +
+ +
+ + +
+
–
–––
14
15Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Isolines
• Only 4 different cases (classes) of combinations of signs
• Symmetries: rotation, reflection, change + -
• Compute intersections between isoline and cell edge,
based on linear interpolation along the cell edges
+ +
+ +
+ -
+ +
+ -
+ -
+ -
- +
?
+ -
- +
+ -
- +
?
15
16Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
-+
Isolines
• We can distinguish the cases by a decider
• Mid point decider Interpolate the function value in the center
If fcenter < c we chose the right case, otherwise we chose the left case
Not always correct solution
+ -
- +
+ -
- +
)(4
11,11,,1,center jijijiji fffff
16
17Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Isolines
• Asymptotic decider Consider the bilinear interpolant within a cell
The true isolines within a cell are hyperbolas
Asymptote
Cell boundaries
Asymptote
17
18Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Isolines
• Interpolate the function bilinearly
• Transform f() to
• is the function value in the
intersection point
of the asymptotes
xyfyxfyxfyxfyxf jijijiji 111,,1, )1()1()1)(1(),(
))((),( 00 yyxxyxf
(x0, y0)
18
19Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Isolines
• If c we chose the right case, otherwise we
chose the left one
+
+ -
- +
-
+ -
- +
19
20Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Isolines
• Explicit transformation f() to
can be avoided
• Idea: investigate the order of intersection points either
along x or y axis
• Build pairs of first two and last two intersections
))((),( 00 yyxxyxf
valid not possible
20
21Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
3D Scalar Field Visualization
21
22Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Volumetric Representations
• Implicit representation F(x,y,z) = 0
• Signed distance function
• Sample on a uniform cartesian grid
• Trilinear interpolation
22
23Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Volumetric Representations
F(i+u,j+v,k+w) =
F000 (1-u)(1-v)(1-w) +
F100 u (1-v)(1-w) +
F010 (1-u) v (1-w) +
...
F111 u v w
23
F000 F100
F110
F111
F011
F001F101
24Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Volumetric Representations
• Indirect Rendering:
Isosurface extraction: Marching Cubes
• Direct Rendering:
Ray Casting
24
25Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Volume Data
• discrete representation:
Fijk = F(i x, j y, k z)
• piecewise polynomial (linear) interpolation
• tri-linear functions per cell („voxel“)
algebraic iso-surfaces of degree 3
• approximation by a polygonal mesh
25
26Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Surface Extraction
• Find point samples on the iso-surface
exploit voxel structure
use function values
• Connect neighboring samples
exploit voxel neighborhood structure
relation between voxels and polygons
26
27Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Surface Sampling
in which voxel ?
27
28Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Surface Sampling
in which voxel ?
F((i+u) x, (j+v) y, (k+w) z) =
(1-u)(1-v)(1-w)Fijk + (1-u)(1-v) w Fijk+1 +
(1-u) v (1-w)Fij+1k + (1-u) v w Fij+1k+1 +
u (1-v)(1-w)Fi+1jk + u (1-v) w Fi+1jk+1 +
u v (1-w)Fi+1j+1k+ u v w Fi+1j+1k+1 +
(u,v,w) [0,1]3 min Fijk F(u,v,w) max Fijk
28
29Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Surface Sampling
in which voxel ?
Sc[F] passes through all (and only) voxels
with min Fijk c max Fijk
29
30Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Surface Sampling
in which voxel ?
Sc[F] passes through all (and only) voxels
with min Fijk c max Fijk
how to find these voxels efficiently ?
30
31Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Surface Sampling
in which voxel ?
Sc[F] passes through all (and only) voxels
with min Fijk c max Fijk
how to find these voxels efficiently ?
- store min/max {Fijk,Fijk+1,Fij+1k,Fij+1k+1,
Fi+1jk,Fi+1jk+1,Fi+1j+1k,Fi+1j+1k+1}
- build octree
31
32Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Min/Max Tree
• store min/max for every voxel Vijkn
• octree Vijkn-1 has children
V2i 2j 2kn ... V 2i+1 2j+1 2k+1
n
• propagate min/max values upwards
• surface extraction:
traverse only the relevant voxels
O(n3) O(n2 log n)
32
33Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Surface Sampling
• per voxel : ray intersection
• ray ... P + Q
• intersection ... G() = F(P + Q) = c
• solve cubic equation ...
33
34Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Surface Sampling
• per voxel : ray intersection
• ray ... P + Q
• intersection ... G() = F(P + Q) = 0
• solve cubic equation ...
• ray parallel to coordinate axis
solve linear equation ...
34
35Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Problems / Bad Approximation
35
36Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Surface Sampling
• use additional information to improve
iso-surface approximation
• normal vector to iso-surface Sc[F]:
F(x,y,z) = [ F/x, F/y, F/z ]
• find surface samples by (approximately)
intersecting tangent planes
36
37Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Error Quadrics
• squared distance to plane:
37
• sum distances to vertex' planes:
TTdcbapzyxv ,,,,1,,,
vQvvppvvpvp P
TTTT :,,dist22
2
2
2
2
dcdbdad
cdcbcac
bdbcbab
adacaba
QP
vQvvQvvQvvp v
T
p p
p
T
p
T
p
:,dist planes planes planes
2
38Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Error Quadrics
• optimal point that minimizes the error:
38
• solve using pseudo-inverse (SVD)
(underdetermined vs. overdetermined)
T
p
nn
ppp
p
pp
p
T
pp dcbapndvnn
pp
,,,
1 with :
*
39Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Surface Data
• polygon meshes / triangle meshes
M = ({pi},{Tj})
• compute samples on grid edges within voxels
• compute faces (vertex connectivity) for each voxel for each grid edge
39
40Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Marching Cubes [Lorensen/Cline ´87]
• extract surface patch for every grid cell
classification by the signs at the corners
(black, white, gray)
• approximate samples
linear interpolation of scalar distance values
along cell edges
• look-up table with pre-computed triangulations
28 entries, many symmetries
40
41Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Visit Each Gray Cell ...
41
42Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Compute Samples on Edges
42
kjdd
di
kjikji
kji,,
,,1,,
,,
43Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
kdd
dji
kjikji
kji,,
,1,,,
,,
Compute Samples on Edges
43
44Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
1,,,,
,,,,
kjikji
kji
dd
dkji
Compute Samples on Edges
44
45Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Lookup Mesh Connectivity
45
. . .
46Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Cell Connectivity Table
46
47Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Extended Marching Cubes
• same algorithmic principle
• for each cell ...
Find surface samples on the grid cell edges
Evaluate surface normals at the sample points
Feature detection
Feature sampling
Feature reconstruction
47
48Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Normal cone
for a smooth (flat)
non-feature region
Feature Classification
48
49Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Feature Classification
49
Normal cone
for a smooth (flat)
non-feature region
50Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Feature Classification
50
Normal cone
for an edge feature
(one large angle)
51Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Feature Classification
51
52Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Feature Classification
52
Normal cone
for a corner feature
(two large angles)
53Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Feature Detection
• opening angles of the normal cone = maxi,j <ni, nj> = mink <nk, ni x nj>
• edge features > 0, > 0 sharp edge
• corner features > 0, <= 0 sharp corner
53
54Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Feature Sampling
• Each pair ( pi , ni) defines a tangent element
• Intersect tangent planes to approximate
a piecewise smooth surface
• Find least squares solution by SVD
Overdetermined cases
Underdetermined cases
Suppress smallest singular value at edge
features
54
55Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Lookup Mesh Connectivity
55
. . .
56Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Modified Lookup Table
• Generate triangle fans centered around the
feature sample
56
. . .
57Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Feature Reconstruction
57
feature
detection
feature
samplingedge-flipping
58Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Results
• Mesh complexity Two additional triangles per feature sample Typically 10% overhead
• Computation time 20% to 40% overhead
• Improved approximation
• Parameters 0 and 0
False positive feature detection !?
• Applications ...
58
59Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
CSG ... CAD / CAM
59
65 x 65 x 65
60Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
CSG ... Milling Simulation
60
257 x 257 x 257
61Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Iso-Surface Extraction
61
65 x
65 x
65
62Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Iso-Surface Extraction
62
63Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Volumetric Representations
• Indirect Rendering:
Isosurface extraction: Marching Cubes
• Direct Rendering:
Ray Casting
63
64Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Volume Rendering
64
65Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Volume Rendering
65
66Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Volume Rendering
66
67Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Volume Rendering
67
68Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Ray Casting
• Maximum Intensity Projection
68
rays 0
Scalar value S
Maximum Smax
69Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Maximum Intensity Projection
69
70Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Absorption
70
Ray
s0
I(s0)
s
71Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Absorption
71
Ray
s0
I(s0)
s
Ray
ss~
~q(s)
s0
I(s0)
72Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Ray Casting
• Image order: for each pixel ...
• Shoot rays from eye through each image plane
pixel
• Integrate color c & opacity along the ray r
72
dsescrc
s
dttL
0
)(
0
)()(
73Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Volumetric Representations
73
74Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Opacity
• base color c, opacity
damping factor 1- = e-
emitted color c
• resulting (effective) color
c + (1-) cbackground
74
75Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Ray Casting
set color c(.) and opacity (.) for all voxels
for all pixels ui = (ui, vi)
find ray from eye through pixel ui : eye + d
init cacc(ui) = acc(ui) = 0
for all samples xj = (xj, yj, zj) = eye + j d
get c(xj) and (xj) by tri-linear interpolation
composite with cacc(ui) and acc(ui)
75
76Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Opacity Accumulation
• Continous compositing
76
• Discrete compositing
decucdttL
i
0
)(
0
)()(DE
DE
1)( ,)(with
))(1()()()(0
1
0
kbkgk
K
j
j
m
mjji
xcxc
xxxcuc
77Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Opacity Accumulation
77
i
ic
K
Kc
0
0
c
78Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Opacity Accumulation
78
C[0..K]
i
ic
K
Kc
0
0
c
79Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Opacity Accumulation
79
C[1..K]„back-to-front“
i
ic
K
Kc
0
0
c
80Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Opacity Accumulation
80
C[0..K-1]„front-to-back“
i
ic
K
Kc
0
0
c
81Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Back-to-Front Compositing
81
))(1())(1()()(
)()(
))(1()()(
0
1
1
1
00
0
1
0
xxxxc
xxc
xxxc
K
j
j
m
mjj
K
j
j
m
mjj
82Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Front-to-Back Compositing
• Iterative accumulation j = 0 .. K
with
82
)ˆ1(ˆˆ
)ˆ1(
j
jjcCC
1
0
)1()ˆ1(j
m
m
83Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Transfer Functions
• how to define the
base color c
opacity
• for each voxel ?
• CT, MRI, ...
• diffusion tensor imaging
83
84Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Transfer Functions
84
scalar value s
emission RGB
absorption A
T(s)
85Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Transfer Functions
85
0 1
α
86Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Transfer Functions
86
0 1
α
87Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Transfer Functions
87
0 1
α
88Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Transfer Functions
88
0 1
α
+ Shading
89Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Transfer Functions
89
0 1
α
+ Shading
+ Color coding
90Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Absorption vs. MIP
90
91Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Compositing Schemes
Depth
Inte
nsity Max
Average
Accumulate
First
91
92Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Compositing Schemes
• Compositing: First
• Extracts isosurfaces
Depth
Inte
nsity
First
92
93Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Compositing Schemes
• Compositing: Average
• Produces basically an X-ray picture
Average
Depth
Inte
nsity
93
94Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Compositing Schemes
• Maximum Intensity Projection (MIP)
• Often used for magnetic resonance angiograms
• Good to extract vessel structures
Max
Depth
Inte
nsity
94
95Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Compositing Schemes
• Compositing: Accumulate
• Emission-absorption model
• Make transparent layers visible (- classification)
Accumulate
Depth
Inte
nsity
95
96Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Volume Shading
• Lighting / Shading
Phong model, Gouraud shading
Estimate normal by
Approximate F(x,y,z) by central difference
96
),,(
),,(),,(
zyxF
zyxFzyxN
),,(),,(
),,(),,(
),,(),,(
2
1),,(
11
11
11
iiiiii
iiiiii
iiiiii
zyxFzyxF
zyxFzyxF
zyxFzyxF
zyxF
97Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Volume Rendering Modes
• Classification
assign spatial opacity values (xi, yi, zi)
assign for isovalues F(x,y,z) = (transfer
function)
isosurface ... = (=0) ... blur with radius r
97
otherwise
)()(0)(
)(0)(
,
,
,
)(
)(
0
11
1
)( iii
ii
i
ivi xFvxFxF
vxFxF
xF
vxF
rx
98Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Volume Rendering Modes
98
1
F
99Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Volume Rendering Modes
99
r
r F
100Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Volume Rendering Modes
100
r
r F
r
1
101Visual Computing Institute | Prof. Dr. Leif Kobbelt
Computer Graphics and Multimedia
Data Analysis and Visualization
Ray Casting
• Acceleration techniques
Spatial data structures (octree)
Find and skip empty regions
Find homogenous regions, use lower sample
rate
Early ray termination
Opacity threshold terminates ray traversal
Requires front-to-back traversal
Fast cell traversal (Bresenham-like)
101