+ All Categories
Home > Documents > Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum...

Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum...

Date post: 18-Dec-2015
Category:
Upload: ilene-sullivan
View: 216 times
Download: 0 times
Share this document with a friend
31
Contour Tree and Small Contour Tree and Small Seed Sets for Isosurfa Seed Sets for Isosurfa ce Traversal ce Traversal Marc van Kreveld Marc van Kreveld Rene van Oostrum Rene van Oostrum Chandrajit Bajaj Chandrajit Bajaj Valerio Pascucci Valerio Pascucci Daniel R. Schikore Daniel R. Schikore
Transcript
Page 1: Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.

Contour Tree and Small SeContour Tree and Small Seed Sets for Isosurface Traved Sets for Isosurface Trav

ersalersalMarc van KreveldMarc van Kreveld

Rene van OostrumRene van OostrumChandrajit BajajChandrajit BajajValerio PascucciValerio Pascucci

Daniel R. SchikoreDaniel R. Schikore

Page 2: Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.

Isosurface ExtractionIsosurface Extraction Marching Cubes v.s. Extraction from Seed-setMarching Cubes v.s. Extraction from Seed-set

Page 3: Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.

Propagation AlgorithmPropagation Algorithm

Given an starting cell that contains isosurface,Given an starting cell that contains isosurface, the remainder of the isosurface can be found the remainder of the isosurface can be found by by propagationpropagation..

A

BD

CE

Initial cell: A

Enqueue: B, C

Dequeue: B

Enqueue: D

FIFO Queue

A

B C

C

C D

….

Breadth-First Search

Page 4: Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.

About SeedsetAbout Seedset Need to know the starting cells!

For any given isovalue C, findingthe starting cells to start the propagation.

You could do a global search, but …

Solution : Extrema Graph & Volume Thinning & Contour Trees

Page 5: Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.

Extrema GraphExtrema Graph

Find all the local minimum and maximum points, and connect them together by straight lines (Arcs).

Page 6: Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.

ExampleExample

Page 7: Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.

Volume Thinning in 2DVolume Thinning in 2D

Page 8: Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.

Volume ThinningVolume Thinning

Page 9: Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.

ExampleExample

Page 10: Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.

ExampleExample

Page 11: Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.

IntroductionIntroduction

This paper gives the first methods to obtain This paper gives the first methods to obtain seed sets that are provably small in size.seed sets that are provably small in size.

They are based on a variant of the They are based on a variant of the contour contour treetree (or topographic change tree). (or topographic change tree).

This paper gives a simple algorithm to This paper gives a simple algorithm to compute such a tree in regular and compute such a tree in regular and irregular meshes.irregular meshes.

Page 12: Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.

IntroductionIntroduction

Scalar data defined over the plane or Scalar data defined over the plane or 3-space is quite common in fields like:3-space is quite common in fields like: Medical imagingMedical imaging Scientific VisualizationScientific Visualization Geographic information systemsGeographic information systems

Example:Example: Scan of the brainScan of the brain Atmospheric pressure modelAtmospheric pressure model Elevation in the landscapeElevation in the landscape

Page 13: Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.

IntroductionIntroduction

The complexity of the contours with a The complexity of the contours with a single function value in a mesh with n single function value in a mesh with n elements is roughly proportional to in elements is roughly proportional to in the 2D case and to in the 3D case.the 2D case and to in the 3D case.

Therefore, it is worthwhile to have a Therefore, it is worthwhile to have a search structure to find the mesh search structure to find the mesh elements through which the contours elements through which the contours pass.pass.

n3/2n

Page 14: Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.

IntroductionIntroduction

There are basically two approaches to fiThere are basically two approaches to find the contours more efficiently :nd the contours more efficiently : Store the 2D or 3D domain of the mesh in a Store the 2D or 3D domain of the mesh in a

hierarchical structure to prune the search.hierarchical structure to prune the search. Example: Example: OctreesOctrees

