Presentation is loading. Please wait.

Presentation is loading. Please wait.

Exploded Views for Volume Data Stefan Bruckner, M. Eduard Gröller Institute of Computer Graphics and Algorithms Vienna University of Technology.

Similar presentations


Presentation on theme: "Exploded Views for Volume Data Stefan Bruckner, M. Eduard Gröller Institute of Computer Graphics and Algorithms Vienna University of Technology."— Presentation transcript:

1 Exploded Views for Volume Data Stefan Bruckner, M. Eduard Gröller Institute of Computer Graphics and Algorithms Vienna University of Technology

2 Stefan Bruckner 1 Motivation (1) Volumetric data sets: information about interior and exterior of an object Frequently focus objects are occluded by other structures Reduce opacity, cutaways: information is still removed, particularly for large focus objects Alternative approach: split up context structures and displace them Rely on human perception to put pieces back together

3 Stefan Bruckner 2 Motivation (2) Plastinated anatomic sculpture (G. von Hagens, Bodyworlds) Interactive exploded-view illustration

4 Stefan Bruckner 3 Related Work [McGuffin et al. 2003] Interactive deformation widgets for browsing segmented volume data [Islam et al. 2004] Modeling splitting operations for volumetric data sets [Cornea et al. 2005] Curve-skeleton for partitioning volumes [Cornea et al. 2006] Feature-aligned volume manipulation Our contribution: fully interactive approach, automated part layout, view-dependent explosions, high-quality rendering

5 Stefan Bruckner 4 Overview (1) Focus Selection Part Definition Layout Generation Rendering

6 Stefan Bruckner 5 Focus Selection (1) Approximate specification of focus object in dataset Via transfer function, segmentation, volume painting Degree-of-interest function specifies importance of each voxel [Viola et al. 2004] Can be refined after an initial exploded view has been generated All voxels with nonzero degree-of-interest are called selection, rest is background

7 Stefan Bruckner 6 Focus Selection (2) selection background

8 Stefan Bruckner 7 Overview (2) Focus Selection Part Definition Layout Generation Rendering

9 Stefan Bruckner 8 Part Definition (1) Partition of the background object into several non-overlapping regions Could be done automatically (curve skeleton, symmetry detection) Simple interactive approach: user can split volume along arbitrary planes Different tools: axis splitter, depth splitter, line splitter Splitting can be refined/modified once the view is exploded

10 Stefan Bruckner 9 Part Definition (2) part

11 Stefan Bruckner 10 Overview (3) Focus Selection Part Definition Layout Generation Rendering

12 Stefan Bruckner 11 Layout Generation (1) Displacing each part manually is cumbersome and time-consuming Would have to be adjusted whenever the viewpoint changes Several potentially conflicting layout requirements We use a three-dimensional force-directed layout approach for part arrangement Different forces represent our layout requirements

13 Stefan Bruckner 12 Layout Generation (2)

14 Stefan Bruckner 13 Explosion Force (1) Part arrangement should depend on the shape of the selection object The explosion force moves the parts away from the selection object A set of points (explosion points) within the selection object is generated Each point exhibits a repulsive force on all parts

15 Stefan Bruckner 14 Explosion Force (2) For each part P i For each explosion point e j Find point p on P i closest to e j Apply F e to P i at point p with r = p - e j

16 Stefan Bruckner 15 Viewing Force (1) Occlusions of the selection object should be prevented for every viewpoint The explosion force does not take the viewpoint into account The viewing force moves parts away from the line of sight Modeled after the graph distortion viewing technique by [Carpendale et al. 1996]

17 Stefan Bruckner 16 Viewing Force (2) For each part P i For each explosion point e j Find point p along ray to e j closest to the center of P i Apply F v to center of P i with r = center(P i ) - p

18 Stefan Bruckner 17 Spacing Force (1) Parts should move apart in order to prevent clustering Spacing force causes parts to repel each other Each part exhibits a spacing force on all other parts

19 Stefan Bruckner 18 Spacing Force (2) For each part P i For each part P j Apply F s to P i with r = center(P i ) - center(P j )

20 Stefan Bruckner 19 Return Force (1) All previous forces move parts away from their original position To reach an equilibrium, we need a force which works opposite to the other ones The return force pulls parts back to their initial location

21 Stefan Bruckner 20 Return Force (2) For each part P i For each vertex v j of P i Apply F r to P i with r being the vector from the current position of v j to its original location

22 Stefan Bruckner 21 Degree-of-Explosion For ease of use, we have one global degree- of-explosion parameter The degree-of-explosion controls how exploded the view should be This parameters scales the normalized explosion, viewing, and spacing forces For additional control, the contribution of each force to the total force can be adjusted

23 Stefan Bruckner 22 Constraints (1) Add additional joints to constrain part movement, e.g. based on semantics Different joints: hinge joint, slider joint, ball joint, etc. Adjust mass of parts: heavier parts will move less Special case: infinite mass means part will not be displaced (useful for breakaway views)

24 Stefan Bruckner 23 Constraints (2) unconstrained explosion parts connected by slider joint, left part is static

25 Stefan Bruckner 24 Overview (4) Focus Selection Part Definition Layout Generation Rendering

26 Stefan Bruckner 25 Rendering Background object divided into multiple non- intersecting parts Each of the parts has its own transformation matrix Selection object may intersect one or several parts Additional bounding geometry (e.g. octree) for background and selection (used for empty- space skipping)

27 Stefan Bruckner 26 Algorithm Process parts in visibility order (GPU-based visibility sort is performed) Use Z-Buffer to compute intersections between part geometry and bounding geometry Store the resulting entry & exit points + depth for background and selection in 2 sets of off- screen buffers Use buffers in fragment program to perform raycasting for background and selection

28 Stefan Bruckner 27 Example selection entry and exit buffers

29 Stefan Bruckner 28 Example selection entry and exit buffers background entry and exit buffers

30 Stefan Bruckner 29 Example

31 Stefan Bruckner 30 Raycasting Do raycasting for selection and background for one part in a single fragment program Two intervals per ray, one for selection and one for background selection background Need to sample both volumes and do multi-volume compositing

32 Stefan Bruckner 31 Performance Expected bad performance due to dynamic branching in fragment program Does not seem to be the case, most probably due to coherency in branching patterns Some performance penalties due to usage of OpenGL FBOs – might disappear in the future Comparison with reference raycaster – same shading and compositing routines, but no handling of exploded views

33 Stefan Bruckner 32 Performance GPU: GeForce 6800 GT Image: 512 x 512 Volume: 256 x 256 x 166

34 Stefan Bruckner 33 Demonstration

35 Stefan Bruckner 34 Conclusions and Future Work Automated approach for interactive generation of exploded view illustrations Uses a flexible and extensible force-based layout approach Fast high-quality GPU-based renderer using raycasting Future: automatic part generation (curve skeleton, symmetry detection) Pre-generated explosion setups, use template matching to adjust to different datasets

36 Thank you for your attention! Questions? http://www.volumeshop.org


Download ppt "Exploded Views for Volume Data Stefan Bruckner, M. Eduard Gröller Institute of Computer Graphics and Algorithms Vienna University of Technology."

Similar presentations


Ads by Google