Evaluation of a Bricked Volume Layout for a Medical
Workstation based on Java
Peter Kohlmann, Stefan Bruckner, Armin Kanitsar, M. Eduard Gröller
Institute of Computer Graphics and Algorithms
Vienna University of Technology
Outline
Motivation
Multi-planar Reformatting (MPR)
Results for different access patterns
MPR
Random access Spherical access
Conclusions
Peter Kohlmann 3
Motivation
Most medical workstations: linear volume layout Increasing size of medical volume data
Main memory: limiting factor for data visualization
Better memory utilization with subdivided volumes Evaluation for company partner:
use of bricked volume layout for medical workstation implemented in Java
performance for common access patterns to medical volume data
Bricking in a Nutshell
Medical volumes data sets: stacks of 2D images (slices)
Linear volume layout: data values stored in single array
Problem: rendering of large data sets
Bricked volume layout: subdivision of volume into smaller parts (bricks)
Single brick: fixed number of data values in x-, y- and z-dimension
Peter Kohlmann 5
Multi-Planar Reformatting in a Nutshell
Important access pattern to medical volume data Radiologists prefer to examine 2D slices
Arbitrary reformation of 2D image stack
Medical workstations display volume data in different views
Basic Algorithms
Brick
Generation Image
Brick
Rasterization
Basic Ray Setup
Brick Prefetching
Brick-wise Processing
Ray
Propagation MPR Computation
Peter Kohlmann 7
Brick Generation
Efficient addressing: brick size power of two Good choice: 64 KB (32x32x32 x 16 bit)
(Grimm et al. 04, Law and Yagel 96) Brick is simple data structure:
unique ID
min- and max-value
padding
MPR Computation
Brick-wise resampling of the volume along
scan lines (rays)
Peter Kohlmann 9
MPR Computation
Ray
Propagation Brick-wise
Processing Brick
Prefetching Basic
Ray Setup Brick
Rasterization
Processing of a single brick
Image
generation
Results
MPR Computation Random access Spherical access PC configuration
AMD Athlon 64 Dual Core Processor 4400+
2 GB of main memory
NVIDIA GeForce 7800 GTX with 256 MB of
Peter Kohlmann 11
Results – MPR Computation
axial
coronal
sagittal
arbitrary
Computation time for single slice (512 x 512)
Results – MPR Computation
Computation time for single slice (512 x 512)
Evaluation:
Axial and coronal: -30%
Sagittal: +30%
Randomly oriented plane: -16%
Peter Kohlmann 13
Results – Random Access
Worst case scenario to access data values concerning data locality
Time to access 512 x 512 randomly distributed values
21.4 ms (linear volume layout) 41.4 ms (bricked volume layout)
Calculation effort to access the data value at certain position
Linear volume layout: one-level calculation Bricked volume layout: two-level calculation
Results – Spherical Access
Definition of parameterized sphere inside volume
Simulation of region growing
Access 512 x 512 data values on parameterized sphere surface
Radius: 5 to 150
Linear volume layout: 10.5 ms – 13.6 ms Bricked volume layout:
No brick prefetching: 32 ms – 260 ms
Peter Kohlmann 15
Conclusions
Evaluation results for different access patterns to medical volume data
MPR
Random access Spherical access