Documentation/4.10/Modules/Volumes
From Slicer Wiki
Home < Documentation < 4.10 < Modules < Volumes
For the latest Slicer documentation, visit the read-the-docs. |
Introduction and Acknowledgements
:Title: :Author(s)/Contributor(s): :License: :Acknowledgements:
| |||||||||
|
Module Description
Use Cases
- Lookup tables/Colour palettes
- Information about the color nodes associated to volumes
- Thresholds
- View volume properties such as orientation and scalar type
How to Use
- How to overlay two volumes
- How to load data from a sequence of JPG files
- When loading a 2D image(jpg, png, tiff ...), the window level(colors) might be skewed. To see the original colors switch the Window Level combobox to Manual Min/Max, then set Min to 0 and Max to 255.
- Also use the Spacing field to enter the volumetric pixel sizes of the image data.
- While you can display color volumes as slices, most slicer modules do not work natively with RGB or RGBA data, the new VectorToScalarVolume converter can be used to create a volume for use, for example, with the Editor. (added post-4.1).
Tutorials
- Tutorial about loading and viewing data.
Panels and their use
Parameters:
() * ': ** ': *** ':
List of parameters generated transforming this XML file using this XSL file. To update the URL of the XML file, edit this page. |
![]() |
![]() |
How to
- Convert scalar volume to labelmap
- Load it as labelmap in the first place: In the 'Add data into the scene' dialog check 'Show Options' and enable the option named 'LabelMap'. When OK is clicked, the volume is loaded as a labelmap.
- Convert to labelmap using Cast Scalar Volume module. Select scalar volume as input, and create output by selecting 'Create new LabelMapVolume [as...]'. Output type is typically UnsignedChar.
Similar Modules
- Each displayable type has a similar visualization control interface (for example, the Models, Tractography, Annotations...):
- Models: control the models/surfaces
- Annotations: control the annotations
- Volume Rendering: volume render in the 3D view(s).
- Extensions
- Image Maker: create a volume from scratch.
References
N/A
Information for Developers
Section under construction. |
How to create a volume node from scratch?
You need to create a vtkImageData, a vtkMRMLScalarVolumeNode and a vtkMRMLScalarVolumeDisplayNode.
In C++:
vtkNew<vtkImageData> imageData; imageData->SetDimensions(10,10,10); // image size imageData->AllocateScalars(VTK_UNSIGNED_CHAR, 1); // image type and number of components // initialize the pixels here vtkNew<vtkMRMLScalarVolumeNode> volumeNode; volumeNode->SetAndObserveImageData(imageData); volumeNode->SetOrigin( -10., -10., -10.); volumeNode->SetSpacing( 2., 2., 2. ); mrmlScene->AddNode( volumeNode.GetPointer() ); volumeNode->CreateDefaultDisplayNodes()
In Python:
imageData = vtk.vtkImageData() imageData.SetDimensions(10,10,10) # image size imageData.AllocateScalars(vtk.VTK_UNSIGNED_CHAR, 1) # image type and number of components # initialize the pixels here volumeNode = slicer.vtkMRMLScalarVolumeNode() volumeNode.SetAndObserveImageData(imageData) volumeNode = slicer.mrmlScene.AddNode(volumeNode) volumeNode.CreateDefaultDisplayNodes()
Note that the origin and spacing must be set on the volume node instead of the image data. The Image Maker extension module creates a volume from scratch.
IO
Here is the list of supported file formats.
Important classes:
qSlicerVolumesIO.[h/cxx]] vtkSlicerVolumesLogic.[h/cxx] vtkMRMLVolumeArchetypeStorageNode.[h/cxx]
The following options can be passed to load volumes programmatically:
Option | Type | Default | Description |
---|---|---|---|
labelmap | bool | false | Mark the volume a label map |
center | bool | false | Discard file origin information and move the center of the volume in 0,0,0 |
singleFile | bool | false | Load the file as part of a series of 2D files that represent a 3D volume |
autoWindowLevel | bool | true | Automatically compute the window level based on the volume pixel intensities |
discardOrientation | bool | false | Discard file orientation information |