Module Type & Category
Category: Diffusion Imaging
Authors, Collaborators & Contact
- Author: Kerstin Kessel
- Contributor: Steve Pieper
- Contact: Steve Pieper, pieper at bwh.harvard.edu
As the documentation of acquisition parameters in dicom data is not standardized, MRI scanners (Siemens, GE) handle gradients/bValues/measurement frame differently in their dicom headers. Because of that there is a big need to add/modify them manually.
The Diffusion Editor is a 3D Slicer module, which allows modifying parameters (gradients, bValues, measurement frame) of DWI data and provides a quick way to interpret them. For that it estimates a tensor and shows glyphs and tracts for visual exploration.
Use Cases, Examples
This module is especially appropriate for these use cases:
- Use Case 1: Edit gradients manually or load existing gradients from file (.txt or .nhdr).
- Use Case 2: Edit the measurement frame manually or simply rotate/swap/invert columns by selecting them.
- Use Case 3: Test the parameters by estimating a tensor and displaying glyphs and tracts.
- Use Case 2: Edit the measurement frame as described above.
- Use Case 3: Test the parameters by displaying glyphs and tracts.
- Download Slicer. The most recent stable Slicer version can be found here. Or load Slicer's latest snapshot.
- You can also use SVN to checkout the trunk of the current version of Slicer. See here for more instructions on how to build Slicer.
- Download example data: DiffusionEditor_ExampleData.zip and unzip it.
To start a tutorial video simply click on the link in the table.
|Load DICOM||Load a DWI dicom data set in Slicer.|
|Edit gradients||Change gradients manually and load them from a file. Save your changes afterwards.|
|Edit measurement frame||Change the measurement frame by swapping and inverting. Save your changes afterwards.|
|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
NOTE: You lose all previous changes when a new active volume is loaded or selected.
Notes from the Developer(s)
The measurement frame of all DWI is always displayed in the RAS space. That's because Slicer stores all internal coordinates in RAS. If you save changes in a new .nhdr file the measurement frame will always be in RAS.
Used Tensor Estimation
The Diffusion Editor uses the Tensor Estimation CLM (Command Line Module) of Slicer to compute tensors.
- The module provides the linear-least-squares, non-linear-least squares and weighted-least-square method for the estimation. But the DiffusionEditor uses the linear-least-squares method by default, as it is the fastest and most robust.
- See [[Slicer3:DTMRI#Tensor_Estimation_from_DWI_Module],|] for more information on the Tensor Estimation CLM.
The testing frame provides just a small subset of DTI display options. For more detailed settings
- load the DTI as the active volume in the volumes modul
- go to the display frame and adjust parameters.
Used Tractography Fiducial Seeding
The Diffusion Editor uses the Tractography Fiducial Seeding module of Slicer to compute tracts.
- The Diffusion Editor uses the default parameters. To change tractography parameters select the modul: Tractography/Seeding/Fiducial Seeding [[Slicer3:DTMRI#Tractography_Fiducial_Seeding_Module].|Changes there have an immediate impact for the tracts in the Diffusion Editor.
- For more detailed exploring of tracts use the Fiducial Seeding module or for display options select the module Tractography/DisplayLoadSave ].* See here for more information on the Tractography modules.
No other modules or packages are required for this module's use.
On the Dashboard, these tests verify that the module is working on various platforms:
Follow this link to the Slicer3 bug tracker.
Follow this link to the Slicer3 bug tracker. Please select the usability issue category when browsing or contributing.
- Changing the measurement frame of a DTI has no impact. The tensor is not estimated again.
- Future work: Adding new rotation filter for tensors (contributed by Raul San Jose)
- Multiple bValues are not displayed. Currently to describe acquisitions with different b-values the magnitudes of the gradients are changed. See the nrrd format page about describing DWIs with different b-values.
- Future work: Adding different views of gradients/bValues.
- Checking gradients when one types new values in the textbox is slowly. Reason: SetDiffusionGradients of the vtkMRMLDiffusionWeightedVolumeNode seems to trigger many events.
- Future work: Use Eventbroker for performance analysis and if necessary turn off events.
Source code & documentation
Links to the module's source code:
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.