Difference between revisions of "Documentation/4.1/Modules/MultiVolumeExplorer"
m (Text replacement - "http://wiki.slicer.org/slicerWiki/images/" to "http://www.slicer.org/w/img_auth.php/") |
|||
(40 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
− | {{documentation/ | + | <noinclude>{{documentation/versioncheck}}</noinclude> |
− | + | {{ambox | |
− | [[ | + | | type = protection |
− | + | | image = [[File:InProgress.png|40px|alt=Work in progress]] | |
− | + | | text = WARNING: This module is Work in Progress, which means: | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* the functionality provided by this module may change drastically in the future releases of 3D Slicer | * the functionality provided by this module may change drastically in the future releases of 3D Slicer | ||
* the scenes containing data types specific to this module may not be readable by the future versions of Slicer | * the scenes containing data types specific to this module may not be readable by the future versions of Slicer | ||
Line 15: | Line 9: | ||
* some functionality may not work as intended | * some functionality may not work as intended | ||
* testing and documentation is limited | * testing and documentation is limited | ||
− | + | }} | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<!-- ---------------------------- --> | <!-- ---------------------------- --> | ||
Line 49: | Line 19: | ||
{{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}} | {{documentation/{{documentation/version}}/module-introduction-start|{{documentation/modulename}}}} | ||
{{documentation/{{documentation/version}}/module-introduction-row}} | {{documentation/{{documentation/version}}/module-introduction-row}} | ||
− | This work is supported by NA-MIC, NAC, NCIGT, and the Slicer Community. This work is partially supported by | + | 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.<br> |
Author: Andrey Fedorov, Jean-Cristophe Fillion Robin, Julien Finet, Steve Pieper, Ron Kikinis<br> | Author: Andrey Fedorov, Jean-Cristophe Fillion Robin, Julien Finet, Steve Pieper, Ron Kikinis<br> | ||
Contact: Andrey Fedorov <email>fedorov@bwh.harvard.edu</email> <br> | Contact: Andrey Fedorov <email>fedorov@bwh.harvard.edu</email> <br> | ||
Line 58: | Line 28: | ||
|{{collaborator|logo|spl}}|{{collaborator|longname|spl}} | |{{collaborator|logo|spl}}|{{collaborator|longname|spl}} | ||
|{{collaborator|logo|kitware}}|{{collaborator|longname|kitware}} | |{{collaborator|logo|kitware}}|{{collaborator|longname|kitware}} | ||
+ | |{{collaborator|logo|nac}}|{{collaborator|longname|nac}} | ||
}} | }} | ||
{{documentation/{{documentation/version}}/module-introduction-end}} | {{documentation/{{documentation/version}}/module-introduction-end}} | ||
Line 70: | Line 41: | ||
{{documentation/{{documentation/version}}/module-section|Use Cases}} | {{documentation/{{documentation/version}}/module-section|Use Cases}} | ||
Most frequently used for these scenarios: | Most frequently used for these scenarios: | ||
− | * visualization of DCE MRI | + | * 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 [[Documentation/4.1/SlicerApplication/SupportedDataFormat|image format supported by 3D Slicer]] | ||
+ | * exploration of the multivolume data (cine mode visualization, plotting, volume rendering) | ||
+ | |||
+ | [[Image:Screen_Shot_2012-02-23_at_7.53.51_AM.png|400px|thumb|Screenshot of charts derived from the sample data set. The curves represent average signal intensity in the ROI's with corresponding colors, which were drawn in the editor. Please note the arterial input function in red.]] | ||
<!-- ---------------------------- --> | <!-- ---------------------------- --> | ||
{{documentation/{{documentation/version}}/module-section|Tutorials}} | {{documentation/{{documentation/version}}/module-section|Tutorials}} | ||
+ | * [http://www.youtube.com/watch?v=7zFWRzC31o4 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: | ||
+ | ** [http://www.slicer.org/w/img_auth.php/5/56/Case1_DCE.tgz anonymized prostate DCE MRI DICOM series] | ||
+ | ** [[File:Cardiac_ECGg_CT.tgz]] (ECG-gated contrast-enhanced cardiac CT) (use "User-defined non-DICOM" parameter option to load it into MultiVolumeImporter). Short [[media:BeatingHeart.mov|movie]] | ||
<!-- ---------------------------- --> | <!-- ---------------------------- --> | ||
{{documentation/{{documentation/version}}/module-section|Panels and their use}} | {{documentation/{{documentation/version}}/module-section|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 [[Documentation/4.1/Modules/MultiVolumeImporter|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. | ||
+ | |||
+ | {|style="width: 100%" | ||
+ | | | ||
+ | * '''Input''': select the MultiVolume node you would like to explore | ||
+ | * '''Frame control''' | ||
+ | ** ''Current frame number'': you can use the slider or spin-box to select the currently shown frame. ''Play'' button can be used to activate 'cine' view mode, with the frames being shown in a continuous mode. | ||
+ | ** ''Current frame copy'': you can create and select a conventional scalar volume node in this selector. If ''Enable current frame copying'' button is pressed, each time the currently shown frame is updated, it will be copied to the volume selected. This is useful in situations when you want to do processing of an individual frame (e.g., segmentation), or if you want to show volume rendering of the currently active frame. | ||
+ | * '''Plotting''': there are two modes of plotting that are supported by the module: | ||
+ | ** ''Interactive plotting'': this mode of plotting is enabled by default and is facilitated by the chart area located in the ''Plotting'' panel. When enabled, the chart will display the intensity values at the spatial location defined by the current position of the mouse pointer. This mode can be disable from the ''Plotting'' GUI panel. | ||
+ | ** ''Static plotting'': This mode of plotting is enabled by the [[Documentation/4.1/SlicerApplication/MainApplicationGUI#Chart_Viewers | Charts]] infrastructure of Slicer, which is exposed in any of the ''Quantitive layouts''. To use this mode, follow these steps: | ||
+ | **# Extract a representative frame from your multivolume dataset, as discussed above. | ||
+ | **# Use the [[Documentation/4.1/Modules/Editor|Editor]] module to create labels for the regions of interest. | ||
+ | **# Select the prepared label volume in the ''Probed label volume'' selector in the ''Plotting'' panel. The ''Charts'' viewer in the Slicer Quantitative layout will be updated with the average intensity values for each of the contoured ROIs. The colors of the plots will be the same as the colors of ROI labels. | ||
+ | | | ||
+ | | align="right" | | ||
+ | | | ||
+ | [[Image:Slicer4-MultiVolumeExplorer_panel1.png|thumb|400px|Settings panel and interactive plotting chart]] | ||
+ | |} | ||
+ | |||
+ | {| | ||
+ | | | ||
+ | |align="center"| | ||
+ | [[Image:Slicer4-MultiVolumeExplorer_static_plotting.png|thumb|800px|Illustration of the static plotting from the explorer module. Note the label overlay in slice viewer with the ROIs corresponding to the femoral artery and an area in the prostate peripheral zone (blue arrow). The label corresponds to the segmentation done for the extracted volume of the 17th frame of the multivolume (green arrow). The same label is selected in the ''Plotting'' panel of the module. The corresponding colors are assigned to the plots in the Chart viewer in the layout (yellow arrow).]] | ||
+ | | | ||
+ | |} | ||
<!-- ---------------------------- --> | <!-- ---------------------------- --> | ||
− | {{documentation/{{documentation/version}}/module-section| | + | {{documentation/{{documentation/version}}/module-section|Related Modules}} |
− | + | Before multivolume data can be viewed/explored, it has to be loaded using [[Documentation/4.1/Modules/MultiVolumeImporter|MultVolumeImporter]] module. | |
<!-- ---------------------------- --> | <!-- ---------------------------- --> | ||
{{documentation/{{documentation/version}}/module-section|References}} | {{documentation/{{documentation/version}}/module-section|References}} | ||
+ | * 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) | ||
<!-- ---------------------------- --> | <!-- ---------------------------- --> | ||
{{documentation/{{documentation/version}}/module-section|Information for Developers}} | {{documentation/{{documentation/version}}/module-section|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== | ||
+ | * [http://www.na-mic.org/Bug/view.php?id=1841 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) | ||
+ | |||
+ | ==Unresolved issues== | ||
+ | * 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 | ||
+ | |||
Latest revision as of 12:31, 27 November 2019
Home < Documentation < 4.1 < Modules < MultiVolumeExplorer
For the latest Slicer documentation, visit the read-the-docs. |
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. | |||||||||||
|
Module Description
This module provides support for exploring multivolume (multiframe) data.
Use Cases
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)
Tutorials
- 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:
- anonymized prostate DCE MRI DICOM series
- File:Cardiac ECGg CT.tgz (ECG-gated contrast-enhanced cardiac CT) (use "User-defined non-DICOM" parameter option to load it into MultiVolumeImporter). Short movie
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.
|
Related Modules
Before multivolume data can be viewed/explored, it has to be loaded using MultVolumeImporter module.
References
- 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)
Unresolved issues
- 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