Title: Fast Isocontouring for Improved Interactivity
1Fast Isocontouring forImproved Interactivity
- Chandrajit L. Bajaj
- Valerio Pascucci
- Daniel R. Schikore
Shastra Lab and Center for Visualization Purdue
University West Lafayette, IN 47907
2Statement of Problem
- Input Scalar Field S Isovalue w
- Output Contour C x f(x) w
Two primary stages in contour extraction
- Search for intersected cells
- Contour approximation within an intersected cell
3Related Work
Search Space
Geometric
Value
Giles/Haimes
Lorenson/Cline (Marching Cubes)
Gallagher
Wilhelms/Van Gelder
Shen/Johnson
Cell by Cell
Livnat/Shen/Johnson
Shen/Livnat/Johnson/Hansen
Cignoni/Montani/Puppo/Scopigno
Contouring Strategy
Howie/Blake
van Kreveld
Itoh/Koyamada
Bajaj/Pascucci/Schikore
Mesh Propagation
4Geometric Search
Marching Cubes
Quadtree/Octree
5Value-space search
1D Segments
min
max
6Value-space search
2D Span Space
max
min
7Min/Max Lists (Giles/Haimes)
1D Segments
- Maintain two sorted lists of cells
- Min-sorted
- Max-sorted
- and compute a maximum span ?w
- Search can be limited to cells
- whose minimum value is in the
- range w - ?w, w.
- For a change in w lt ?w, the
- current list is augmented by cells
- in the appropriate range.
min
max
6
1
5
1
4
3
4
3
2
7
7
2
6
5
8Span Filtering (Gallagher)
1D Segments
Classify into buckets basedminimum
value Within each bucket, cells areclassified
based on number ofbuckets spanned by the
cell For a given w, groups of cells are searched
if their span extends to the given value.
min
max
9Sweeping Simplices
1D Segments
- Maintain two sorted lists of cells
- Min-sorted
- Max-sorted (sweep list)
- The sweep list contains pointersto the cell and
a flag - The min list contains a pointer to
- the corresponding sweep list item
- Search in min list marks flags insweep list
- Lists are organized hierarchically
min
max
6
1
5
1
4
3
4
3
2
7
7
2
6
5
10Segment Tree
- Construct a binary search tree over the set of
minima andmaxima. Each node represents a range
of values a,b. Cells are stored at a node if
the cell spans the associated range.
Segment Tree
(2,4
(1, 2)
11Kd-tree
2D Span Space
Each level of tree subdividesprevious spaces in
alternating dimensions.
max
min
12Regular Subdivision
2D Span Space
By grouping into a regularsubdivision of
span-space,most of the intersected cells
arefound immediately. Within each off-axis
regular cell, the list of cells is sorted
vertically and horizontally. Within
regular cells along the axis, a K-d tree orother
search is applied.
max
min
13Interval Tree
2D Span Space
Each level of tree subdividesprevious spaces in
alternating dimensions.
max
min-list (inc) max-list (dec)
1
min-list max-list
min-list max-list
-8
4
min
14Contour Propagation
D
C
- Coherence
- Triangle Stripping
- Compact
- Fast
A
B
Queue
Action
Dequeue A
A
Compute contour
B C
Enqueue B, C
15Algorithm Overview
- Preprocessing
- Determine a subset S which encompasses at least
one cell per connected component of each
isocontour (Seed Set ) - Construct a binary search structure over the
cells in S
16Algorithm Overview
- Contour Extraction
- Given the scalar isovalue w, perform a
logarithmic search on the set S to determine all
cells in S which intersect the isocontour of
value w - For each cell c resulting from the search, trace
the connected component by contour propagation
17Cell Connectivity
- For a given mesh propagation scheme, we define a
connectivity relationship between pairs of cells. - This labelled graphG initially consists of the
graph of cell adjacencies.
Mesh edges
Initial edges of G
18Edge labels
- Edges inG are labelled with a range Re .
Initially, Re is the range of the shared face in
the adjacency representation.
4
3
Re 3, 4
19Cell/Cell Connectivity
- Two cells c1 and c2 are w-connected if
and only if one of the following holds - c1 and c2 are connected by an edge f in G.
- There exists a cell c3 such that c3 is
w-connected to both c1 and c2 .
w
c2
c1
20Set/Cell Connectivity
- Connectivity is extended to sets of cells
- Consider a subset S of the nodes of G and a node
c in G. The node c is connected to S if, for all
w in R (c), there exists a node c in S which is
w-connected to c.
c2
c3
c1
w1
w2
w3
21Seed Sets
- With this, we define a seed set
- A subset S of the nodes of G is a seed set of G
if all the nodes of G are connected to S.
22Seed Set Reduction
- The following property allow us to remove
selected cells from a given seed set S - If S is a seed set and c in S is a cell
connected to S - c, then S - c is a seed set. - Applying this property to an initial seed set
containing all cells, we can design minimal seed
set generators based on iterative removal of
seeds.
23Generating Seed Sets
- Simplified Seed Set Generation
T(y)
- Process in Marching Order
- Graph is not stored explicitly
- Isovalues unaccounted for in seed set are
propagated in each direction - Storage of propagated information is sublinear
T(x)
T(x)
T(y)
24Results
- Engine Data
- Resolution 256 x 256 x 110
- Seed Cells 131,765 (2.54)
- Preprocessing 92.95s
- Isovalue 50.5
- Triangles 584,916
- Marching Time 43.169s
- Our Time 6.278s
Data courtesy Stanford University Visualization
Lab (FTP)
25Results
- Engine Data
- Resolution 256 x 256 x 110
- Seed Cells 131,765 (1.86)
- Preprocessing 92.95s
- Isovalue 200.5
- Triangles 142,290
- Marching Time 41.423s
- Our Time 1.526s
Data courtesy Stanford University Visualization
Lab (FTP)
26Results
- Hipip Data
- Resolution 64 x 64 x 64
- Seed Cells 2212 (0.88)
- Preprocessing 3.24s
- Isovalue 0.1
- Triangles 1848
- Marching Time 0.92s
- Our Time 0.041s
Data courtesy Louis Noodleman and David Case,
Scripps Clinic Provided by UNC-Chapel Hil
27Results
- MRbrain Data
- Resolution 256 x 256 x 109
- Seed Cells 539832 (7.69)
- Preprocessing 116.41s
- Isovalue 500.5
- Triangles 973954
- Marching Time 46.41s
- Our Time 14.202s
Data courtesy North Carolina Memorial Hospital
and Julian Rosenman Provided by UNC-Chapel Hill
28Results
- Projectile Impact Data
- Resolution 51 x 21 x 21
- Seed Cells 47 (0.235)
- Preprocessing 0.02s
- Isovalue 0.351
- Triangles 1858
- Marching Time 0.105s
- Our Time 0.020s
Data courtesy Lawrence Livermore National Lab
29Results
- Visible Human Data
- Resolution 125 x 255 x 176
- Seed Cells 374095 (6.78)
- Preprocessing 73.88s
- Isovalue 600.5
- Triangles 233188
- Marching Time 32.74s
- Our Time 3.95s
Data courtesy National Library of Medicine
30Results
- Visible Human Data
- Resolution 125 x 255 x 176
- Seed Cells 374095 (6.78)
- Preprocessing 73.88s
- Isovalue 1224.5
- Triangles 338156
- Marching Time 34.45s
- Our Time 6.46s
Data courtesy National Library of Medicine
31Results
- SOD Data
- Resolution 97 x 97 x 97
- Seed Cells 13765 (0.94)
- Preprocessing 109.63s
- Isovalue 36.5
- Triangles 189590
- Marching Time 5.225s
- Our Time 2.310s
Data courtesy Duncan McRee, Scripps
Clinic Provided by UNC-Chapel Hill
32Results
- CTHead Data
- Resolution 256 x 256 x 113
- Seed Cells 423366 (4.46)
- Preprocessing 109.63s
- Isovalue 200.5
- Triangles 593456
- Marching Time 43.443s
- Our Time 6.672s
Data courtesy North Carolina Memorial
Hospital Provided by UNC-Chapel Hill
33Results
- CTHead Data
- Resolution 256 x 256 x 113
- Seed Cells 423366 (4.46)
- Preprocessing 109.63s
- Isovalue -150.5
- Triangles 474378
- Marching Time 44.342s
- Our Time 4.867s
Data courtesy North Carolina Memorial
Hospital Provided by UNC-Chapel Hill
34Results
- Cadaver Data
- Resolution 256 x 256 x 300
- Seed Cells 852078 (3.36)
- Preprocessing 271.73s
- Isovalue 140.5
- Triangles 830016
- Marching Time 121.08s
- Our Time 12.504s
Data courtesy Elliot Fishman, M.D., and H.R.
Hruban, M.D., Johns Hopkins Medical Center
35Results
- Vorticity Data
- Resolution 65 x 65 x 129
- Seed Cells 3295 (2.87)
- Preprocessing 7.93s
- Isovalue 0.784
- Triangles 66462
- Marching Time 3.25s
- Our Time 0.98s
Data courtesy Prof. Greg Blaisdell, Schools of
Engineering, Purdue University
36Results
37Performance for multiple queries on SOD data
Seconds
Triangles
38Performance for multiple queries on Visible Human
Foot
Seconds
Triangles (Thousands)
39Speedup vs. Volume Fraction (triangles/cell) for
SOD Data
Speedup
Volume Fraction
40Speedup vs. Volume Fraction (triangles/cell) for
VHP Foot
Speedup
Volume Fraction
41Future Work
- Accelerated extraction of multiresolution
contours - Relation between the minimum seed set and the
computed seed set - Additional approaches for extraction of seed sets
- Extension to Interval Volumes
42Acknowledgements
- Air Force Office of Scientific Research
- National Science Foundation
- Office of Naval Research
For further information http//www.cs.purdue.edu/
research/shastra