Difference between revisions of "Slicer3:Volume Rendering"

From NAMIC Wiki
Jump to: navigation, search
m (Text replacement - "http://www.slicer.org/slicerWiki/index.php/" to "https://www.slicer.org/wiki/")
 
(29 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Overview ==
+
<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  here]</font></big>
The topic of the new Volume Rendering Module is the integration of hardware accelerated volume rendering into the Slicer 3 environment. There is a special focus of achieving interactive update rates, easy user interaction (e.g. by offering several presets) and the use of label maps. Goals also include incremental updates (if module is used with Editor module), saving and loading of the configuration etc.
 
 
 
==How to compile the module==
 
*Switch the compile option "VolumeRenderingModule" on (in cmake)
 
*Make sure that you recompile "Slicer3.cxx"
 
*Compile
 
<br/>
 
*Note: if you also want to us the latest labelmap support add the following steps before compiling
 
**Switch the compile option "VR_Labelmaps" on (in cmake)
 
**Make sure that you recompile "vtkSlicerVolumeRenderingModuleGui.cxx"
 
 
 
==Current Features==
 
*Visualize grayscale volumes
 
*Create Visualization Parameter sets, load and save them
 
*Use preset Visualization Parameter sets and link already created Parameter sets with current Volume
 
*Edit parameters like shading; color , opacity and gradient transfer functions
 
*Interactive render rates, achieved through 3 step rendering
 
*Select different qualities of rendering and performance levels of rendering
 
*Receive exact progress about rendering
 
 
 
==Future Features==
 
*Render labelmaps properly
 
 
 
==How to use the module==
 
 
 
==Latest results and limitations==
 
===Description===
 
*Loading changing of MRML-Nodes is possible during runtime
 
*At the moment no removing of MRML-Nodes possible
 
*Change properties (Shading, Interpolation, mapping)
 
*Calculate transfer functions automatically
 
*Performance:
 
**Interrupting is possible in render window.
 
**Interrupting somewhere else requires platform dependent coding (q.v. problems)
 
*Cropping is possible
 
 
 
===Screenshots===
 
[[Image:VolumeRendering.jpg|thumb|500px|center|volume rendered label map of the tutorial dataset]]
 
[[Image:VolumeRenderingWithShading.jpg|thumb|500px|center|volume rendered label map of the tutorial dataset, shading enabled]]
 
[[Image:VolumeRenderingBoneDetection.png|thumb|800px|center|shading enabled, linear interpolation, automatich mapping for bones]]
 
 
 
==next Tasks==
 
 
 
== Goals ==
 
 
 
Volume rendering presets :
 
* MIP (Maximum Intensity Projection)
 
**[http://en.wikipedia.org/wiki/Maximum_intensity_projection Wikipedia]
 
**[http://www.vtk.org/doc/release/5.0/html/a01399.html vtkFixedPointVolumeRayCastMapper Class Reference]
 
* CT Bone and vessel
 
**Use Hounsfield units
 
***Bone +400->+1000
 
***Soft tissue +40->+80
 
***Water 0
 
***Fat -60->-100
 
***Lung -400->-600
 
***Air -1000
 
**Problem with Vessels: Different contrast mediums?!
 
* T1 MR Air/skin interface
 
* Label map per-label object rendering
 
 
 
Slicer3 module interface:
 
* Select from loaded volumes
 
* Specify preset transfer functions or use KWWidgets tools
 
 
 
Slicer3 internals:
 
* Correct coordinates including transforms
 
* Level of detail rendering
 
* Proper integration with surface rendering
 
 
 
Different Volume Rendering Algorithms
 
*RayCast
 
*2D Texture Mapping
 
*3D Texture Mapping
 
*...
 
 
 
== Wish List ==
 
 
 
 
 
* 2D Transfer functions - may require specialized opengl code integrated with VTK.  Talk with Gordon about latest work from Utah.
 
 
 
* use glTexSubImage3D so that incremental changes to the volume can be quickly reflected
 
 
 
* use distance maps (inlcude several components) in rendering
 
 
 
==Glossar==
 
*Visualization Parameter Set: A Visualization Parameter is the combination of different mapping options. This includes color, opacity, gradient transfer functions as well as the type of interpolation (nearest neighbor or linear) and shading.
 
 
 
*
 

Latest revision as of 18:07, 10 July 2017

Home < Slicer3:Volume Rendering

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