+ All Categories
Home > Documents > Fast Isocontouring For Improved Interactivity Chandrajit L. Bajaj Valerio Pascucci Daniel R....

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

Date post: 21-Dec-2015
Category:
View: 214 times
Download: 0 times
Share this document with a friend
Popular Tags:
24
Fast Isocontouring Fast Isocontouring For Improved Inter For Improved Inter activity activity Chandrajit L. Bajaj Chandrajit L. Bajaj Valerio Pascucci Valerio Pascucci Daniel R. Schikore Daniel R. Schikore
Transcript

Fast Isocontouring For IFast Isocontouring For Improved Interactivitymproved Interactivity

Chandrajit L. BajajChandrajit L. BajajValerio PascucciValerio Pascucci

Daniel R. SchikoreDaniel R. Schikore

IntroductionIntroduction

►A A preprocessingpreprocessing step selects a subset S of step selects a subset S of the volume cells which are considered as the volume cells which are considered as seed cellsseed cells..

►Given a particular Given a particular isovalueisovalue, all cells in S w, all cells in S which intersect the given hich intersect the given isocontourisocontour are ext are extracted using a high performance range seracted using a high performance range search.arch.

►Keyword: Keyword: range searchrange search

IntroductionIntroduction

► Unstructured volume dataUnstructured volume data► Isocontours C={ x | Isocontours C={ x | FF(x)=w }(x)=w }

w: isovaluew: isovalue

► The average number of cells intersected by an iThe average number of cells intersected by an isocontour will besocontour will be for a d-dimension for a d-dimensional domain. al domain.

