2012 Project Week:4DImageSlicer4
Key Investigators
- BWH: Andrey Fedorov
- Isomics: Steve Pieper
- BWH: Junichi Tokuda
- MGH: Jayashree Kalpathy-Cramer
- GE: Emma Zhu
- GE: Jim Miller
Objective
To discuss the architecture and work on implementing support for 4d images in Slicer4.
Our primary use case is to provide support for IO and visualization of DCE MRI, with the application specifically to prostate imaging.
Approach, Plan
Discuss the architecture and implementation approach, specifically should address:
- import
- visualization
- export/serialization
- user experience
- interoperability with the ITK-based analysis tools
Progress
Initial experiments showed the feasibility of the proposed approach:
- DicomToNrrdConverer works for DCE data
- B-values field can be used to store timestamps
Questions:
- are VTK plotting capabilities as in RT module available from python
- a ChartViewer (like a SliceView or 3D View that can be packed in a layout) is under development - Jim
- python vs c++ for the DCE GUI module
- DWI volume has B-values vector, but only the last B-value is saved in the NRRD volume by Slicer -- is this expected?
- what should be included in the DCE GUI module? plan: simplified version of the Volumes DWI panel, adjusted for DCE needs
Delivery Mechanism
This work will be delivered to the NA-MIC Kit as a combination of core functionality and customized modules of 3D Slicer v.4
Meeting notes
Monday discussion: Andrey, Junichi, Jayashree, Steve
Implementation plan we agreed upon will include several separate components:
- Importing DCE into Slicer:
- Develop a custom DCE import wizard. The user will specify the directory that contains the DICOM series. The module will internally use DicomToNrrdConverter to create a NRRD volume from a DICOM DCE series, and also will parse the DICOM files to get the timestamps, FA and TR acquisition parameters. It will create a custom time series MRML node (TS-node) that will reference a DWI node storing the data (that one will be invisible to the user from Slicer GUI). TS-node will also keep a pointer to a value pair collection that will keep timestamps, TR and FA.
- Data interaction
- Develop custom DCE exploration module. This will provide functionality similar to Volumes module but scroll over timestamps. Will also potentially allow to create plots and probe time series data.
- Serialization
- Several mechanisms will be used:
- DWI NRRD + DWI storage node to save/restore the data content; dictionary will be saved in the MRML scene as value pairs; DWI NRRD raw part will also be referenced by a DCE-specific NRRD header, which would be readable by conventional ITK readers to support interoperability with other tools.
- Several mechanisms will be used:
Action items:
- Andrey: mock design of TS-node, individual modules. MRML nodes -- C, GUI/interaction -- python (?).
- Jayashree: test whether DicomToNrrdConverter can correctly handle Siemens DCE/DSC MRI.
Pre-meeting notes
Our initial plan was to follow on the steps of the DWI support already present in Slicer4, as discussed below.
Considering input from Steve, the ambitions were down-scaled.
Approaches to consider:
- use DicomToNrrdConverter to make a fake DWI from a DCE series
- use custom module to inject timestamps into the DWI volume node, as if these were B-values. This way we can store timestamps together with the data.
- provide custom GUI perhaps using a specialized module that would reuse DWI display node for vosualization, but will add
- time scroller instead of the B-value scroller
- plotting area for visualizing time curves
- support for interactive selection of spatial location using mouse/keyboard or fiducial
- Port the 4D Image and Analysis modules from Slicer3
We should consider the following aspects of the architecture and implementation:
- IO
- develop a customized NRRD format that would store time stamps for the individual frames. There is no currently such format. There is similar precedent in DicomToNrrdConverter and DWI support.
- introduce new module, similar to DicomToNrrdConverter (or an option of operation for the DicomToNrrdConverter?) to convert a DICOM study into the customized format
- introduce new storage nodes into Slicer4 that would enable IO of the customized NRRD format
- discuss how the 4D MRI node would be related to the existing hierarchy of the volumes in Slicer -- should DWI and 4D MRI be siblings?
- Visualization
- anecdotally, very efficient visualization of 4D MRI studies is already possible by reading them as a DWI volume following DicomToNrrd module conversion.
- an idea is to provide a custom GUI panel in the Volumes module. This would be similar to DWI visualization panel, but would include a field for displaying time stamps instead of b-values.
- management
- organize the time points in an hierarchy?
- tool to add, remove time points
- tool to provide a time range (start, end) instead of the entire range