Title: Exploded Views for Volume Data
1Exploded Views for Volume Data
- Stefan Bruckner, M. Eduard Gröller
Institute of Computer Graphics and
Algorithms Vienna University of Technology
2Motivation (1)
- Volumetric data sets information about interior
and exterior of an object - Frequently focus objects are occluded by other
structures - Reduce opacity, cutaways information is still
removed, particularly for large focus objects - Alternative approach split up context structures
and displace them - Rely on human perception to put pieces back
together
3Motivation (2)
Plastinated anatomic sculpture (G. von Hagens,
Bodyworlds)
Interactive exploded-view illustration
4Related Work
- McGuffin et al. 2003 Interactive deformation
widgets for browsing segmented volume data - Islam et al. 2004 Modeling splitting operations
for volumetric data sets - Cornea et al. 2005 Curve-skeleton for
partitioning volumes - Cornea et al. 2006 Feature-aligned volume
manipulation - Our contribution fully interactive approach,
automated part layout, view-dependent explosions,
high-quality rendering
5Overview (1)
FocusSelection
PartDefinition
Layout Generation
Rendering
6Focus Selection (1)
- Approximate specification of focus object in
dataset - Via transfer function, segmentation, volume
painting - Degree-of-interest function specifies importance
of each voxel Viola et al. 2004 - Can be refined after an initial exploded view has
been generated - All voxels with nonzero degree-of-interest are
called selection, rest is background
7Focus Selection (2)
8Overview (2)
FocusSelection
PartDefinition
Layout Generation
Rendering
9Part Definition (1)
- Partition of the background object into several
non-overlapping regions - Could be done automatically (curve skeleton,
symmetry detection) - Simple interactive approach user can split
volume along arbitrary planes - Different tools axis splitter, depth splitter,
line splitter - Splitting can be refined/modified once the view
is exploded
10Part Definition (2)
11Overview (3)
FocusSelection
PartDefinition
Layout Generation
Rendering
12Layout Generation (1)
- Displacing each part manually is cumbersome and
time-consuming - Would have to be adjusted whenever the viewpoint
changes - Several potentially conflicting layout
requirements - We use a three-dimensional force-directed layout
approach for part arrangement - Different forces represent our layout
requirements
13Layout Generation (2)
14Explosion Force (1)
- Part arrangement should depend on the shape of
the selection object - The explosion force moves the parts away from the
selection object - A set of points (explosion points) within the
selection object is generated - Each point exhibits a repulsive force on all
parts
15Explosion Force (2)
- For each part Pi
- For each explosion point ej
- Find point p on Pi closest to ej
- Apply Fe to Pi at point p with r p - ej
16Viewing Force (1)
- Occlusions of the selection object should be
prevented for every viewpoint - The explosion force does not take the viewpoint
into account - The viewing force moves parts away from the line
of sight - Modeled after the graph distortion viewing
technique by Carpendale et al. 1996
17Viewing Force (2)
- For each part Pi
- For each explosion point ej
- Find point p along ray to ej closest to the
center of Pi - Apply Fv to center of Pi with r center(Pi) - p
18Spacing Force (1)
- Parts should move apart in order to prevent
clustering - Spacing force causes parts to repel each other
- Each part exhibits a spacing force on all other
parts
19Spacing Force (2)
- For each part Pi
- For each part Pj
- Apply Fs to Pi with r center(Pi) - center(Pj)
20Return Force (1)
- All previous forces move parts away from their
original position - To reach an equilibrium, we need a force which
works opposite to the other ones - The return force pulls parts back to their
initial location
21Return Force (2)
- For each part Pi
- For each vertex vj of Pi
- Apply Fr to Pi with r being the vector from the
current position of vj to its original location
22Degree-of-Explosion
- For ease of use, we have one global
degree-of-explosion parameter - The degree-of-explosion controls how exploded
the view should be - This parameters scales the normalized explosion,
viewing, and spacing forces - For additional control, the contribution of each
force to the total force can be adjusted
23Constraints (1)
- Add additional joints to constrain part movement,
e.g. based on semantics - Different joints hinge joint, slider joint, ball
joint, etc. - Adjust mass of parts heavier parts will move
less - Special case infinite mass means part will not
be displaced (useful for breakaway views)
24Constraints (2)
unconstrained explosion
parts connected by slider joint, left part is
static
25Overview (4)
FocusSelection
PartDefinition
Layout Generation
Rendering
26Rendering
- Background object divided into multiple
non-intersecting parts - Each of the parts has its own transformation
matrix - Selection object may intersect one or several
parts - Additional bounding geometry (e.g. octree) for
background and selection (used for empty-space
skipping)
27Algorithm
- Process parts in visibility order (GPU-based
visibility sort is performed) - Use Z-Buffer to compute intersections between
part geometry and bounding geometry - Store the resulting entry exit points depth
for background and selection in 2 sets of
off-screen buffers - Use buffers in fragment program to perform
raycasting for background and selection
28Example
selection entry and exit buffers
29Example
selection entry and exit buffers
background entry and exit buffers
30Example
31Raycasting
- Do raycasting for selection and background for
one part in a single fragment program - Two intervals per ray, one for selection and one
for background
Need to sample both volumes and do multi-volume
compositing
32Performance
- Expected bad performance due to dynamic branching
in fragment program - Does not seem to be the case, most probably due
to coherency in branching patterns - Some performance penalties due to usage of OpenGL
FBOs might disappear in the future - Comparison with reference raycaster same
shading and compositing routines, but no handling
of exploded views
33Performance
GPU GeForce 6800 GT Image 512 x 512 Volume
256 x 256 x 166
34Demonstration
35Conclusions and Future Work
- Automated approach for interactive generation of
exploded view illustrations - Uses a flexible and extensible force-based layout
approach - Fast high-quality GPU-based renderer using
raycasting - Future automatic part generation (curve
skeleton, symmetry detection) - Pre-generated explosion setups, use template
matching to adjust to different datasets
36Thank you for your attention! Questions?
http//www.volumeshop.org