Slicer3:Volume Rendering With Cuda

From NAMIC Wiki
Revision as of 19:46, 27 December 2007 by Bensch (talk | contribs) (→‎VTK Modules)
Jump to: navigation, search
Home < Slicer3:Volume Rendering With Cuda

Objectives

Lookout

A Short description of the modules needed to integrate a CUDA based Volume Rendering into VTK

VTK Modules

  1. A vtkImageDataReader: to read Volume data as any kind of Volume Data
  2. A vtkCudaDataFilter: A Filter to convert from the reader output to a cuda-able DataSet
  3. A vtkCudaDataSet: A new vtkDataSet where that holds and handles the data transfer from and to one or multiple CUDA devices.
  4. A vtkCudaVolumeMapper: A new vtkVolumeMapper that renders the scene using the
    1. lighting model
    2. a prepared Z buffer
    3. a camera position
    4. A [vtkTexture] and a Plane to render the result to
  5. An actor that places the volume into the scene
  6. Chain this pipeline together and attach it to a rendering window.

Tasks

  1. Proof of concept
  2. Integrate into VTK
    1. Render the output from the code of Nicholas volume render sample into vtkImageViewer
    2. Adapt to Z-buffer
    3. Adapt lighting model
    4. Adapt to input Image
  3. Integration into Slicer

Resources

  1. For testing purposes: File:Heart256.raw Store this file in Slicer3/Modules/VolumeRenderingCuda/Testing/heart256.raw