13.1 Vis_2003 Data Visualization Lecture 13 Visualization of Very Large Datasets.
-
Upload
jada-sheridan -
Category
Documents
-
view
222 -
download
1
Transcript of 13.1 Vis_2003 Data Visualization Lecture 13 Visualization of Very Large Datasets.
13.1Vis_2003
Data VisualizationData Visualization
Lecture 13Visualization of Very Large
Datasets
13.2Vis_2003
Very Large Data SetsVery Large Data Sets
Volume datasets get larger and larger
Recent research has been looking at how to improve performance of algorithms for large datasets
We shall look at isosurfacing and slicing
13.3Vis_2003
Isosurface ExtractionIsosurface Extraction
In marching cubes, or marching tetrahedra, we visit each cell of the grid in turn… and extract any surface within that cell
In a typical isosurface extraction, only a small number of cells will contain a piece of the surface
Key is to sort cells in advance, according to value
13.4Vis_2003
Active CellActive Cell
Here is a cell from a large grid…
How can we tell if the isosurface with threshold T passes through this cell?
13.5Vis_2003
The Answer!The Answer!
The answer is that the isosurface passes through the cell if:
Min < T < Max
ie T lies between min and max vertex values
… the sledgehammer method is to look through every cell and do the test
The challenge is to be able to improve on this
… particularly if we are extracting a series of isosurfaces
… aim to sort in advance so that we can rapidly find these ‘active cells’
13.6Vis_2003
Span SpaceSpan Space
We define the span space as a 2D space with minimum data value of cell as x-axis, and maximum as y-axis
So we can plot our cell as a point in this space
What can we say about the position of points in this space?
min
max
13.7Vis_2003
Span Space ExampleSpan Space Example
Suppose we have two cells…
Cell A:– Values are:
5,1,3,6,9,2,7,4– Max: 9; min: 1
Cell B:– Values are:
6,5,4,3,8,2,6,5– Max: 8; min: 2
min
max
0
10
10
A
B
13.8Vis_2003
Span SpaceSpan Space
Here are many cells in span space, with the threshold value T marked
What can we say about the shaded area?
13.9Vis_2003
Sorting the Span SpaceSorting the Span Space
Challenge is to sort the data so we can quickly identify the active cells for ANY threshold T
Difficult because we need to sort by maximum and minimum
13.10Vis_2003
Sorting the Cells in Span Space
Sorting the Cells in Span Space
Cover span space with a 2D lattice, or grid
Sort cells into ‘buckets’ according to lattice
13.11Vis_2003
Identifying the Active Cells
Identifying the Active Cells
Searching throws up five possible cases:– case 1: no
intersection– case 2: definite
intersection– case 3: test maximum
only– case 4: test minimum
only– case 5: test minimum
and maximum
13.12Vis_2003
Lattice Sub-DivisionLattice Sub-Division
In practice, lattice elements of equal size do not contain equal numbers of cells, so elements are allowed to be of unequal size.
This sub-division method suitable for use on parallel machines, elements are assigned to a different processor using a round-robin method.
13.13Vis_2003
Sorting using a Binary Tree
Sorting using a Binary Tree
Suppose we have a list of values
We can sort them into order using a binary tree– find the median
(what is that?)– this is root node– one branch has list
of elements less than median, other has list of elements greater
– repeat … until?
median
< >
< > < >
13.14Vis_2003
Sorting using a kd treeSorting using a kd tree
We have a list of cells, with a minimum and maximum, that we need to sort
We use a kd tree which is an extension of a binary tree to case where each element in list has k values
So in our case, what value is k?
13.15Vis_2003
Sorting into a Kd treeSorting into a Kd tree
First: median sort cells by minimum vertex value of each cell
Alternately sort by min and max vertex value to form Kd tree
Each node is a cell with ID, max and min
median(sort by min)
median(sort by max) median
(sort by max)
median(sort by min)
median(sort by min)
< >
< >
13.16Vis_2003
Searching for Active CellsSearching for Active Cells
Compare threshold T against median (min)– If greater, then check
max for inclusion in active set
– .. and proceed to next level of tree
– If less, then we can discard the node and one of the two branches - which one?
– .. and proceed to next level
median(sort by min)
median(sort by max) median
(sort by max)
median(sort by min)
median(sort by min)
< >
<>
13.17Vis_2003
Searching for Active CellsSearching for Active Cells
At next level, compare T against median (max)– If less, then check
minimum for inclusion in active set
– .. and proceed to next level
– If greater, then discard node and also one branch.. which branch this time?..
– .. and proceed to next level of tree
median(sort by min)
median(sort by max) median
(sort by max)
median(sort by min)
median(sort by min)
< >
<>
13.18Vis_2003
Performance Improvement - Ten Isosurfaces
Performance Improvement - Ten Isosurfaces
13.19Vis_2003
SlicingSlicing
Geometric intersection of a plane with the cells of the data set.
Simple approach is to test each cell against the plane to look for intersections.
Most cells are not required - hence performance improvements can be found by reducing number of cell tests.
13.20Vis_2003
SlicingSlicing
Performance improvements easy for structured data when slice is axially aligned.
More difficult when cell has arbitrary orientation.
13.21Vis_2003
SlicingSlicing
More difficult for unstructured data. Possible to use range based
methods from isosurfacing since problem can be reduced to a single range.– For axially aligned planes, construct
tree using appropriate x/y/z coordinate.– For arbitrary orientation, apply suitable
rotation then construct tree using appropriate x/y/z coordinate.
13.22Vis_2003
Further ReadingFurther Reading
Work on span space was done by the visualization group at University of Utah
See overview paper by Brodlie and Wood