2008 IGT Project Week Tractography for Neurosurgery: Workflow feedback

From NAMIC Wiki
Revision as of 14:57, 8 December 2008 by Inorton (talk | contribs)
Jump to: navigation, search
Home < 2008 IGT Project Week Tractography for Neurosurgery: Workflow feedback
Back to 2008_IGT_Project_Week#Projects

Team: Isaiah Norton, Jean-Jacques Lemaire, Steve Pieper, Haiying Liu

Goals:

  1. To present the workflow used by the neurosurgical team to create real-time tractography, and get feedback from Slicer experts on whether the tasks can be achieved in a simpler way.
  2. To present a list of bugs/feature requests that hinder the current neurosurgical use of this application (in order of priority) and find out when the fixes might be available, or if there are workarounds

Approach: Discussions and hands-on demonstrations of how the software is used by the neurosurgery team.

Results (to be completed and presented at the end of the week):

Details:




Workflow outline for scene preparation:

1. Load all data (usually: 1 or 2 structural, DTI, mean fMRI for coreg, and thresholded fMRI)

2. Convert raw DTI volume to tensor

3. Coregister the DTI -> structural, and mean fMRI -> structural (and then apply the transform to the fMRI blobs)

4. Create a simple segmentation of the skull and brain with at least a rough approximation of the cortical surface ** not done, or done outside Slicer at present for most cases, but would like quick/easy way to do routinely.

5. Segment the tumor, ventricles, maybe eyes - several structures to give spatial reference.

6. Create appropriate models from segmentations.

7. Threshold fMRI if necessary; set display parameters (coloring, etc); create model of fMRI activation area.

Then do the various exploratory things: seed tracts based on fMRI, explore the tumor periphery with interactive fiducial tract. seeding.




General questions:

1. Coregistration of DTI data -- is it reasonable to use affine? what about bsplines? or is there something else which will properly deform the tensors. The motivation for this is frequent distortion of the DTI data (which is a different problem, but often main dist. is in areas which are not of primary interest - so it would be great to get a registration of the whole volume).

2. How to apply mask (labelmap, etc) to volume other than in the python shell?

3. What is the best way to coregister mean fMRI?

4. What is the best way to take screen captures?

5. Can we get a demo showing how to use EMSegmentSimple to do a quick cortical surface segmentation?

6. Would it be possible to add windowing and threshold functionality to the slice-viewers, activated by dragging left mouse-click Left/Right and Up/Down? This seems to be a standard function in several radiology viewers - but there might be patent issues.



High Priority

- Fix the fiducial visibility control (several conversations ongoing about this).

- Improve file naming: the save dialog should not allow duplicate filenames (to prevent Model.vtk from being overwritten by Model.vtk).

- "Go to Editor" option in Data module should bring up the *selected* dataset in the Editor. Currently, "Go to Editor" brings to the editor for the datatype (fiducial, transform, volume, etc) but the Editor displays the last used volume, so an extra step is required to get to the right data (this can be especially confusing for new users, and is generally frustrating). "Go to Editor" should tell the appropriate Editor which volume/list to display based on selection in the Data module.

- Change the "Testing: (Tensor Estimation & Glyphs & Tractography Settings)" to apply the ThresholdMask as default option. DONE, need to check in to svn.


Usability/workflow issues and wishlist (some items also in mantis):

- Add simple ruler and angle measurement functionality. Currently, distances can be taken between the first two fiducials in a list, but this is not a full solution. The ideal would be a ruler function in the pop-up editor, on the slice view, or as the default response for left-click-drag in r/y/g slice viewers


- Change default Analyze-format file load option to "Center" (currently must do manually, else the image will be centered on a corner of the cube).


- improved interactive registration: two main points 1) allow movement of one volume against another with mouse and arrow keys for quick alignment. Something like the reformat widget would be great. 2) add option to Transform module to quickly change the overlay mode to something which allows better visual distinction between the overlay volumes (without having to change the individual display properties for both volumes).

- improve the crosshairs functionality. The new crosshair with "Jump to slice" option enabled is GREAT, but update is too slow to be used for precise placement (ie of seedpoints).

- Editor: magic wand, like photoshop. The levelset tool is nice for some applications, but can be difficult to use because it selects everything in the slice at a certain intensity. The magic wand would only select connected pixels at a certain intensity level (this would be very helpful for tumor segmentation in particular: often the tumor will have a similar intensity to skull, so the levelset tool grabs everything).


- Editor: fix or enable the eraser

- Editor: modify the threshold tool to allow thresholding only within a certain region, maybe input labelmap? (would be very helpful for tumor segmentation).

- Editor: add option to select the labelmap to modify. At present, modifying an existing labelmap requires changing the labelmap selected in the slice viewer, or typing directly in the

- Editor: make "Undo" work for Editor (currently spotty).

- Add function to reflect fiducial positions between hemispheres across a user-defined plane. But make sure the fiducials can then be de-linked for precision placement!

- Simple tool for labelmap duplication

- Fix the threshold buttons in Volume display:

- Enable "Undo" for Fiducial lists (currently no effect)