Difference between revisions of "Slicer3:Volume Rendering With Cuda"

From NAMIC Wiki
Jump to: navigation, search
Line 1: Line 1:
 
= Objectives =
 
= Objectives =
 +
 +
== Lookout ==
 +
A Short description of the modules needed to integrate a CUDA based Volume Rendering into VTK
 +
 +
=== VTK Modules ===
 +
# An imageDataReader to read Volume data as any kind of Volume Data
 +
# A Filter converting from the reader output to a cuda-able DataSet
 +
# A new vtkDataSet call it vtkCudaDataSet, where I will put my Volume Data used by the _init(), _loadData() and _delete() functions
 +
# A new vtkVolumeMapper that renders the scene using the lighting model, a prepared Z buffer, a camera position and the before mentioned DataSet to produce a image using the _doRender() function and the _getResult() function to acquire the produced data.
 +
## A vtkTexture and a Plane to render the result to
 +
# An actor that places the volume into the scene
 +
# Chain this pipeline together and attach it to a rendering window.
 +
  
 
== Tasks ==
 
== Tasks ==

Revision as of 19:27, 27 December 2007

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. An imageDataReader to read Volume data as any kind of Volume Data
  2. A Filter converting from the reader output to a cuda-able DataSet
  3. A new vtkDataSet call it vtkCudaDataSet, where I will put my Volume Data used by the _init(), _loadData() and _delete() functions
  4. A new vtkVolumeMapper that renders the scene using the lighting model, a prepared Z buffer, a camera position and the before mentioned DataSet to produce a image using the _doRender() function and the _getResult() function to acquire the produced data.
    1. 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