► Data structureData structure Interval treeInterval tree

)( /)1( ddnO

Algorithm Overview Algorithm Overview (1/3)(1/3)

►Three know techniquesThree know techniques The extraction of an isocontour does not requThe extraction of an isocontour does not requ

ire searching all the cells of the mesh.ire searching all the cells of the mesh. To To improve the efficiencyimprove the efficiency of the cell extractio of the cell extractio

n, it is necessary to define a search structure on, it is necessary to define a search structure over the set of cells.ver the set of cells.

The search space we need to work on is the The search space we need to work on is the ttwo dimensionalwo dimensional span space. span space.

Algorithm Overview Algorithm Overview (2/3)(2/3)

►Exploiting above three main ideas we get Exploiting above three main ideas we get the following isocontouring algorithm.the following isocontouring algorithm. Preprocessing APreprocessing A

Reduce the set of cells to a subset S that Reduce the set of cells to a subset S that encompasses encompasses at least one cell per conneat least one cell per conne

cted cted component of each isocontourcomponent of each isocontour.. Preprocessing BPreprocessing B

Construct an efficient search structure oConstruct an efficient search structure over the ver the cells in the set S.cells in the set S.

Algorithm Overview Algorithm Overview (3/3)(3/3)

Step 1Step 1Given the scalar value Given the scalar value ww, perform a , perform a logaritlogarit

hmic hmic searchsearch on the set S to find all the cells in S on the set S to find all the cells in S which intersect the isocontour of value which intersect the isocontour of value ww..

Step 2Step 2For each cell c found in step 1, trace the enFor each cell c found in step 1, trace the en

tire tire connected component of the isocontour connected component of the isocontour intersected by c. intersected by c. (contour propagation)(contour propagation)

Time complexity: Time complexity: )(log knO

Contour PropagationContour Propagation

► Advantage Advantage Surfaces are easily transformed into a Surfaces are easily transformed into a

triangle striptriangle strip representation for more representation for more efficient rendering.efficient rendering.

Cell Connectivity Cell Connectivity (1/5)(1/5)

►Connectivity GraphConnectivity Graph

interval of cellinterval of cell► R(c) = [min,max] R(c) = [min,max]

connecting intervalconnecting interval► R(f) = [min’,max’] R(f) = [min’,max’] R(c1) R(c1)R(c2) R(c2)

30 40 50

50 60 70

C1 C2

R(C1)=[30,60]

R(C2)=[40,70]

R(f12)=[40,60]

Cell Connectivity Cell Connectivity (2/5)(2/5)

►Based on the above information, we Based on the above information, we construct a construct a labeled graphlabeled graph G. G.

30 40 50

50 60 70

C1 C2

R(C1)=[30,60]

R(C2)=[40,70]

R(f12)=[40,60]

C1 C2f 12

Cell Connectivity Cell Connectivity (3/5)(3/5)

►All cells which intersect the same connectAll cells which intersect the same connected component of a contour of isovalue ed component of a contour of isovalue ww we call we call ww - connected- connected..

Cell Connectivity Cell Connectivity (4/5)(4/5)

►Definition 1Definition 1 Consider a scalar value Consider a scalar value ww and two nodes c and two nodes c11, c, c2 2

of G. cof G. c11 and c and c22 are said to be are said to be ww – connected if – connected if one of the two following conditions holds.one of the two following conditions holds.

(a) c(a) c11 and c and c22 are connected by an arc are connected by an arc ff such that such that w w R(R(f f ).).

(b) There exists a node c(b) There exists a node c3 3 that is that is ww - connected to both - connected to both cc11 and c and c22 . .

C1 C2f 12

R(f12)=[40,60]

C3f 23

R(f23)=[45,65]W=50

Cell Connectivity Cell Connectivity (5/5)(5/5)

►Definition 2Definition 2 Consider a subset S of the nodes of G and a noConsider a subset S of the nodes of G and a no

de cde cG. The node c is connected to S if. G. The node c is connected to S if. For any For any w w R(c), there exists a node c’R(c), there exists a node c’S thS that is at is ww -connected to c. -connected to c.

S

G

c c’

Seed Sets Seed Sets (1/8)(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 3Definition 3 A subset S of the nodes of G is a seed set of G if all the A subset S of the nodes of G is a seed set of G if all the

nodes of G are connected to S.nodes of G are connected to S.

Seed Sets Seed Sets (2/8)(2/8)

► If we wish to determine quickly all the cells of a mesh whose range contains a particular scalar value w w , we can proceed as follows: Search for all the nodes cSearch for all the nodes cS such that S such that ww R(c) ;R(c) ; Starting from the nodes we have found and using the Starting from the nodes we have found and using the

ww -connectivity relation -connectivity relation on the graph G, we find the c on the graph G, we find the c

ells of the mesh whose range contains ells of the mesh whose range contains ww..

Seed Sets Seed Sets (3/8)(3/8)

►To reduce the search time we need to reTo reduce the search time we need to reduce the cardinality of the seed set S as duce the cardinality of the seed set S as much as possible.much as possible.

►Property 1Property 1 If S is a seed set and cIf S is a seed set and cS is a cell connected to S is a cell connected to

S S - - {c}, then S - {c} is a seed set.{c}, then S - {c} is a seed set.

Proof: from definition 1 (b)Proof: from definition 1 (b)

Seed Sets Seed Sets (4/8)(4/8)

►we wish to find a small seed setwe wish to find a small seed set► initialinitial

starting with the starting with the entire set of the cellsentire set of the cells – – that is the largest seed set that is the largest seed set

►repeatedrepeated keep removing until we achieve a minimal keep removing until we achieve a minimal

seed set.seed set.

Seed Sets Seed Sets (5/8)(5/8)

►At each step, we remove the At each step, we remove the selected cell c along with all its selected cell c along with all its incident arcs and add some new arcs incident arcs and add some new arcs between pairs of cells that were between pairs of cells that were connected to c.connected to c.

►This new arc This new arc ff needs to be inserted needs to be insertedifif

nullfRfR )()( 21

30 40

8050 60

70

C1 C2

90

95

Seed Sets Seed Sets (6/8)(6/8)

► If above condition is true, then the new If above condition is true, then the new arc is added with labelarc is added with label

►We can remove a cell c of the current We can remove a cell c of the current seed set if :seed set if :

where where f f 11,……,,……,f f kk are all the arcs incident to the are all the arcs incident to the cell c in the reduced graph of the current seed cell c in the reduced graph of the current seed set.set.

)()( 21 fRfRR f

)()(1

cRfR i

k

i

Seed Sets Seed Sets (7/8)(7/8)

► Example:Example:

B

A

C

DE

A E

B E

D E

C E

)()(1

cRfR i

k

i

Seed Sets Seed Sets (8/8)(8/8)

The sweep hyperplane is a line parallel to the y direction moving along the x direction.

Interval TreeInterval Tree

In an interval tree, each node holds a split value s, and each interval is classified as less than (max < s), greater than (min > 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)

Conclusions Conclusions (1/3)(1/3)

Result of seed selection technique

Conclusions Conclusions (2/3)(2/3)

Conclusions Conclusions (3/3)(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.


Recommended