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

From NAMIC Wiki
Jump to: navigation, search
Line 5: Line 5:
  
 
=== VTK Modules ===
 
=== VTK Modules ===
# '''A [http://www.vtk.org/doc/release/5.0/html/a01572.html vtkImageDataReader]:''' to read Volume data as any kind of Volume Data
+
# '''A [http://www.vtk.org/doc/release/5.0/html/a01572.html vtkImageReader]:''' to read Volume data as any kind of Volume Data
# '''A [[vtkCudaDataFilter]]:''' A Filter to convert from the reader output to a cuda-able DataSet
+
# '''A [[vtkCudaImageFilter]]:''' A Filter to convert from the reader output to a cuda-able DataSet
 
# '''A [[vtkCudaDataSet]]:''' A new vtkDataSet where that holds and handles the data transfer from and to one or multiple CUDA devices.
 
# '''A [[vtkCudaDataSet]]:''' A new vtkDataSet where that holds and handles the data transfer from and to one or multiple CUDA devices.
 
# '''A [[vtkCudaVolumeMapper]]:''' A new vtkVolumeMapper that renders the scene using the  
 
# '''A [[vtkCudaVolumeMapper]]:''' A new vtkVolumeMapper that renders the scene using the  

Revision as of 19:46, 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. A vtkImageReader: to read Volume data as any kind of Volume Data
  2. A vtkCudaImageFilter: 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