Isosurface Extractions - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

Isosurface Extractions

Description:

Isosurface Extractions 3D Isosurface 2D Isocontour Isosurfaec cells: cells that contain isosurface. min – PowerPoint PPT presentation

Number of Views:56
Avg rating:3.0/5.0
Slides: 29
Provided by: HanW162
Category:

less

Transcript and Presenter's Notes

Title: Isosurface Extractions


1
Isosurface Extractions
3D Isosurface
2D Isocontour
2
Isosurface cell search
  • Isosurfaec cells cells that contain isosurface.
  • min lt isovalue lt max
  • Marching cubes algorithm performs a linear search
    to locate the isosurface cells not very
    efficient for large-scale data sets.

3
Isosurface Cells
  • For a given isovalue, only a smaller portion of
    cells are isosurface cell.
  • For a volume with
  • n x n x n cells, the
  • average number of the
  • isosurface cells is nxn
  • (ratio of surface v.s. volume)

n
n
n
4
Efficient isosurface cell search
  • Problem statement
  • Given a scalar field with N cells, c1, c2, ,
  • cn, with min-max ranges (a1,b1), (a2,b2), ,
  • (an, bn)
  • Find Ck ak lt C lt bk Cisovalue

5
Efficient search methods
  • Spatial subdivision (domain search)
  • Value subdivision (range search)
  • Contour propagation

6
Domain search
  • Subdivide the space into several subdomains,
    check the min/max values for each subdomain
  • If the min/max values (extreme values) do not
    contain the isovalue, we skip the entire region

Min/max
Complexity O(Klog(n/k))
7
Range Search (1)
Subdivide the cells based on their min/max ranges
Global minimum
Global maximum
Hierarchically subdivide the cells based on their
min/max ranges
Isovalue
8
Range Search (2)
Within each subinterval, there are more than one
cells To further improve the search speed, we
sort them. Sort by what ?
G1
G2
Isosurface cells G1 G2
9
Range Search (3)
A clean range subdivision is difficult
Difficult to get an optimal speed
?
10
Range Search (4)
Span Space Instead of treating each cell as a
range, we can treat it as a 2D point at (min,
max) This space consists of min and max axes is
called span space
Any problem here?
11
Span Space
What are the isosurface cells?
max
How to search them?
min
C
12
Span Space Search (1)
With the point representation, subdividing the
space is much easier now. Search method 1
K-D tree subdivision (NOISE algorithm)
  • K-d tree
  • A multi-dimensional version of binary tree
  • Partition the data by alternating between each
  • each of the dimensions at each level of the
    tree

13
NOISE Algorithm (K-d tree)
Median point
Min
Construction
Max
left
right
?
max
up
down



One node per cell
min
14
NOISE Algorithm (Query)
Median point
Min
  • If ( isovalue lt root.min )
  • check the ?? Subtree
  • If (isovalue gt root.min)
  • Check the ?? Subtree
  • Dont forget to check the
  • root s interval as well.

Max
left
right
?
up
down



15
Span Space Search (2)
Search Method (2) ISSUE
Complexity ?
16
Back to Range Search
Sort all the data points (x1,x2,x3,x4,. ,
xn) Let d x (mid point)
Interval Tree
n/2
We use d to divide the cells into three sets
Id, I left, and I right Id cells that have
min lt d lt max I left cells that have
max lt d I right cells that have min gt d


17
Interval Tree
  • Now, given an isovalue C
  • If C lt d
  • If C gt d
  • 3) If C d



Complexity O(log(n)k) Optimal!!
Id cells that have min lt d lt max I
left cells that have max lt d I right cells
that have min gt d
18
Range Search Methods
In general, range search methods all are
superfast two order of magnitude faster than
the marching cubes algorithm in terms of cell
search But they all suffer a common problem
Excessive extra memory requirement!!!
19
Contour Propagation
Basic Idea Given an initial cell that contains
isosurface, the remainder of the isosurface can
be found by propagation
Initial cell A Enqueue B, C Dequeue
B Enqueue D
Breadth-First Search
20
Challenges
Need to know the initial cells!
For any given isovalue C, finding the initial
cells to start the propagation is almost as hard
as finding the isosurface cells. You could do
a global search, but
21
Solutions
  1. Extrema Graph (Itoh vis95)
  2. Seed Sets (Bajaj volvis96)

Problem Statement Given a scalar field with a
cell set G, find a subset S G, such that for
any given isovalue C, the set S contains initial
cells to start the propagation. We need search
through S, but S is usually (hopefully) much
smaller than G.
We will only talk about extrema graph due to time
constraint
22
Extrema Graph (1)
23
Extrema Graph (2)
Basic Idea If we find all the local minimum
and maximum points (Extrema), and connect them
together by straight lines (Arcs), then any
closed isocontour is intersect by at leat one of
the arcs.
24
Extrema Graph (3)
E2
E1
Extreme Graph E, A E extrema points
A Arcs conneccts E
a1
a2
a3
E3
E4
a5
An arc consists of cells that connect extrema
points (we only store min/max of the arc though)
a4
E7
a7
E5
a6
E6
E8
25
Extrema Graph (4)
  • Algorithm
  • Given an isovalue
  • Search the arcs of the extrema graph (to find the
    arcs that have min/max contains the isovalue
  • Walk through the cells along each of the arcs to
    find the seed cells
  • Start to propagate from the seed cells
  • .

There is something more needs to be done
26
We are not done yet
What ?!
We just mentioned that all the closed isocontours
will intersect with the arcs connecting the
extrema points How about non-closed
isocontours? (or called open isocontours)
27
Extrema Graph (5)
Contours missed
These open isocontours will intersect with ??
cells
28
Extrema Graph (6)
  • Algorithm (continued)
  • Given an isovalue
  • Search the arcs of the extrema graph (to find the
    arcs that have min/max contains the isovalue
  • Walk through the cells along each of the arcs to
    find the seed cells
  • Start to propagate from the seed cells
  • Search the cells along the boundary and find seed
    cells from there
  • Propagate open isocontours
Write a Comment
User Comments (0)
About PowerShow.com