16
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

Evaluation of a Bricked Volume Layout for a Medical Workstation based on Java Peter Kohlmann, Stefan Bruckner, Armin Kanitsar, M. Eduard Gröller Institute

Embed Size (px)

Citation preview

Page 1: Evaluation of a Bricked Volume Layout for a Medical Workstation based on Java Peter Kohlmann, Stefan Bruckner, Armin Kanitsar, M. Eduard Gröller Institute

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

Page 2: Evaluation of a Bricked Volume Layout for a Medical Workstation based on Java Peter Kohlmann, Stefan Bruckner, Armin Kanitsar, M. Eduard Gröller Institute

Peter Kohlmann 2

Outline

Motivation

Multi-planar Reformatting (MPR)

Results for different access patternsMPR

Random access

Spherical access

Conclusions

Page 3: Evaluation of a Bricked Volume Layout for a Medical Workstation based on Java Peter Kohlmann, Stefan Bruckner, Armin Kanitsar, M. Eduard Gröller Institute

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

Page 4: Evaluation of a Bricked Volume Layout for a Medical Workstation based on Java Peter Kohlmann, Stefan Bruckner, Armin Kanitsar, M. Eduard Gröller Institute

Peter Kohlmann 4

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

Page 5: Evaluation of a Bricked Volume Layout for a Medical Workstation based on Java Peter Kohlmann, Stefan Bruckner, Armin Kanitsar, M. Eduard Gröller Institute

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

Page 6: Evaluation of a Bricked Volume Layout for a Medical Workstation based on Java Peter Kohlmann, Stefan Bruckner, Armin Kanitsar, M. Eduard Gröller Institute

Peter Kohlmann 6

Basic Algorithms

BrickGeneration

Image

BrickRasterization

Basic Ray Setup

Brick Prefetching

Brick-wise Processing

Ray Propagation

MPR Computation

Page 7: Evaluation of a Bricked Volume Layout for a Medical Workstation based on Java Peter Kohlmann, Stefan Bruckner, Armin Kanitsar, M. Eduard Gröller Institute

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

Page 8: Evaluation of a Bricked Volume Layout for a Medical Workstation based on Java Peter Kohlmann, Stefan Bruckner, Armin Kanitsar, M. Eduard Gröller Institute

Peter Kohlmann 8

MPR Computation

Brick-wise resampling of the volume along scan lines (rays)

Ray Propagation

Brick-wise Processing

Brick Prefetching

Basic Ray Setup

BrickRasterization

Page 9: Evaluation of a Bricked Volume Layout for a Medical Workstation based on Java Peter Kohlmann, Stefan Bruckner, Armin Kanitsar, M. Eduard Gröller Institute

Peter Kohlmann 9

MPR Computation

Ray Propagation

Brick-wise Processing

Brick Prefetching

Basic Ray Setup

BrickRasterization

Processing of a single brick

Image generation

Page 10: Evaluation of a Bricked Volume Layout for a Medical Workstation based on Java Peter Kohlmann, Stefan Bruckner, Armin Kanitsar, M. Eduard Gröller Institute

Peter Kohlmann 10

Results

MPR Computation

Random access

Spherical access

PC configurationAMD Athlon 64 Dual Core Processor 4400+

2 GB of main memory

NVIDIA GeForce 7800 GTX with 256 MB of internal memory

Test data set: 512 x 512 x 333

Page 11: Evaluation of a Bricked Volume Layout for a Medical Workstation based on Java Peter Kohlmann, Stefan Bruckner, Armin Kanitsar, M. Eduard Gröller Institute

Peter Kohlmann 11

Results – MPR Computation

axial

coronal

sagittal

arbitrary

Computation time for single slice (512 x 512)

Page 12: Evaluation of a Bricked Volume Layout for a Medical Workstation based on Java Peter Kohlmann, Stefan Bruckner, Armin Kanitsar, M. Eduard Gröller Institute

Peter Kohlmann 12

Results – MPR Computation

Computation time for single slice (512 x 512)

Evaluation: Axial and coronal: -30%Sagittal: +30%Randomly oriented plane: -16%High performance gaps for linear volume layout: different memory access patternsUtilization of bricking better data locality

Page 13: Evaluation of a Bricked Volume Layout for a Medical Workstation based on Java Peter Kohlmann, Stefan Bruckner, Armin Kanitsar, M. Eduard Gröller Institute

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

Page 14: Evaluation of a Bricked Volume Layout for a Medical Workstation based on Java Peter Kohlmann, Stefan Bruckner, Armin Kanitsar, M. Eduard Gröller Institute

Peter Kohlmann 14

Results – Spherical Access

Definition of parameterized sphere inside volume Simulation of region growingAccess 512 x 512 data values on parameterized sphere surface

Radius: 5 to 150Linear volume layout: 10.5 ms – 13.6 msBricked volume layout:

No brick prefetching: 32 ms – 260 msBrick prefetching: 15.5 ms (constant)

reasonable performance with intelligent prefetching

Page 15: Evaluation of a Bricked Volume Layout for a Medical Workstation based on Java Peter Kohlmann, Stefan Bruckner, Armin Kanitsar, M. Eduard Gröller Institute

Peter Kohlmann 15

Conclusions

Evaluation results for different access patterns to medical volume data

MPR

Random access

Spherical access

Benefits of bricked volume layout more pronounced for larger data sets

We recommend the application of bricked volume layout to a medical workstation based on Java

Page 16: Evaluation of a Bricked Volume Layout for a Medical Workstation based on Java Peter Kohlmann, Stefan Bruckner, Armin Kanitsar, M. Eduard Gröller Institute

Peter Kohlmann 16

Thanks for your Attention!