Download presentation
Presentation is loading. Please wait.
Published byBasil George Modified over 9 years ago
1
Efficient Volume Visualization of Large Medical Datasets Stefan Bruckner Institute of Computer Graphics and Algorithms Vienna University of Technology
2
Stefan BrucknerComputergraphik @ TU Wien 2 Motivation Volume visualization: Important tool in medical environments Volume visualization: Important tool in medical environments CT angiography run-offs (> 1000 slices) are used in clinical practice CT angiography run-offs (> 1000 slices) are used in clinical practice Scanner resolutions are getting higher (1024x1024 per slice) Scanner resolutions are getting higher (1024x1024 per slice) Memory access is increasingly becoming a bottleneck
3
Stefan BrucknerComputergraphik @ TU Wien 3 Outline Memory hierarchy Memory hierarchy Linear memory layouts Linear memory layouts Bricked memory layouts Bricked memory layouts Gradient caching Gradient caching Empty space skipping Empty space skipping Results Results
4
Stefan BrucknerComputergraphik @ TU Wien 4 Memory Hierarchy Hierarchy of successively larger but slower memory technology Hierarchy of successively larger but slower memory technology Avoid frequent access to higher levels (like main memory) Avoid frequent access to higher levels (like main memory) Exploit spatial and temporal locality Exploit spatial and temporal locality L1 cache main memory L2 cache hard disk CPU
5
Stefan BrucknerComputergraphik @ TU Wien 5 Linear Memory Layout volume rays Store volume as a stack of 2D images (slices) Bad cache behavior for different viewing directions
6
Stefan BrucknerComputergraphik @ TU Wien 6 Bricked Memory Layout (1) volume rays Store volume as a set of equally sized cubes (bricks) Nearly constant cache behavior for all viewing directions
7
Stefan BrucknerComputergraphik @ TU Wien 7 Bricked Memory Layout (2) volume rays Process all resample locations within a brick before going to the next one Each brick is only loaded from memory once
8
Stefan BrucknerComputergraphik @ TU Wien 8 Bricked Memory Layout (3) volume rays 12 3 456 789 Process all resample locations within a brick before going to the next one Brick-wise processing scheme
9
Stefan BrucknerComputergraphik @ TU Wien 9 Bricked Memory Layout (4) How to efficiently access neighboring samples? How to efficiently access neighboring samples? Problem: A certain neighborhood of samples is needed at every resample location Offsets to neighboring samples are constant in linear volume layout More complicated for bricked volume layouts
10
Stefan BrucknerComputergraphik @ TU Wien 10 Bricked Memory Layout (5) How to efficiently access neighboring samples? How to efficiently access neighboring samples? brick boundarysample
11
Stefan BrucknerComputergraphik @ TU Wien 11 Bricked Memory Layout (6) How to efficiently access neighboring samples? How to efficiently access neighboring samples? 27 distinct cases in 3D for a 26- neighborhood Determine case from current position within brick Offsets to neighboring samples are stored in lookup table
12
Stefan BrucknerComputergraphik @ TU Wien 12 Linear vs. Bricked Memory Layout brick size in KB 8645124096 1 3 4 2 132768 linear volume layout cache thrashing + bricking overhead optimal brick size speedup factor speedup: 2.8
13
Stefan BrucknerComputergraphik @ TU Wien 13 Gradient Caching Pre-computed gradients Pre-computed gradients For sufficient quality, memory requirements are at least doubled Compute gradients on-the-fly Compute gradients on-the-fly Caching has to be performed Brick-wise traversal is beneficial Store gradients in a brick-sized cache
14
Stefan BrucknerComputergraphik @ TU Wien 14 Empty Space Skipping Medical datasets contain large empty regions Medical datasets contain large empty regions How do we quickly traverse this empty space? How do we quickly traverse this empty space? Project all non-transparent bricks onto image plane to find first entry points of rays For finer resolution, use a min-max octree per brick and project the octree At cell level, store one bit for each cell classified as transparent to quickly skip it
15
Stefan BrucknerComputergraphik @ TU Wien 15 Results (1)
16
Stefan BrucknerComputergraphik @ TU Wien 16 Results (2) Intel Pentium M 1600 MHz (software capture) Visible Male (587 x 341 x 1878)
17
Stefan BrucknerComputergraphik @ TU Wien 17 Conclusions Alternative memory layouts are the key to handling large datasets Alternative memory layouts are the key to handling large datasets Sub second frame rates for large datasets on a standard notebook Sub second frame rates for large datasets on a standard notebook Fully interactive volume visualization of large data on commodity hardware is within reach Fully interactive volume visualization of large data on commodity hardware is within reach Future work: Use bricked memory layout for compression and out-of-core rendering Future work: Use bricked memory layout for compression and out-of-core rendering
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.