Slicer3 Rendering Pipeline
-
Upload
fredricka-elijah -
Category
Documents
-
view
35 -
download
0
description
Transcript of Slicer3 Rendering Pipeline
Slicer3 Rendering Pipeline
Study documents
Raimundo Sierra
Nomenclature:Datavolume:
x
y
z
Slicer3 normal mode:
px
pyI1 I2 I3
Normal mode, Px, Py typically:200x200 O(px* py) ≈ 40k pixels
Full screen:1000x1000 ≈ 1M pixels Factor 25 leads to perceivable slowdown, from 16ms/rendering to 200 ms
px
pyI1
Full screen mode:
Slicer 3 Rendering Pipeline
Image Processing
Data Volume
Image Processing
Rendering Display
GUI,
Programming
GUI
Navigation
GPUCPU
Painting?
Image Processing
vtkSlicerSliceLayerLogic.hvtkSlicerSliceLogic.h
A
Image Processing Details vtkSlicerSliceLayerLogic.h
Reslice Threshold
Append Reslice
Extract Alpha
CastAlpha logic
AppendThres-holdExtract
Lumi-nance Map to
colors
2D3D
O(x*y*z) O(px* py)
RGB
+ standard VTK filters─ 3D operations
= SLOW!
A
Image Processing DetailsExtended Reslice
Reslice
CastAlpha logic
Append
Thres-hold
Map to colors
2D3D
O(x*y*z) O(px* py)
RGB
Map to window level colors
New output: ImageData * BackgroundImageMask
+ faster─ filter with additional source
A
Image Processing DetailsNext: ExtractImage
Reslice
CastAlpha logic
Append
Thres-hold
Map to colors
RGB
Map to window level colors
+ only one iteration through data─ flexibility?─ still O(px* py)
Slicer 3 Rendering Pipeline
Image Processing
Data Volume
Image Processing
Rendering Display
GUI,
Programming
GUI
Navigation
GPUCPU
Painting?
Image Processing
vtkSlicerSliceLayerLogic.hvtkSlicerSliceLogic.h
Image Processing Details vtkSlicerSliceLogic.h
Foreground
BlendBackground
Labelmap
Append
Append
Append
Slicer 3 Rendering PipelineGPU Based rendering
Image Processing
Data Volume
Image Processing
Rendering Display
GPUCPU
1. Submit complete datavolume to the GPU (glTexture3D)2. Extract slice by specifying plane with associated texture coordinates
(glVertex, glTextureCoord)3. Render textured plane in different rendering targets (slice windows & 3D
window
Current Rendering Pipelinevs. GPU Based rendering
Pros• Speed: Use of parallel
rendering pipeline of GPU
Cons• Limited GPU memory in
particular when volume consists of foreground, background, and labelmap datasets
• Implementation:– 3D texture support in VTK– Large/significant changes
in existing code