Iso-surface cell search Iso-Contouring – Advanced Issues 1. Efficiently determining which cells to � Iso-surface cells: cells that contain iso- examine. surface. 2. Using iso-contouring as a slicing mechanism min < iso-value < max 3. Iso-contouring in higher dimensions 4. Texturing and coloring of iso-contours � Marching cubes algorithm performs a 5. Polygonal simplification of contours. linear search to locate the iso-surface 6. Choosing a good iso-value cells – not very efficient for large-scale data sets. 4/21/2003 R. Crawfis, Ohio State Univ. 4/21/2003 R. Crawfis, Ohio State Univ. 73 74 Iso-surface Cells Efficient Searching � With < 10% of the voxels contributing to � For a given iso-value, only a smaller portion the surface, it is a waste to look at every of the cells contain part of the iso-surface. voxel. � A voxel can be specified in terms of its � For a volume with interval, its minimum and maximum n x n x n cells, the n values. average number of the n iso-surface cells is O(n x n) n (ratio of surface v.s. volume) 4/21/2003 R. Crawfis, Ohio State Univ. 4/21/2003 R. Crawfis, Ohio State Univ. 75 76 Efficient iso-surface cell search Efficient search methods � Problem statement: 1. Spatial subdivision (domain search) � Given a scalar field with N cells: 2. Value subdivision (range search) ⌧ c 1 , c 2 , …, c n 3. Contour propagation � With min-max range: ⌧ (a 1 ,b 1 ), (a 2 ,b 2 ),…, (a n , b n ) Find {C k | a k < C < b k ; C=iso-value} 4/21/2003 R. Crawfis, Ohio State Univ. 77 4/21/2003 R. Crawfis, Ohio State Univ. 78 1
Domain search Span Space High Gradient • Subdivide the space into several sub-domains, check the min/max values for each sub-domain Low Gradient • If the min/max values (extreme values) do not contain the iso-value, we skip the entire region Min/max Threshold Complexity = O( k log(n/k) ) Threshold Mi Minimum nimum 4/21/2003 R. Crawfis, Ohio State Univ. 4/21/2003 R. Crawfis, Ohio State Univ. 79 80 Span Space - Representing Contour Propagation • • K K- -d Trees d Trees Basic Idea: Given an initial cell that contains iso-surface, the remainder of the iso-surface can be found by propagation FIFO Queue Initial cell: A A Enqueue: B, C B C C Split Min. axis E Breadth-First A Split Max. axis Dequeue: B C Search B Enqueue: D C D D Mi Minimum nimum … …. 4/21/2003 R. Crawfis, Ohio State Univ. 4/21/2003 R. Crawfis, Ohio State Univ. 81 82 Challenges Solutions Need to know the initial cells! (1) Extrema Graph (Itoh vis’95) For any given iso-value C, finding (2) Seed Sets (Bajaj volvis’96) the initial cells to start the propagation is almost as hard as Problem Statement: finding the iso-surface cells. Given a scalar field with a cell set G , find a subset S G , such that You could do a global search, but … for any given iso-value 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 4/21/2003 R. Crawfis, Ohio State Univ. 83 4/21/2003 R. Crawfis, Ohio State Univ. 84 2
Extrema Graph (1) 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 Iso-contour is intersected by at least one of the arcs. 4/21/2003 R. Crawfis, Ohio State Univ. 4/21/2003 R. Crawfis, Ohio State Univ. 85 86 Extrema Graph (3) Extrema Graph (4) Extreme Graph: Algorithm: E2 E1 { E, A: Given an iso-value a1 E: extrema points a2 1) Search the arcs of the extrema graph (to find the arcs that have A: Arcs conneccts E a3 min/max values that contain the iso-value } E3 E4 2) Walk through the cells along each of these arcs to find the a5 An ‘arc’ consists of cells that connect seed cells a4 extrema points (we only store E7 3) Start the iso-contour propagation from the seed cells min/max of the arc though) a7 E5 4) …. a6 E6 E8 There is something more that needs to be done… 4/21/2003 R. Crawfis, Ohio State Univ. 4/21/2003 R. Crawfis, Ohio State Univ. 87 88 We are not done yet … Extrema Graph (5) What ?! Contours missed We just mentioned that all the closed iso-contours will intersect with the arcs connecting the extrema points These open iso-contours will intersect with ?? cells How about non-closed iso-contours? (or called open iso- contours) Boundary Cells!! 4/21/2003 R. Crawfis, Ohio State Univ. 89 4/21/2003 R. Crawfis, Ohio State Univ. 90 3
Extrema Graph (6) Extrema Graph � Efficiency - Number of cells visited: Algorithm (continued) � extrema graph - N 0.33 Given an iso-value: � boundary - N 0.66 � Iso-surface - N 0.66 1) Search the arcs of the extrema graph (to find the arcs that have min/max � based on tetrahedra - will create more surface values that contain the iso-value. triangles ... 2) Walk through the cells along each of the arcs to find the seed cells. � should extract the same number of cells/ 3) Start the iso-contour propagation from the seed cells. 4) Search the cells along the boundary and find additional seed triangulation as Marching Cubes cells. 5) Propagate from these new seed cells for the open iso-contours. 4/21/2003 R. Crawfis, Ohio State Univ. 4/21/2003 R. Crawfis, Ohio State Univ. 91 92 Selecting iso-values Extrema Graph � Which iso-values should I examine to � Storage Costs: best comprehend my dataset? � Extrema graph – very small amount of memory for most datasets. � Some data has very specific values: � For unstructured grids, I need to be able to � The aluminum structure in my access my neighbors. This requires a very simulation will start to fail at a pressure expensive data structure, more than the of 5672psi. span-space data structures. � The molecular state changes from a liquid to a gas at 100° C. 4/21/2003 R. Crawfis, Ohio State Univ. 4/21/2003 R. Crawfis, Ohio State Univ. 93 94 Contour Spectrum Outline � User Interface � Basic Idea: Calculate and present to the user � Signature Computation several properties of an iso-contour. � Do this for all iso-contours. � Real Time Quantitative Queries � This leads to several functions in terms of the � Rule-based Contouring iso-value, α . � Present these functions to the user as an aid in � Topological Information picking contour values. � Future Directions These slides are from Baja, Pascucci and Schikore (IEEE Visualization 1997) 4/21/2003 R. Crawfis, Ohio State Univ. 95 4/21/2003 R. Crawfis, Ohio State Univ. 96 4
Graphical User Interface Graphical User Interface Graphical User Interface for Static Data for Static Data for time varying data • The horizontal axis high spans the scalar values α ( α , t ) --> c • Plot of a set of The color, c, c signatures (length, magnitude is mapped area, gradient ...) as to the functions of the scalar t magnitude value α . of a signature α function of time, t, and isovalue α • Vertical axis spans normalized ranges of each signature. low • The horizontal axis spans the scalar value • White vertical bars mark current selected isovalues. dimension α . • The vertical axis spans the time dimension t . 4/21/2003 R. Crawfis, Ohio State Univ. 4/21/2003 R. Crawfis, Ohio State Univ. 97 98 User Interface - MRI of a human Signature Computation torso - � Consider a terrain of • In real time the exact value of each signature is displayed. which you want to • The isocontour that bounds the region of interest is obtained by selecting the maximum of the gradient signature. compute the length of each isocontour and the area contained inside each isocontour 4/21/2003 R. Crawfis, Ohio State Univ. 4/21/2003 R. Crawfis, Ohio State Univ. 99 100 Signature Computation Signature Computation � In general, the size (surface area) of each iso-contour of a scalar field of dimension d is a spline function of d-2 continuity. • The length of each � The size (volume) of the contour is a C 0 spline region inside/ outside is function. given by a spline • The area inside/outside function of d-1 continuity each isocontour is a C 1 spline function. 4/21/2003 R. Crawfis, Ohio State Univ. 101 4/21/2003 R. Crawfis, Ohio State Univ. 102 5
Recommend
More recommend