1 / 10

Slicer3 Rendering Pipeline

Slicer3 Rendering Pipeline. Study documents Raimundo Sierra. Nomenclature:. Datavolume:. Slicer3 normal mode:. Full screen mode:. p y. I 1. y. p y. I 1. I 2. I 3. p x. p x. z. Normal mode, Px, Py typically: 200x200  O(px* py) ≈ 40k pixels Full screen: 1000x1000 ≈ 1M pixels

Download Presentation

Slicer3 Rendering Pipeline

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Slicer3 Rendering Pipeline Study documents Raimundo Sierra

  2. Nomenclature: Datavolume: Slicer3 normal mode: Full screen mode: py I1 y py I1 I2 I3 px px z 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 x

  3. Slicer 3 Rendering Pipeline GUI, Programming GUI Navigation Image Processing Data Volume Image Processing Image Processing Rendering Display vtkSlicerSliceLayerLogic.h vtkSlicerSliceLogic.h GPU CPU Painting?

  4. Image Processing DetailsvtkSlicerSliceLayerLogic.h Extract Alpha Alpha logic Append Cast Reslice Threshold Append Reslice A Thres-hold Extract Lumi-nance Map to colors RGB 2D 3D O(x*y*z) O(px* py) = SLOW! + standard VTK filters ─ 3D operations

  5. Image Processing DetailsExtended Reslice New output: ImageData * BackgroundImageMask Alpha logic Cast Append Reslice Thres-hold A RGB Map to window level colors Map to colors 2D 3D + faster ─ filter with additional source O(x*y*z) O(px* py)

  6. Image Processing DetailsNext: ExtractImage Alpha logic Cast Append Reslice Thres-hold A RGB Map to window level colors Map to colors + only one iteration through data ─ flexibility? ─ still O(px* py)

  7. Slicer 3 Rendering Pipeline GUI, Programming GUI Navigation Image Processing Data Volume Image Processing Image Processing Rendering Display vtkSlicerSliceLayerLogic.h vtkSlicerSliceLogic.h GPU CPU Painting?

  8. Image Processing DetailsvtkSlicerSliceLogic.h Append Foreground Blend Append Background Append Labelmap

  9. Slicer 3 Rendering PipelineGPU Based rendering Image Processing Data Volume Image Processing Rendering Display GPU CPU • Submit complete datavolume to the GPU (glTexture3D) • Extract slice by specifying plane with associated texture coordinates (glVertex, glTextureCoord) • Render textured plane in different rendering targets (slice windows & 3D window

  10. 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 Current Rendering Pipelinevs. GPU Based rendering

More Related