Automatic Isosurface Propagation Using an Extrema Graph and Sorted Boundary Cell Lists.

Slides:



Advertisements
Similar presentations
0 Course Outline n Introduction and Algorithm Analysis (Ch. 2) n Hash Tables: dictionary data structure (Ch. 5) n Heaps: priority queue data structures.
Advertisements

Some Graph Algorithms.
§3 Shortest Path Algorithms Given a digraph G = ( V, E ), and a cost function c( e ) for e  E( G ). The length of a path P from source to destination.
Advanced Iso-Surfacing Algorithms Jian Huang, CS594, Spring 2002 This set of slides are developed and used by Prof. Han-Wei Shen at Ohio State University.
Breadth-First Search Text Read Weiss, § 9.3 (pp ) Breadth-First Search Algorithms.
Breadth-First Search Seminar – Networking Algorithms CS and EE Dept. Lulea University of Technology 27 Jan Mohammad Reza Akhavan.
Algorithms and Data Structures
Chapter 8, Part I Graph Algorithms.
© 2006 Pearson Addison-Wesley. All rights reserved14 A-1 Chapter 14 excerpts Graphs (breadth-first-search)
Graph Algorithms Mathematical Structures for Computer Science Chapter 6 Copyright © 2006 W.H. Freeman & Co.MSCS SlidesGraph Algorithms.
CS 206 Introduction to Computer Science II 11 / 07 / 2008 Instructor: Michael Eckmann.
1 Breadth First Search AB F I EH DC G FIFO Queue - front.
Minimum Spanning Trees
Isocontour/surface Extractions 2D Isocontour 3D Isosurface.
A graph, non-tree representation of the topology of a gray scale image Peter Saveliev Marshall University, USA.
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2013.
Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.
lecture 4 : Isosurface Extraction
Graph & BFS.
Octree-Based Decimation of Marching Cubes Surface (1996) Raj Shekhar Elias Fayyad Roni Yagel J. Fredrick Cornhill.
1 Introduction to Topological Shape Modeling Part I Overview: What is topology?
Advanced Iso- Surfacing Algorithms Mengxia Zhu, Fall 2007.
Graph COMP171 Fall Graph / Slide 2 Graphs * Extremely useful tool in modeling problems * Consist of: n Vertices n Edges D E A C F B Vertex Edge.
A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.
Fast Isocontouring For Improved Interactivity Chandrajit L. Bajaj Valerio Pascucci Daniel R. Schikore.
 Last lesson  Graphs  Today  Graphs (Implementation, Traversal)
CISC220 Fall 2009 James Atlas Nov 13: Graphs, Line Intersections.
Copyright © 2012 Elsevier Inc. All rights reserved.. Chapter 9 Binary Shape Analysis.
Isosurface Extractions 2D Isocontour 3D Isosurface.
MGR: Multi-Level Global Router Yue Xu and Chris Chu Department of Electrical and Computer Engineering Iowa State University ICCAD
1 Chapter 9 Graph Algorithms Real-life graph problems Algorithms for some graph problems Choice of data structures for graph problems.
S EGMENTATION FOR H ANDWRITTEN D OCUMENTS Omar Alaql Fab. 20, 2014.
Boundary Recognition in Sensor Networks by Topology Methods Yue Wang, Jie Gao Dept. of Computer Science Stony Brook University Stony Brook, NY Joseph S.B.
Lecture 4: Image Resampling and Reconstruction CS4670: Computer Vision Kavita Bala.
CISC 235: Topic 9 Introduction to Graphs. CISC 235 Topic 92 Outline Graph Definition Terminology Representations Traversals.
EXTREMA ON AN INTERVAL Section 3.1. When you are done with your homework, you should be able to… Understand the definition of extrema of a function on.
Graphs. Graphs Similar to the graphs you’ve known since the 5 th grade: line graphs, bar graphs, etc., but more general. Those mathematical graphs are.
Lecture 3 : Isosurface Extraction. Isosurface Definition  Isosurface (i.e. Level Set ) :  Constant density surface from a 3D array of data  C(w) =
CSE554Contouring IISlide 1 CSE 554 Lecture 3: Contouring II Fall 2011.
CSE554Contouring IISlide 1 CSE 554 Lecture 5: Contouring (faster) Fall 2013.
Chapter 05 Introduction to Graph And Search Algorithms.
4.1 Extreme Values of Functions Absolute (Global) Extreme Values –One of the most useful things we can learn from a function’s derivative is whether the.
Graphs. What is a graph? In simple words, A graph is a set of vertices and edges which connect them. A node (or vertex) is a discrete position in the.
© 2006 Pearson Addison-Wesley. All rights reserved14 B-1 Chapter 14 (continued) Graphs.
Breadth-First Search (BFS)
Topological Sorting.
Set Collection A Bag is a general collection class that implements the Collection interface. A Set is a collection that resembles a Bag with the provision.
CSE 373 Topological Sort Graph Traversals
Introduction to Polygons
Isosurface Extractions (II)
Contour Propagation Basic Idea:
A Distributed Algorithm for Minimum-Weight Spanning Trees
Polygon Filling Algorithms
CSE 373 Data Structures and Algorithms
Extreme Values of Functions
Extreme Values of Functions
Extreme Values of Functions
Topological Ordering Algorithm: Example
Topological Sort CSE 373 Data Structures Lecture 19.
Lecture 3 : Isosurface Extraction
Volume Graphics (lecture 4 : Isosurface Extraction)
What is the function of the graph? {applet}
EXTREMA ON AN INTERVAL Section 3.1.
Breadth First Search - A B C D E F G H I front FIFO Queue.
Topological Ordering Algorithm: Example
X y y = x2 - 3x Solutions of y = x2 - 3x y x –1 5 –2 –3 6 y = x2-3x.
What is the function of the graph? {applet}
Topological Ordering Algorithm: Example
Extreme Values of Functions
Topological Ordering Algorithm: Example
Presentation transcript:

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)