Professional Documents
Culture Documents
Electron Denisty, Isosurfaces and Contour Trees: Jack Snoeyink GCMB'07
Electron Denisty, Isosurfaces and Contour Trees: Jack Snoeyink GCMB'07
Electron Denisty, Isosurfaces and Contour Trees: Jack Snoeyink GCMB'07
Outline
Electron density (3D scalar fields) The topology of isosurfaces/level sets The Contour tree
Join tree + Split tree
Applications
Flexible contouring Contour simplification
Data from X-ray diffraction Electron density maps Threaded backbone ...
Density to surface
We start with the easiest of these steps... Assume we have density, e.g., from the Uppsala Electron Density Server
+ +
Test values at cube corners to identify cube edges that intersect the isosurface. 28 cases reduce to 14-16 cases by rotations. Make triangles to represent portion of level set in cube.
Lorensen & Cline 87, Marching cubes Nielsen & Hamma 91, fix ambiguities
Cases
Contour following
+
Can follow contour if we know a start point. How to find start point?
Shinagawa et al. 91, extreme graph Cignoni et al. 95, interval tree Carr et al. 03, contour tree
Contour tree 7 5 8
9
6
10
4
3 1 2
Contour tree 7 5 8
9
6
10
4
3 1 2
Contour tree 7 5 8
9
6
10
4
3 1 2
Contour tree 7 5 8
9
6
10
4
3 1 2
Contour tree 7 5 8
9
6
10
4
3 1 2
Contour tree 7 5 8
9
6
10
4
3 1 2
Karron et al 95, digital Morse theory Bajaj et al 9799, seed sets Van Kreveld et al 97, 2-D contour tree Tarasov & Vyalyi 98, 3-D contour tree
Build join and split trees Merge to form contour tree Works in all dimensions...
7
5
8
4
9
6
10
Represents set
{p | f(p) >= x}
9
6
10
Union/Find
1 2 3 4 . . . 42
... n
9
6
10
Sort data by value Maintain union/find for comp. of {p | f(p) >= x} O(n+ t(t) ) after sort
10
7
5
8
4
9 6
10
3
1 2 1
3
2
Nodes have correct up degree in join & down degree in the split tree.
2. Identify leaves
7
5 4 8 9 6 10
7
5
8
4
9 6
10
3
1 2 1
3
2
7
5
8
4
9 6
10
3
1 1
3
2
7
5
8
4
9 6
10
3
1 1
3
2
7
5
8
4
9 6
10
3
1
3
2
7
5
8
4
9 6
10
3
1 2
9 6
10
7 5 4
3
1 2
The merge time is proportional to the tree size; much smaller than the data
Advantages
Doesnt need the surface structure to build the contour tree. The merge becomes simple, and works on a subset of the points The tree structure can advise where to choose the threshold value Can cut diff. branches at diff. values.
Flexible contouring
Flexible contouring
3
1 2