Difference between revisions of "Documentation/Nightly/Modules/VolumeRendering"

From Slicer Wiki
Jump to: navigation, search
(4.1 -> Nightly)
 
(Replaced content with "<noinclude>{{documentation/versioncheck}} </noinclude> {{documentation/banner | text = [https://slicer.readthedocs.io/en/latest/user_guide/modules/volumerendering.html T...")
Tags: 2017 source edit, Replaced
 
(20 intermediate revisions by 6 users not shown)
Line 1: Line 1:
<!-- ---------------------------- -->
+
<noinclude>{{documentation/versioncheck}}
{{documentation/{{documentation/version}}/module-header}}
+
</noinclude>
<!-- ---------------------------- -->
 
  
<!-- ---------------------------- -->
+
{{documentation/banner
{{documentation/{{documentation/version}}/module-section|Introduction and Acknowledgements}}
+
| text  = [https://slicer.readthedocs.io/en/latest/user_guide/modules/volumerendering.html This page has been moved to read-the-docs.]
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}} }}
+
| background-color = 8FBC8F }}
{{documentation/{{documentation/version}}/module-introduction-row}}
 
{{documentation/{{documentation/version}}/module-acknowledgements}}<br>
 
Information on NA-MIC can be obtained from the [http://www.na-mic.org/ NA-MIC website].<br>
 
Author: Julien Finet, Kitware Inc.<br>
 
Contributor1: Alex Yarmarkovich, Isomics, Inc.<br>
 
Contributor2: Yanling Liu, NCI-Frederick/SAIC-Frederick<br>
 
Contributor3: Andreas Freudling, Intern at SPL, University of Heidelberg (Germany)<br>
 
Contact: Julien Finet, <email>julien.finet@kitware.com</email><br>
 
{{documentation/{{documentation/version}}/module-introduction-row}}
 
{{documentation/{{documentation/version}}/module-introduction-logo-gallery
 
|{{collaborator|logo|kitware}}|{{collaborator|longname|kitware}}
 
|{{collaborator|logo|isomics}}|{{collaborator|longname|isomics}}
 
|{{collaborator|logo|spl}}|{{collaborator|longname|spl}}
 
|{{collaborator|logo|namic}}|{{collaborator|longname|namic}}
 
}}
 
{{documentation/{{documentation/version}}/module-introduction-end}}
 
 
 
<!-- ---------------------------- -->
 
{{documentation/{{documentation/version}}/module-section|Module Description}}
 
{{documentation/{{documentation/version}}/module-description}}
 
Only UNSIGNED CHAR images are supported for now. You can convert your images into UCHAR by using the [[Documentation/{{documentation/version}}/Modules/CastScalarVolume|Cast Scalar Volume]] module.
 
 
 
<!-- ---------------------------- -->
 
{{documentation/{{documentation/version}}/module-section|Use Cases}}
 
<gallery widths="200px" perrow="4">
 
Image:Tumor-Volume-Rendering-PostGad-2011.png|Tumor post pad <br><small>(preset: MR-Default)</small>
 
Image:Modules-VolumeRendering-LabelMap.png|Segmented (labelmap) knee<br><small>(interpolation: nearest neighbor, shading: off)</small>
 
Image:QSlicerVolumeRendering-default.png|Default view of the module.<br><small>Inputs and Advanced... are hidden by default</small>
 
Image:VolumeRenderingSettings.png|Volume Rendering settings<br><small>''Edit -> Application Settings -> Volume Rendering settings''</small>
 
</gallery>
 
 
 
<!-- ---------------------------- -->
 
{{documentation/{{documentation/version}}/module-section|Tutorials}}
 
 
 
* Tutorial about [http://www.slicer.org/slicerWiki/index.php/Slicer3:Volume_Rendering_Tutorials using the volume rendering module].
 
 
 
* Labelmap rendering. A labelmap is a volume, and as such it can be visualized using the Volume Rendering method. It can be an alternative from [[Documentation/{{documentation/version}}/Modules/ModelMaker|creating surface models]] from labelmap.
 
** First you need to load your labelmap.
 
*** Make sure you check the "Labelmap" check box at load time.
 
*** Make sure the labelmap is a Unsigned Char image, not Unsigned/Signed Short, Int or Long. If needed, you can [[Documentation/{{documentation/version}}/Modules/CastScalarVolume| cast]] the labelmap to UCHAR.
 
** Open the Volume Rendering module
 
*** As usual, click on the eye to start the Volume Rendering.
 
** To turn off shading:
 
***go to Advanced../Volume Properties/Advanced group box and uncheck the "Shade" checkbox
 
** To turn on/off a specific label:
 
*** Go to the Advanced.../Volume Properties/Scalar Opacity Mapping group box
 
*** Toggle down the '>>' button to show the Opacity controls.
 
*** Browse each label with the "Point:" spinbox. When the spinbox shows the current label value,
 
*** Set the Opacity spinbox value to 0.0/1.0 to hide/show the label.
 
 
 
<!-- ---------------------------- -->
 
{{documentation/{{documentation/version}}/module-section|Panels and their use}}
 
{{documentation/{{documentation/version}}/module-parametersdescription}}
 
 
 
<!-- ---------------------------- -->
 
{{documentation/{{documentation/version}}/module-section|Similar Modules}}
 
[[Documentation/{{documentation/version}}/Modules/Volumes|Volumes]]
 
 
 
<!-- ---------------------------- -->
 
{{documentation/{{documentation/version}}/module-section|References}}
 
Publications related to this module go here. Links to pdfs would be useful.
 
For extensions: link to the source code repository and additional documentation
 
 
 
 
 
<!-- ---------------------------- -->
 
{{documentation/{{documentation/version}}/module-section|Information for Developers}}
 
===Limitations===
 
*To date, only 1 volume can be visible at a time. This happens because the current volume rendering displayable node is hidden when changing to a different volume node.
 
*Only UNSIGNED CHAR images are supported for now. You can convert your images into UCHAR by using the [[Documentation/{{documentation/version}}/Modules/CastScalarVolume|Cast Scalar Volume]] module.
 
 
 
===Key [[Documentation/{{documentation/version}}/Developers/MRML|nodes]] and classes===
 
* [http://slicer.org/doc/html/classvtkMRMLVolumeRenderingDisplayNode.html vtkMRMLVolumeRenderingDisplayNode]
 
* [http://slicer.org/doc/html/classvtkMRMLScalarVolumeNode.html vtkMRMLScalarVolumeNode]
 
* [http://slicer.org/doc/html/classvtkMRMLVolumePropertyNode.html vtkMRMLVolumePropertyNode]
 
* [http://slicer.org/doc/html/classvtkMRMLVolumeRenderingDisplayableManager.html vtkMRMLVolumeRenderingDisplayableManager]
 
* [http://slicer.org/doc/html/classvtkSlicerVolumeRenderingLogic.html vtkSlicerVolumeRenderingLogic]
 
 
 
===Examples===
 
How to programmatically volume render your volume node:
 
{|width = "100%"
 
! style="border-bottom: 1px solid darkgrey;font-size: 75%;"|C++
 
! style="border-bottom: 1px solid darkgrey;font-size: 75%;"|Python
 
|-
 
| valign="top" |
 
qSlicerAbstractCoreModule* volumeRenderingModule =
 
  qSlicerCoreApplication::application()->moduleManager()->module("VolumeRendering");
 
vtkSlicerVolumesLogic* volumeRenderingLogic =
 
  volumeRenderingModule ? vtkSlicerVolumesLogic::SafeDownCast(volumesModule->logic()) : 0;
 
vtkMRMLVolumeNode* volumeNode = mrmlScene->GetNodeByID('vtkMRMLScalarVolumeNode1');
 
if (volumeRenderingLogic)
 
  {
 
  vtkMRMLVolumeRenderingDisplayNode* displayNode =
 
    volumeRenderingLogic->CreateVolumeRenderingDisplayNode();
 
  volumeRenderingLogic->UpdateDisplayNodeFromVolumeNode(displayNode, volumeNode);
 
  }
 
See [[Documentation/{{documentation/version}}/Developers/Tutorials/CreateLoadableModule#Dependency_between_modules|here]] for more about volume dependency.
 
| valign="top" |
 
>>> logic = slicer.modules.volumerendering.logic()
 
>>> volumeNode = slicer.mrmlScene.GetNodeByID('vtkMRMLScalarVolumeNode1')
 
>>> displayNode = logic.CreateVolumeRenderingDisplayNode()
 
>>> logic.UpdateDisplayNodeFromVolumeNode(displayNode, volumeNode)
 
|}
 
 
 
<!-- ---------------------------- -->
 
{{documentation/{{documentation/version}}/module-footer}}
 
<!-- ---------------------------- -->
 

Latest revision as of 04:48, 19 August 2020

Home < Documentation < Nightly < Modules < VolumeRendering