Modules:VolumeRendering-Documentation-3.6

From Slicer Wiki
Jump to: navigation, search
Home < Modules:VolumeRendering-Documentation-3.6

Return to Slicer 3.6 Documentation

Gallery of New Features


Module Name

Volume Rendering

Gradient Magnitude Opacity Modulation
Illustrative Context Preserving Exploration
Volume Rendering on Multi-Channel Confocal Microscopy Image

General Information

Module Type & Category

Type: Interactive

Category: Base

Authors, Collaborators & Contact

  • Yanling Liu, SAIC-Frederick/NCI-Frederick, Alex Yarmarkovich, Isomics, SPL
  • Andreas Freudling, Student Intern at SPL (freudling@bwh.harvard.edu)
  • Contact: Yanling Liu, liuy5@mail.nih.gov, Alex Yarmarkovich, alexy@bwh.harvard.edu
  • Some of the transfer functions were contributed by Kitware, Inc. (VolView)

Module Description

Provides interactive visualization of 3D image data. To learn about volume rendering start with Wikipedia.

Usage

Use Cases, Examples

  • Pausing VolumeRendering module in scene loading

The VolumeRendering module can be paused in scene loading by un-checking the "Monitor Scene Loading Event" check button. Re-checking the check button will flush the paused pipeline and initialize the module using the loaded scene.

  • Multi-Volume GPU Ray Casting

VolumeRendering module has the capability to blend two (bg and fg) volumes in one rendering pipeline. User may select different rendering technique for bg or fg volumes. Different blending options are also available.

Currently under development. Available rendering techniques: Composite (bg) + Composite (fg) + OR blending, Composite (bg) + Composite (fg) + AND blending, Composite (bg) + MIP (fg), MIP (bg) + MIP (fg).

Bg volume only (Composite)
Bg and Fg volume
Fg volume only (MIP)
  • Dual 3D View mode

VTK GPU Ray Casting doesn't support the Dual 3D View mode.

Gradient Magnitude Opacity Modulation in Dual 3D View mode (Single Volume GPU Ray Casting)
  • Volume-Following Mode

In Volume-Following mode, color and opacity transfer functions in the VolumeRendering module will follow window/level and threshold settings in the Volumes module for a uniform appearance on both slice view and 3D volume rendering view. To use, check VolumeRendering module -> Rendering panel -> Volume Property tab -> Follow Volumes Module check button.

In Volume-Following mode, window/level plus lookup table in Volumes module will be used to set colors in volume rendering. Threshold in Volumes module will be used to set opacity in volume rendering. Color and opacity transfer function editor also are disabled in Volume-Following mode because we are following volumes module now.

Volume Rendering in Volume-Following Mode

Tutorials

Quick Tour of Features and Use

  • Input panel:
    • Monitor scene loading event If unchecked the Volume rendering module will not monitor scene loading event. If a scene contains volume rendering node and a very large dataset, loading this scene on machine without volume rendering capabilities, can cause errors (a crash or a frozen machine -- if the machine runs out of memory).
    • Scenario A volume rendering scenario is defined by input set of bg, fg and label map volumes.
    • ROI The single ROI node for the current scenario. The ROI can be defined using volume rendering and then used to crop a volume in the crop volume module. May be changed to one ROI per input(bg/fg/labelmap) instead of per scenario.
    • Background Volume This specifies the default volume for volume rendering. Volume input, volume property, and presets for background.
      • Source: Background volume source.
      • Property: Volume Rendering Property Node: Volume rendering properties, such as color and opacity transfer functions are saved in the Volume Rendering Property Node.
      • Presets: Predefined transfer functions for convenience. Some are provided by Jim Miller, and the majority of them are transferred from VolView (Thank you very much). (VolView people credits?)
    • Foreground Volume This is used only in experimental NCI GPU Ray Casting (which is one of the Rendering Methods in the Rendering Techniques Tab). Otherwise this volume is ignored. Volume input. volume property, and presets for foreground. Works only with the experimental NCI GPU Raycasting Multi-volume (experimental)
    • Label Map This volume is experimental and disabled for now. Volume input, volume property, and presets for label map.

User Interface

