Isosurface Extractions II - PowerPoint PPT Presentation

1 / 27
About This Presentation
Title:

Isosurface Extractions II

Description:

One node per cell. Min. Max. min. Median point. NOISE Algorithm ... One by cell min values in ascending. order (AL) - The other by cell max values in descending ... – PowerPoint PPT presentation

Number of Views:107
Avg rating:3.0/5.0
Slides: 28
Provided by: hanwe3
Category:

less

Transcript and Presenter's Notes

Title: Isosurface Extractions II


1
Isosurface Extractions (II)
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
  • Organize the cells based on their min/max ranges
  • Find cells that have ranges intersect with the
    isovalue

Global minimum
Global maximum
Isovalue
8
Range Search by min/max sort
  • Sort the cells based on their min/max values

Max gt isovalue
G1
Min lt isovalue
G2
Isosurface cells G1 G2
  • Efficient intersection tests are needed

9
Sweeping Simplicies
  • Keep two lists min and max lists

0 0 0 0 0 0
0 0 0 0 0
Max
M5 M2 M6 M4 M1 M3 M7 M8
M11 M10 M9
Min
m5 m1 m6 m3 m8 m7 m2 m9
m11 m4 m10
10
Sweeping Simplicies
  • Given an isovalue, find the cells which have
    smaller minimum values, and then set the
    corresponding bits in the max list

1 0 1 0 1 1
0 1 0 0 0
Max
M5 M2 M6 M4 M1 M3 M7 M8
M11 M10 M9
Min
m5 m1 m6 m3 m8 m7 m2 m9
m11 m4 m10
isovalue
11
Sweeping Simplicies
  • Then starting from the first cell with maximum
    value greater than isovalue, check the bits

1 0 1 0 1 1
0 1 0 0 0
Max
M5 M2 M6 M4 M1 M3 M7 M8
M11 M10 M9
Min
m5 m1 m6 m3 m8 m7 m2 m9
m11 m4 m10
isovalue
12
Sweeping Simplicies
  • If the isovalue changes, only need to flip the
    bits between the old and the new isovalues

1 0 1 0 1 1
0 1 0 0 0
Max
M5 M2 M6 M4 M1 M3 M7 M8
M11 M10 M9
Min
m5 m1 m6 m3 m8 m7 m2 m9
m11 m4 m10
isovalue
13
Sweeping Simplicies
  • Hierarchical subdivision of the value ranges

14
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?
15
Span Space
What are the isosurface cells?
max
How to search them?
min
C
16
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 of the dimensions at each level of the
    tree

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



One node per cell
min
18
NOISE Algorithm (Query)
Median point
  • If ( isovalue lt root.min )
  • Prune the right subtree
  • Check the left subtree

Min
Max
left
right
?
up
down



19
NOISE Algorithm (Query)
Median point
  • If (isovalue gt root.min)
  • Check both subtrees, but now the left subtree
    guarantees to satisfy the min condition
  • Dont forget to check the root s interval as
    well.

Min
Max
left
right
?
up
down



20
Lattice subdivision of span space
Search Method (2) ISSUE
Complexity ?
21
Interval Tree (Optimal)
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 (recursively) 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


22
Interval Tree
Interval Tree
Within Id, We keep two sorted lists - One by
cell min values in ascending order (AL)
- The other by cell max values in descending
order (DR)


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
23
Interval Tree
Interval Tree
Within Id, We keep two sorted lists - One by
cell min values in ascending order (AL)
- The other by cell max values in descending
order (DR)
Query isovalue q If q d


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
  • All the cells in Id are reported.

24
Interval Tree
Interval Tree
Within Id, We keep two sorted lists - One by
cell min values in ascending order (AL)
- The other by cell max values in descending
order (DR)
Query isovalue q If q lt d


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
  • Scan the AL list to find cells with min lt q
  • Prune the right subtree
  • Visit left subtree recursively

25
Interval Tree
Interval Tree
Within Id, We keep two sorted lists - One by
cell min values in ascending order (AL)
- The other by cell max values in descending
order (DR)
Query isovalue q If q gt d


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
  • Scan the DR list to find cells with max gt q
  • Prune the left subtree
  • Visit right subtree recursively

26
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
27
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!!!
Write a Comment
User Comments (0)
About PowerShow.com