Difference between revisions of "Slicer3:Volume Rendering"

From NAMIC Wiki
Jump to: navigation, search
Line 24: Line 24:
  
 
==How to use the module==
 
==How to use the module==
 +
===First steps===
 +
*Step 1: Load a MRML Scene or add a volume to a new Scene (see other module descriptions for better instructions)
 +
 +
*Step2: A standard Visualization Parameter Set will be generated automatically and your volume will show up in the render window.
 +
 +
*Step3: Adjust the parameter set:
 +
**To change interpolation use the interpolation drop down menu.
 +
**To enable shading click on the material button.
 +
**To change the transfer functions just click into the particular histogram to add a point, drag a point outside the editor to delete it or click on the point to change its color, position etc.
 +
**If you choose "Interactive Apply" all changes in the transfer functions will be processed immediately otherwise just interact with the volume to use the new parameters
 +
 +
===Quality/Performance===
 +
Volume rendering in Slicer 3 uses a 3 step rendering technology. To achieve interactive render rates the quality of the volume will drop down every time you interact with the volume or change parameter sets. If you don't interact with it the quality increases. You can see the progress of the rendering in the right bottom corner. If you have a high end computer and you want to get rid off the low quality rendering try to change the Performance /Quality drop down menu. Using middle quality, the lowest resolution will be skipped. Using highest quality only the highest resolution will be used.
  
 
==Screenshots==
 
==Screenshots==

Revision as of 13:34, 1 November 2007

Home < Slicer3:Volume Rendering

Overview

The topic of the new Volume Rendering Module is the integration of hardware accelerated volume rendering into the Slicer 3 environment. There is a special focus of achieving interactive update rates, easy user interaction (e.g. by offering several presets) and the use of label maps. Goals also include incremental updates (if module is used with Editor module), saving and loading of the configuration etc.

How to compile the module

  • Switch the compile option "VolumeRenderingModule" on (in cmake)
  • Make sure that you recompile "Slicer3.cxx"
  • Compile


  • Note: if you also want to us the latest labelmap support add the following steps before compiling
    • Switch the compile option "VR_Labelmaps" on (in cmake)
    • Make sure that you recompile "vtkSlicerVolumeRenderingModuleGui.cxx"

Current Features

  • Visualize grayscale volumes
  • Create Visualization Parameter sets, load and save them
  • Use preset Visualization Parameter sets and link already created Parameter sets with current Volume
  • Edit parameters like shading; color , opacity and gradient transfer functions
  • Interactive render rates, achieved through 3 step rendering
  • Select different qualities of rendering and performance levels of rendering
  • Receive exact progress about rendering

Future Features

  • Render labelmaps properly

How to use the module

First steps

  • Step 1: Load a MRML Scene or add a volume to a new Scene (see other module descriptions for better instructions)
  • Step2: A standard Visualization Parameter Set will be generated automatically and your volume will show up in the render window.
  • Step3: Adjust the parameter set:
    • To change interpolation use the interpolation drop down menu.
    • To enable shading click on the material button.
    • To change the transfer functions just click into the particular histogram to add a point, drag a point outside the editor to delete it or click on the point to change its color, position etc.
    • If you choose "Interactive Apply" all changes in the transfer functions will be processed immediately otherwise just interact with the volume to use the new parameters

Quality/Performance

Volume rendering in Slicer 3 uses a 3 step rendering technology. To achieve interactive render rates the quality of the volume will drop down every time you interact with the volume or change parameter sets. If you don't interact with it the quality increases. You can see the progress of the rendering in the right bottom corner. If you have a high end computer and you want to get rid off the low quality rendering try to change the Performance /Quality drop down menu. Using middle quality, the lowest resolution will be skipped. Using highest quality only the highest resolution will be used.

Screenshots

volume rendered label map of the tutorial dataset
volume rendered label map of the tutorial dataset, shading enabled
shading enabled, linear interpolation, automatich mapping for bones

next Tasks

Goals

Volume rendering presets :

  • MIP (Maximum Intensity Projection)
  • CT Bone and vessel
    • Use Hounsfield units
      • Bone +400->+1000
      • Soft tissue +40->+80
      • Water 0
      • Fat -60->-100
      • Lung -400->-600
      • Air -1000
    • Problem with Vessels: Different contrast mediums?!
  • T1 MR Air/skin interface
  • Label map per-label object rendering

Slicer3 module interface:

  • Select from loaded volumes
  • Specify preset transfer functions or use KWWidgets tools

Slicer3 internals:

  • Correct coordinates including transforms
  • Level of detail rendering
  • Proper integration with surface rendering

Different Volume Rendering Algorithms

  • RayCast
  • 2D Texture Mapping
  • 3D Texture Mapping
  • ...

Wish List

  • 2D Transfer functions - may require specialized opengl code integrated with VTK. Talk with Gordon about latest work from Utah.
  • use glTexSubImage3D so that incremental changes to the volume can be quickly reflected
  • use distance maps (inlcude several components) in rendering

Glossar

  • Visualization Parameter Set: A Visualization Parameter is the combination of different mapping options. This includes color, opacity, gradient transfer functions as well as the type of interpolation (nearest neighbor or linear) and shading.