| WARNING: This module is Work in Progress, which means:
Introduction and Acknowledgements
This work is supported by NA-MIC, NAC, NCIGT, and the Slicer Community. This work is partially supported by the following grants: P41EB015898, P41RR019703, R01CA111288 and U01CA151261.
This module provides support for exploring multivolume (multiframe) data.
Most frequently used for these scenarios:
- visualization of a DICOM dataset that contains multiple frames that can be separated based on some tag (e.g., DCE MRI data, where individual temporally resolved frames are identified by Trigger Time tag (0018,1060)
- visualization of multiple frames defined in the same coordinate frame, saved as individual volumes in NRRD, NIfTI, or any other image format supported by 3D Slicer
- exploration of the multivolume data (cine mode visualization, plotting, volume rendering)
- Screencast tutorial (note that the module is located in Modules -> Work in progress -> MultiVolume Support, not in Modules -> MultiVolume Support, as shown in the video)
- Sample datasets are available:
Panels and their use
MultiVolume data is represented in this module using two components:
- MultiVolume node: this is the node you select when you import the dataset using MultiVolumeImporter module
- DisplayNode: this is the node responsible for visualization and storage of the actual image data. The name of that latter node is assigned based on the type of data you are importing. For example, if you import "4D DCE" dataset, it will be called "DCEDisplayNode". This is the node you need to choose in slice viewers to see the multivolume dataset.
Before multivolume data can be viewed/explored, it has to be loaded using MultVolumeImporter module.
- Development of this module was initiated at the 2012 NA-MIC Project week at SLC (see http://wiki.na-mic.org/Wiki/index.php/2012_Project_Week:4DImageSlicer4)
Information for Developers
This module is an external Slicer module. The source code is available on Github here: https://github.com/fedorov/MultiVolumeExplorer
Known issues that won't be resolved
- bug 1841: multivolumes that contain less than 7 frames will not be saved correctly and the scene containing such objects will not be loaded correctly by Slicer (limitation of the NRRD IO for DWI)
- assign correctly title and points for the X axis
- review the comments from JC/J2 on github and fix the code
- bug: repeated loading of a scene that contains a MV node causes crash in onInputChanged()
- improve error reporting!
- look into flickering issue of vtkChart
- improve documentation -- DONE
Features to be implemented
- integrate MV importer as a DICOM module plugin
- allow the user to speed-up or slow-down the playback, and also turn off "loop"
- report to the user the actual, measured, frame rate
- add an option to report curves in relative SI change in addition to absolute
Features under consideration
- can we use chart viewer for interactive plotting? -- Discussed with Jim, speedup is possible, but not a priority right now
- should use color names for the legend in the chart viewer -- Will be available as general feature of Charts (Jim)
- interactive update of the active frame based on the point selected in the chart viewer
- should DWI node be a child under the MV hierarchy?
- add GUI elements to update the current frame at the exact time intervals specified in multivolume. If the intervals are non-uniform, I am not sure I can use the timer anymore, so this would require some extra thought.
- import multivolumes from ITK 4d images