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

From NAMIC Wiki
Jump to: navigation, search
m (Text replacement - "http://www.slicer.org/slicerWiki/index.php/" to "https://www.slicer.org/wiki/")
 
(68 intermediate revisions by 3 users not shown)
Line 1: Line 1:
= Objectives =
+
<big>'''Note:''' We are migrating this content to the slicer.org domain - <font color="orange">The newer page is [https://www.slicer.org/wiki/Slicer3:Volume_Rendering_With_Cuda  here]</font></big>
 
 
 
 
== Lookout ==
 
A Short description of the modules needed to integrate a CUDA based Volume Rendering into VTK
 
 
 
=== VTK Modules and Pipeline ===
 
These are the modules that will be created in order to integrate a Cuda based Volume Rendering into Slicer3
 
# '''A [http://www.vtk.org/doc/release/5.0/html/a01572.html vtkImageReader]:''' to read Volume data as any kind of Volume Data
 
# '''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 [[vtkCudaVolumeMapper]]:''' A new vtkVolumeMapper that renders the scene using the
 
## lighting model
 
## a prepared Z buffer
 
## a camera position
 
## A [[http://www.vtk.org/doc/release/5.0/html/a02096.html 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.
 
 
 
In the following image the pipeline is displayed together with the connections from the VTK, Slicer3 and CUDA frameworks.
 
[[Image:VtkCudaVolumeRenderingPipeline.png]]
 
 
 
Description:
 
* The '''Fat''' line displays the pipeline flow.
 
* Green colored fields are classes from the Slicer3 or vtk implementation
 
* Red colored fields are CUDA and hardware specific parts
 
* Blue colored fields are specially implemented parts for the communication of cuda and vtk and the volume rendering algorithms.
 
 
 
== Tasks ==
 
#Proof of concept
 
#Integrate into VTK
 
##Render the output from the code of Nicholas [http://svn.orxonox.net/subprojects/volrenSample volume render sample] into vtkImageViewer
 
##Adapt to Z-buffer
 
##Adapt lighting model
 
##Adapt to input Image
 
#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=
 
#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]]
 

Latest revision as of 18:07, 10 July 2017

Home < Slicer3:Volume Rendering With Cuda

Note: We are migrating this content to the slicer.org domain - The newer page is here