Rendering panel: This panel is Dynamically generated panel when valid input is selected.

  • Techniques TAB Under the techniques tab, there are currently five rendering methods available. Each of these are described below.
    • Rendering Method
      • VTK CPU Ray Casting: Uses the CPU for volume rendering, is parallelized and can take advantage of multi-core capabilities. Uses level-of-detail approach where low resolution is rendered while moving, and high resolution is rendered once motion ceases. Allows zbuffer compositing with texture map cross sections and non-transparent triangulated surface model.
        • Method Configuration Panel:
      • VTK GPU Ray Casting: Uses GPU accelerated ray caster. Allows z-buffer compositing with non-transparent polygon models only. This is currently working on Linux and Win32, but not on Mac due to a bug in the OpenGL drivers.
        • Method Configuration Panel:
      • VTK OpenGL 3D Texture Mapping: Uses texture mapping approach to volume rendering compared to the two render methods above, it has slightly lower performance and slightly coarser appearance.
        • Method Configuration Panel:
      • NCI GPU Ray Casting: This is a GLSL-based ray caster with several experimental mapping techniques. No z-buffer compositing with polygon models. Good performance and quality. No hardware restrictions on this method.
      • NCI GPU Ray Casting (Multi-Volume): This allows two volumes to be volume rendered and performs an alpha blend between the two volumes. This method requires enough graphics memory to hold all data, or a crash or frozen machine may occur. If you use this method, and select a foreground volume, you need to set the "Fg|Bg Ratio" slider in "NCI GPU Ray Casting (Multi-Volume)" section to see the rendering of the foreground volume. By default, the foreground volume is completely transparent.
        • Method Configuration Panel:
    • GPU Memory Size: A user must hand-select the amount of graphics memory in your machine. The setting will be remembered for your next session. Find this information, (Alex, can fill in for each platform, or for some?)
    • Expected Interactive Frame Rate: For VTK mappers, this slider forces faster render speeds at the expense of quality. For NCI mappers, this slider defines the rendering speed (No low-high quality rendering switching). This feature may be removed.
User Interface

Volume Property Tab

  • Follow Volumes Module Option: When this is checked, you can use the window level and threshold settings and the Color LUT settings in the volumes module display section to manipulate a ramp-shaped transfer function.
  • Use Thresholding Option: Basically this is a block filter with adjustable upper and lower thresholds in the transfer function. The opacity slider may be used to adjust the opacity of the pass band. Effects of this option can be seen below in the Scalar Opacity Mapping Transfer Function Editor.
  • Volume Appearance Settings
    • Interpolation: Linear or nearest neighbor. Usually, linear will produce more pleasing results.
    • Material: A pop-up allows to determine the reflection properties for the rendered structures ("shiny" to "dull")
    • Scalar Opacity Mapping: select a control point (click to create a new one) and change its signal intensity value and opacity. 0 means transparent and 1 means opaque.
    • Scalar Opacity Mapping: select a control point (click to create a new one) and change its color. Both Hue/Saturation and value can be selected
User Interface

ROI Tab

  • The ROI's are compatible with the crop volume module.
  • Interactive cropping of the volume visualization. You can use either the sliders or click on the colorized spheres in the 3D view.
  • ROI box can be made visible or invisible
  • check box allows to apply to the visualization or not.
User Interface

Misc Tab

  • Turn volume rendering visibility on or off
  • Turn models on or off
  • May need to be moved to main toolbar.
User Interface

Development

Notes from the Developer(s)

Dependencies

None.

Tests

On the Dashboard, these tests verify that the module is working on various platforms

Known bugs

Links to known bugs in the Slicer3 bug tracker

Usability issues

Follow this link to the Slicer3 bug tracker. Please select the usability issue category when browsing or contributing.

Source code & documentation

Source code: http://viewvc.slicer.org/viewcvs.cgi/branches/Slicer-3-6/Modules/VolumeRendering/?rev=13274

Doxygen documentation: http://www.na-mic.org/Slicer/Documentation/Slicer3-doc/html/classes.html

More Information

Acknowledgment

This work is supported by NA-MIC, NAC, BIRN, NCIGT, and the Slicer Community. See http://www.slicer.org for details. The VolumeRendering module is implemented by Yanling Liu, NCI-Frederick/SAIC-Frederick, Andreas Freudling, Student Intern at SPL, BWH (Ron Kikinis) and Alex Yarmarkovich, Isomics Inc. (Steve Pieper). Some of the transfer functions were contributed by Kitware, Inc. (VolView)".

References

Publications related to this module go here. Links to pdfs would be useful.