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

From NAMIC Wiki
Jump to: navigation, search
Line 1: Line 1:
 
= Objectives =
 
= Objectives =
  
== Timeline ==
+
 
{| border="1"
 
|- bgcolor="#abcdef"
 
! From !! To !! Task
 
|-
 
| 12/01/07 || 05/31/08 || Master Thesis Duration
 
|-
 
| 12/01/07 || 12/31/07 || Reading into the Project, Defining Basic Classes
 
|-
 
| 01/01/08 || 01/06/08 || Basic Class Definition Ready for Hands on Meeting
 
|-
 
| 01/07/08 || 01/12/08 || Hands on meeting in Salt Lake City
 
|-
 
| 01/14/08 || 02/01/08 || Further Implementation
 
|}
 
 
== Lookout ==
 
== Lookout ==
 
A Short description of the modules needed to integrate a CUDA based Volume Rendering into VTK
 
A Short description of the modules needed to integrate a CUDA based Volume Rendering into VTK
Line 39: Line 25:
 
##Adapt to input Image
 
##Adapt to input Image
 
#Integration into Slicer
 
#Integration into Slicer
 +
 +
== Timeline ==
 +
{| border="1"
 +
|- bgcolor="#abcdef"
 +
! From !! To !! Task
 +
|-
 +
| 12/01/07 || 05/31/08 || Master Thesis Duration
 +
|-
 +
| 12/01/07 || 12/31/07 || Reading into the Project, Defining Basic Classes
 +
|-
 +
| 01/01/08 || 01/06/08 || Basic Class Definition Ready for Hands on Meeting
 +
|-
 +
| 01/07/08 || 01/12/08 || Hands on meeting in Salt Lake City
 +
|-
 +
| 01/14/08 || 02/01/08 || Further Implementation
 +
|}
  
 
=Resources=
 
=Resources=
 
#For testing purposes: [[Image:Heart256.raw]] Store this file in Slicer3/Modules/VolumeRenderingCuda/Testing/heart256.raw
 
#For testing purposes: [[Image:Heart256.raw]] Store this file in Slicer3/Modules/VolumeRenderingCuda/Testing/heart256.raw
 
#Also checkout the main project page at [[Slicer-IGT/GPU-IGT]]
 
#Also checkout the main project page at [[Slicer-IGT/GPU-IGT]]

Revision as of 16:58, 28 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

Timeline

From To Task
12/01/07 05/31/08 Master Thesis Duration
12/01/07 12/31/07 Reading into the Project, Defining Basic Classes
01/01/08 01/06/08 Basic Class Definition Ready for Hands on Meeting
01/07/08 01/12/08 Hands on meeting in Salt Lake City
01/14/08 02/01/08 Further Implementation

Resources

  1. For testing purposes: File:Heart256.raw Store this file in Slicer3/Modules/VolumeRenderingCuda/Testing/heart256.raw
  2. Also checkout the main project page at Slicer-IGT/GPU-IGT