Modules:Volumes:Diffusion Editor-Documentation

From Slicer Wiki
Jump to: navigation, search
Home < Modules:Volumes:Diffusion Editor-Documentation

Return to Slicer Documentation


Diffusion Editor

Diffusion Editor, showing tracts and glyphs on helix example
tracts and glyphs view
tracts and glyphs view - +90° rotation of measurement frame

General Information

Module Type & Category

Type: Interactive

Category: Diffusion Imaging

Authors, Collaborators & Contact

  • Author: Kerstin Kessel
  • Supervisor: Steve Pieper, Ron Kikinis

Module Description

The Diffusion Editor is a 3D Slicer module that allows modifing parameters (gradients, bvalues, measurement frame) of DWI data and provides a quick way to

The goal of this project is to add a Diffusion Editor for DWI data in the Volumes module of Slicer3. As the documentation of gradients in dicom data is not standardized, MRI scanners handle gradients/bValues differently. Because of that there is a big need to add/modify gradients manually.


The current version of the Diffusion Editor can be used to:

  • For DWI
    • edit gradients manually or load existing gradients from file (.txt or .nhdr).
    • edit the measurement frame manually or simply rotate/swap/negate columns by selecting them.
    • test the parameters by estimating a tensor and displaying glyphs and tracts.
  • For DTI
    • edit the measurement frame as described above.
    • test by displaying glyphs and tracts.

Usage

Examples & Tutorials

TODO: Tutorials; add ExampleData

title used data short description
Load ___ Load a DWI dicom data set in Slicer.
Measurement frame ___ Change the measurement frame by rotating, swapping, negating or changing to identity.
Gradients ___ Change gradients manually or load them from a file.
Testing ___ Run tensor estimation and show glyphs and tracts;

Run second estimation with 90°rotation and switch between both tensors and see the impact of that change.

Quick Tour of Features and Use

overview
  • Measurement frame:
  1. The determinant of the measurement frame has to be 1. This is checked by the editor.
  2. Negate: Select the columns you want to negate.
  3. Swap: Select two columns you want to swap.
  4. Rotate: Select one column you want to rotate by an angle you can choose from a given set of values or set yourself.
  5. Identity: Set the measurement frame to the identity matrix.
  6. Set your own values.
  • Gradients frame:
  1. If the active volume is a DWI the editor will put the gradients in the text field; otherwise this frame is disabled.
  2. You can copy/paste your own gradients in the text field or change them manually.
  3. You can load gradients from a text file or .nhdr file. For the .txt file the format of gradients is easy, it can contain only values ( see example data ).
  • Undo/Redo/Restore:
  1. Undo: Undo the last change of measurement/gradient values.
  2. Redo: Redo the last change of measurement/gradient values.
  3. Restore: All parameters are restored to original.

NOTE: You lose all previous changes when a new active volume is loaded or selected.

  • Testing frame:
  1. Run tensor estimation. The new tensor node shows up in the DTI selector.
  2. Select a DTI node from the current mrml scene and
    1. view glyphs. Select the planes on which you want to see glyphs and adjust the spacing.
    2. view tracts with Tractography Fiducial Seeding. Add some fiducials and choose the fiducial list in the selector.

Development

Status / Implementation Progress

The editor is now successfully integrated in the Volumes module of the trunk version of Slicer3.

  • measurement frame (gui/load/change/save): 100%
  • gradients (gui/load/change/save): 100%
  • undo/redo/restore mechanism: 100%
  • testing frame: 90%
    • tensor estimation with existing clm: 100%
    • glyphs view in all three planes with the possibility to change spacing: 90%
    • tractography fiducial seeding: 100%
  • tests: ctest, ... 50%
  • documentation, tutorials (videos): 40%
  • writing master thesis: 5% :-)

Known bugs

Follow this link to the Slicer3 bug tracker to see known bugs, or to report a new one. Please select the usability issue category when browsing or contributing:

http://na-mic.org/Mantis/main_page.php

Source code & documentation

Source code is available here:

http://www.na-mic.org/ViewVC/index.cgi/trunk/Modules/Volumes/vtkSlicerDiffusionEditorWidget.cxx http://www.na-mic.org/ViewVC/index.cgi/trunk/Modules/Volumes/vtkSlicerDiffusionEditorWidget.h

http://www.na-mic.org/ViewVC/index.cgi/trunk/Modules/Volumes/vtkSlicerDiffusionEditorLogic.cxx http://www.na-mic.org/ViewVC/index.cgi/trunk/Modules/Volumes/vtkSlicerDiffusionEditorLogic.h

http://www.na-mic.org/ViewVC/index.cgi/trunk/Modules/Volumes/vtkSlicerMeasurementFrameWidget.cxx http://www.na-mic.org/ViewVC/index.cgi/trunk/Modules/Volumes/vtkSlicerMeasurementFrameWidget.h

http://www.na-mic.org/ViewVC/index.cgi/trunk/Modules/Volumes/vtkSlicerGradientsWidget.cxx http://www.na-mic.org/ViewVC/index.cgi/trunk/Modules/Volumes/vtkSlicerGradientsWidget.h

http://www.na-mic.org/ViewVC/index.cgi/trunk/Modules/Volumes/vtkSlicerDWITestingWidget.cxx http://www.na-mic.org/ViewVC/index.cgi/trunk/Modules/Volumes/vtkSlicerDWITestingWidget.h

Links to documentation generated by doxygen:

http://www.na-mic.org/Slicer/Documentation/Slicer3/html/

More Information

Acknowledgement

This research project was part of a Master thesis (Diplomarbeit) in cooperation of the faculty of Medical Informatics, University of Heidelberg/Germany and the Surgical Planning Lab. It was supported by a grant of the Lions Club Heilbronn/Franken.

References

TODO: add link to thesis, papers...

Nrrd format: http://wiki.na-mic.org/Wiki/index.php/NAMIC_Wiki:DTI:Nrrd_format

DTMRI: http://wiki.na-mic.org/Wiki/index.php/Slicer3:DTMRI

DICOM for DWI and DTI : http://wiki.na-mic.org/Wiki/index.php/NAMIC_Wiki:DTI:DICOM_for_DWI_and_DTI