Store the scalar range, also called Store the scalar range, also called spanspan, of a, of all the mesh elements in a search structure.ll the mesh elements in a search structure. Min-max graphMin-max graph, , Kd-treesKd-trees, , Interval treesInterval trees Problem: serious storage overheadProblem: serious storage overhead)(log knO

Page 15: Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.

IntroductionIntroduction

It is possible to reduce the storage It is possible to reduce the storage requirement of the search structure. requirement of the search structure. (Seed sets)(Seed sets)

The objective of this paper is to present The objective of this paper is to present new methods for seed set computation.new methods for seed set computation.

To construct such a small size seed set, To construct such a small size seed set, we use a variation of the contour tree, …we use a variation of the contour tree, …

Page 16: Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.

ContourContour

ExampleExample

Page 17: Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.

ContourContour

Criticalities:Criticalities: local maxima, local minima, saddle point.local maxima, local minima, saddle point.

Maxima

Saddle point

Minima

Page 18: Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.

ContourContour If we let the function value take on the values If we let the function value take on the values

from from ++ to - to -, the contour shapes deform , the contour shapes deform continuously.continuously.

Page 19: Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.

ContourContour A new contour component starts to form A new contour component starts to form

whenever the function value is equivalent to a whenever the function value is equivalent to a locally maximal value.locally maximal value.

An existing contour component disappears An existing contour component disappears whenever the function value is equivalent to a whenever the function value is equivalent to a locally minimal value.locally minimal value.

At saddle pointsAt saddle points AdjoinAdjoin from two (or more) components. from two (or more) components. SplitSplit into two (or more) components. into two (or more) components. Get a Get a different topological structuredifferent topological structure. (ex. genus). (ex. genus)

Page 20: Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.

Contour TreeContour Tree

2D triangle mesh with the contours of the 2D triangle mesh with the contours of the saddles, and the contour tree.saddles, and the contour tree.

Page 21: Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.

Contour Tree AlgorithmContour Tree Algorithm Situation of the sweep of a 2D mesh when Situation of the sweep of a 2D mesh when

the function value is 16.the function value is 16.

)( 2n

)log( nnDivided-and-Conquer

Page 22: Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.

Contour Tree AlgorithmContour Tree Algorithm

This graph is a tree, and it is a This graph is a tree, and it is a directed acyclic graph directed acyclic graph (DAG)(DAG)..

All nodes in the tree haveAll nodes in the tree have degree 1 : (corresponding to local extrema)degree 1 : (corresponding to local extrema) degree 2 : (normal vertices)degree 2 : (normal vertices) at least 3 : (saddles)at least 3 : (saddles)

SaddlesSaddles This is the case if and only if it has neighboring vertices aroThis is the case if and only if it has neighboring vertices aro

und it that are higher, lower, higher, and lower, und it that are higher, lower, higher, and lower, in cyclic orin cyclic order aroundder around it. it.

Page 23: Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.

Contour Tree AlgorithmContour Tree Algorithm

The input data is assumed to be :The input data is assumed to be : a mesh M of size n embedded in ;a mesh M of size n embedded in ; a continuous real-valued function a continuous real-valued function F F

defined over all cells of M.defined over all cells of M.

d

Page 24: Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.

Contour Tree AlgorithmContour Tree Algorithm

We define the contour tree We define the contour tree TT as follows. as follows. Take each maximal connected contour component whicTake each maximal connected contour component whic

h contains a criticality.h contains a criticality.

These components correspond to theThese components correspond to the supernodes supernodes of of T T . . Each supernodes is labeled with the function value of itEach supernodes is labeled with the function value of its contour.s contour.

For each region bounded by two contour components, For each region bounded by two contour components, we add a we add a superarcsuperarc between the corresponding supernod between the corresponding supernodes in es in T T . . Oriented from the higher to the lower function Oriented from the higher to the lower function valuevalue..

Page 25: Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.

Contour Tree AlgorithmContour Tree Algorithm

At a At a local maximumlocal maximum of the mesh : of the mesh : a new contour appears.a new contour appears.

At a At a local minimumlocal minimum of the mesh : of the mesh : a contour disappears.a contour disappears.

At a At a non-critical vertexnon-critical vertex of the mesh : of the mesh : At At saddlesaddle of the mesh : of the mesh :

there is some change in topology in the there is some change in topology in the collection of contours.collection of contours.

Page 26: Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.

Seed-set SelectionSeed-set Selection

A seed-set is a subset of the cells in the A seed-set is a subset of the cells in the mesh.mesh.

A seed-set is complete if every possible A seed-set is complete if every possible contour passes through contour passes through at least one seedat least one seed..

SegmentsSegments The small seed set problem now is the The small seed set problem now is the

following following graph problemgraph problem : : find a small subset of the segments such that find a small subset of the segments such that

each arc of each arc of TT is passed by some segment of is passed by some segment of the subset.the subset.

Page 27: Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.

Seed-set SelectionSeed-set Selection

The numbering of The numbering of T .T .

Page 28: Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.

Seed-set SelectionSeed-set Selection

Page 29: Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.

Test ResultTest Result Seed cell statistics for regular (top) and irregular (bottom) data.Seed cell statistics for regular (top) and irregular (bottom) data.

[4] Fast isocontouring for improved interactivity. (Sweeping)

Page 30: Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.

Test ResultTest Result Example of a seed set for a 3-dimensional scalar field (HIPIP).Example of a seed set for a 3-dimensional scalar field (HIPIP).

Page 31: Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.

Test ResultTest Result Seed sets from 2d scalar dataSeed sets from 2d scalar data

(a)Seed set from a synthetic smooth function

(b)Seed set for a slice of wind speed data ( LAMP )


Recommended