Presentation is loading. Please wait.

Presentation is loading. Please wait.

Fast Isocontouring For Improved Interactivity Chandrajit L. Bajaj Valerio Pascucci Daniel R. Schikore.

Similar presentations


Presentation on theme: "Fast Isocontouring For Improved Interactivity Chandrajit L. Bajaj Valerio Pascucci Daniel R. Schikore."— Presentation transcript:

1 Fast Isocontouring For Improved Interactivity Chandrajit L. Bajaj Valerio Pascucci Daniel R. Schikore

2 Introduction ► A preprocessing step selects a subset S of the volume cells which are considered as seed cells. ► Given a particular isovalue, all cells in S which intersect the given isocontour are extracted using a high performance range search. ► Keyword: range search

3 Introduction ► Unstructured volume data ► Isocontours C={ x | F (x)=w }  w: isovalue ► The average number of cells intersected by an isocontour will be for a d-dimensional domain. ► Data structure  Interval tree

4 Algorithm Overview (1/3) ► Three know techniques  The extraction of an isocontour does not require searching all the cells of the mesh.  To improve the efficiency of the cell extraction, it is necessary to define a search structure over the set of cells.  The search space we need to work on is the two dimensional span space.

5 Algorithm Overview (2/3) ► Exploiting above three main ideas we get the following isocontouring algorithm.  Preprocessing A Reduce the set of cells to a subset S that encompasses at least one cell per connected component of each isocontour.  Preprocessing B Construct an efficient search structure over the cells in the set S.

6 Algorithm Overview (3/3)  Step 1 Given the scalar value w, perform a logarithmic search on the set S to find all the cells in S which intersect the isocontour of value w.  Step 2 For each cell c found in step 1, trace the entire connected component of the isocontour intersected by c. (contour propagation)  Time complexity:

7 Contour Propagation ► Advantage  Surfaces are easily transformed into a triangle strip representation for more efficient rendering.

8 Cell Connectivity (1/5) ► Connectivity Graph  interval of cell ► R(c) = [min,max]  connecting interval ► R(f) = [min ’,max ’ ]  R(c1)  R(c2) 304050 60 70 C1 C2 R(C1)=[30,60] R(C2)=[40,70] R(f 12 )=[40,60]

9 Cell Connectivity (2/5) ► Based on the above information, we construct a labeled graph G. 304050 60 70 C1 C2 R(C1)=[30,60] R(C2)=[40,70] R(f 12 )=[40,60] C1C2 f 12

10 Cell Connectivity (3/5) ► All cells which intersect the same connected component of a contour of isovalue w we call w - connected.

11 Cell Connectivity (4/5) ► Definition 1  Consider a scalar value w and two nodes c 1, c 2 of G. c 1 and c 2 are said to be w – connected if one of the two following conditions holds. (a) c 1 and c 2 are connected by an arc f such that w  R( f ). (b) There exists a node c 3 that is w - connected to both c 1 and c 2. C1C2 f 12 R(f 12 )=[40,60] C3 f 23 R(f 23 )=[45,65] W=50

12 Cell Connectivity (5/5) ► Definition 2  Consider a subset S of the nodes of G and a node c  G. The node c is connected to S if. For any w  R(c), there exists a node c ’  S that is w -connected to c. S G c c’c’

13 Seed Sets (1/8) ► ► The seed sets are important because any isocontour of the entire original mesh can be traced by propagating from the cells of any seed set. ► Definition 3  A subset S of the nodes of G is a seed set of G if all the nodes of G are connected to S.

14 Seed Sets (2/8) ► w ► If we wish to determine quickly all the cells of a mesh whose range contains a particular scalar value w, we can proceed as follows:  Search for all the nodes c  S such that w  R(c) ;  Starting from the nodes we have found and using the w -connectivity relation on the graph G, we find the cells of the mesh whose range contains w.

15 Seed Sets (3/8) ► To reduce the search time we need to reduce the cardinality of the seed set S as much as possible. ► Property 1  If S is a seed set and c  S is a cell connected to S - {c}, then S - {c} is a seed set.  Proof: from definition 1 (b)

16 Seed Sets (4/8) ► we wish to find a small seed set ► initial  starting with the entire set of the cells – that is the largest seed set ► repeated  keep removing until we achieve a minimal seed set.

17 Seed Sets (5/8) ► At each step, we remove the selected cell c along with all its incident arcs and add some new arcs between pairs of cells that were connected to c. ► This new arc f needs to be inserted if 30 40 805060 70 C1 C2 90 95

18 Seed Sets (6/8) ► If above condition is true, then the new arc is added with label ► We can remove a cell c of the current seed set if :  where f 1, ……, f k are all the arcs incident to the cell c in the reduced graph of the current seed set.

19 Seed Sets (7/8) ► Example: B A C D E A  E B  E D  E C  E

20 Seed Sets (8/8) The sweep hyperplane is a line parallel to the y direction moving along the x direction.

21 Interval Tree In an interval tree, each node holds a split value s, and each interval is classified as less than (max s), or spanning (min < s < max). With each node, the intervals are sorted into two lists. Store time complexity: O(N) Search time complexity: O(logN)

22 Conclusions (1/3) Result of seed selection technique

23 Conclusions (2/3)

24 Conclusions (3/3) Evident from the plot is that our algorithm provides the greatest speedup when the surface of interest is small compared to the volume.


Download ppt "Fast Isocontouring For Improved Interactivity Chandrajit L. Bajaj Valerio Pascucci Daniel R. Schikore."

Similar presentations


Ads by Google