2012 Summer Project Week:XNATSlicerIntegration

From NAMIC Wiki
Jump to: navigation, search
Home < 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 here.

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

Increased Crash Frequency in "Update Scene" Workflow, Save Scene Workflow

The module tends to crash more frequently during the "Update Scene" workflow.
Next step: define a set replicatable tests.

DICOM Details Popup

The XNAT-Slicer module utilizes the DICOM Details Popup (from the DICOM module) after a user loads a scan folder of DICOM images from the XNAT. While this communication is incredibly useful, we believe a few adjustments to the DICOM module would streamline the workflow of XNAT-Slicer.

1 - Refreshing DICOM Details Popup:
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. This is in spite of the downloaded files being successfully inserted in Slicer's SQL DICOM 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 consequently a "fix" by be out of reach.
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.

2 - Customization of DICOM Details Popup:
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.

Scene Packaging:

(Refers to command "slicer.app().applicationLogic().SaveSceneToSlicerDataBundleDirectory()")
1 - Spaces in file names:
Investigate the possibility of eliminating the use of spaces in the packaged filenames. (Ex. "Master Scene View.png" should become "MasterSceneView.png").
2 - More Control Over How Scenes Are Packaged:
Assess to what control is given over how scenes are packaged: compression of DICOMS, file localization (paths), etc.

MRML Adjusting:

1- Altering directory references and volumes:
Parsing the MRML and changing URLs from local references to remote references has some consequences in terms of how volumes are built. It appears that volume names are stored deeper than the MRML file itself. Therefore, changing filenames and filepaths could lead to Slicer not being able to find the volumes. This is evidenced in testing conducted with a potential user -- renamed filenames in the MRML apparently reference volume names not apparent in the MRML itself (likely embedded in the referenced files). Consequently, changing the filenames in the MRML is only one step of many that need to occur in changing the filenames.



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)

  1. Slicer Module - YES

References