2012 Summer Project Week:XNATSlicerIntegration
Key Investigators
- Washington University in St. Louis: Daniel Marcus, Sunil Kumar
- Isomics: Steve Pieper
Objective
Allow data exchange between XNAT and Slicer. A detailed objective list can be found XNATSlicerIntegration.
1) Download and view scans (as DICOMS).
2) Create and upload Slicer Scenes to XNAT, using XNAT-downloaded scans OR locally stored files.
3) Any uploaded Slicer scene package that references XNAT data will be linked to the data via a URL. The module will recognize the remote links and conduct the necessary legwork such that when a scene is downloaded, the referenced files will also be downloaded. This involves parsing the mrmls, linking the referenced directories to XNAT URLs, for uploading scenes and vice-versa for downloading scenes.
4) Update Slicer scenes stored in XNAT. The interface will be contained entirely within Slicer. The end-state aims to leverage XNAT's web interface. The current state uses the XNAT REST API to construct a tree view.
5) The widget will also allow for the storage and reference of Slicer-related files such as annotations, fiducials, volumes, etc. In the end-state, the widget will have the capacity to specifically isolate annotation files to be integrated in XNAT search queries.
Approach, Plan
Phase 1: Develop a beta module that fulfills the outlined objectives.
Phase 2: Solidify UI and functionality though user testing.
Phase 3: Port the REST API-based UI into a web-based UI.
Progress
As of June 2012, a beta version of this widget is being tested.
Known Issues
Crashing Frequency During "Update Scene" Workflow (MEDIUM)
The module tends to crash more frequently during the "Update Scene" workflow.
Next step: define a replicatable test.
DICOM Details Popup (NICE TO HAVE)
The XNAT-Slicer module utilizes the DICOM Details Popup (from the DICOM module) after a user downloads a scan folder of DICOM images. While this communication is incredibly useful, we believe a few adjustments to the DICOM module would improve the workflow of the XNAT-Slicer integration.
Issue 1 - Refreshing: After downloading a scan in the XNAT-Slicer module, the "DICOM Details" popup lists the downloaded DICOMs only when the popup hasn't yet been used in the current Slicer session. If the popup has already been used/opened, the "DICOM Details" popup does not list the new set, in spite of being successfully inserted in the cache/database. In this scenario, when the user restarts Slicer and opens the DICOM module, they will find that the "DICOM Details" popup contains the newly downloaded set. This is likely the result of a highly controlled "refresh" condition in reading the updated database. This may be by design, and "fixing" it may be involved.
Next step: Inquire if the popup can be refreshed or a one-off "Details Popup" window can be developed that will allow the developer to control its behavior.
Issue 2 - Customization: If a user downloads a DICOM folder off of XNAT, it would be nice to have the ability to load a customized "DICOM Details" popup where the only DICOM set presented is the one the user just downloaded. Right now, the popup lists all DICOM sets downloaded by the user.
Next Step: inquire what the effort would be to create such a customized popup.
Delivery Mechanism
This work will be delivered to the NA-MIC Kit as a (please select the appropriate options by noting YES against them below)
- Slicer Module - YES