Automatic Isosurface Propagation Using an Extrema Graph and Sorted Boundary Cell Lists
Introduction Visiting non-intersected cells is very time-consuming in huge volumes. Elimination of non-intersected cells outside the process is more effective. The number of visited cells is less than O(n)
Propagation Algorithm (1)
Propagation Algorithm (2) A B D C E Initial cell: A Enqueue: B, C Dequeue: B Enqueue: D … FIFO Queue A B C C C D …. Breadth-First Search Basic Idea: Given an starting cell that contains isosurface, the remainder of the isosurface can be found by propagation
Propagation Algorithm (3)
Challenges Need to know the starting cells! For any given isovalue C, finding the starting cells to start the propagation. You could do a global search, but … Solution : Extrema Graph & Boundary Cell Lists
Extremum Point Extremum points ard defined as grid-points whose scalar values are higher or lower than the values of all adjacent grid-points.
Generating an Extrema Graph Searching for starting cells: Find all the local minimum and maximum points, and connect them together by straight lines (Arcs). The closed isosurface is intersected by at least one of the arcs.
Extrema Graph Extreme Graph: { E, A: E: extrema points A: Arcs conneccts E } Problem : Holes!! Hole
Generating Boundary Cell Lists Hole The open isosurface is intersected by visiting boundary cells in order.
Generating Isosurfaces Searching for starting cells
Outline of the Algorithm Void main(){ /* Preprocess */ ExtremumPointExtraction(); GenerateGraph(); GenerateBoundList(); /* Isosurfacing process*/ while(1){ Specify an isovalue C; GenerateSurface(C); }
About Arc
Image of Isosurface
Volume Thinning for Automatic Isosurface Propagation
Topology of an extrema graph and an isosurface Boundary cells are not necessary if there is a cycle around a through-hole
Image thinning method (a)(b)(c)(d)(e) (f)(g) ppppp
Volume thinning method We initially assumes that a seed set of a volume contains all cells in the volume. The extremum point will never be eliminated from the seed set during the process. Finally, the seed set form a one-cell-wide skeleton. Bubble-like layer Extremum point
Elimination of Bubble-Like Layers of Cells
Visited cells in the isosurfacing process Preprocess
Outline of the Algorithm Void main(){ /* Preprocess */ ExtremumPointExtraction(); VolumeThinning(); /* Isosurfacing process */ while(1){ Specify an isovalue; Extract isosurface cells from the extrema skeleton; IsosurfacePropagation(); }
Image of Volume Thinning Process
Image of Isosurface(1)
Image of Isosurface(2)