Slicer3:DTMRI
Contents
Goal
Development of the infrastructure for DT-MRI processing and visualization and fiber processing and visualization. A secondary goal is the integration of new and existing methods and algorithms for DT-MRI processing using the provided infrastructure. This integration will have as goal the porting of the current DT-MRI capabilities existing in Slicer 2.x and the addition of new features.
Global Features
The general features can be grouped in:
- Core features for DTMRI processing
- Solution enviroments for DTMRI analysis
The first group will provide the necessary tools to build the Solutions that will be the user front-end.
Core features
Data Model
MRML Node definition for different data representations involved in DTI analysis
- Diffusion Weighted Images: vtkMRMLDiffusionWeightedVolumeNode and vtkMRMLDiffusionWeightedVolumeDisplayNode.
- Diffusion Tensor Images: vtkMRMLDiffusionTensorVolumeNode, vtkMRMLDiffusionTensorVolumeDisplayNode and vtkMRMLDiffusionTensorDisplayPropertiesNode.
- Fiber Bundles: vtkMRMLFiberBundleNode, vtkMRMLFiberBundleDisplayNode, vtkMRMLFiberBundleLineDisplayNode, vtkMRMLFiberBundleTubeDisplayNode, and vtkMRMLFiberBundleGlyphDisplayNode.
Storage and I/O
- DWI and DTI I/O: NRRD is the format supported by Slicer 3 for storing DWI and DTI images.
- NNRD reader/writer: vtkNRRDReader and vtkNRRDWriter.
- Storage node: vtkMRMLNRRDStorageNode.
- Fiber I/O: vtkPolyData has been the format adopted for the description of fibers.
- Storage node: vtkMRMLFiberBundleStorageNode
- Implementation of I/O Logic: refactoring vtkSlicerLayerLogic to accomodate Archetype and NRRD readers.
Displaying Logic
- Slicer Layer Logic: Reslicing of DWI and DTI volumes vtkSlicerSliceLayerLogic.
- Geometry Layer Logic: Creation of a new Layer type (besides Slices and Labelmaps) to accomodate the representation of geometrical data in the 2D slices. These capabilities can be exploited to render glyphs in the 2D slice windows.
Diffusion Modelling
- Tensor Estimation from DWI: this part is a clear candidate for the an implementation using CLP: DiffusionTensorEstimation. A desired feature would be the possibility of estimating tensors using different methods, namely:
- Least Squares
- Weighted Least Squares
- Non-linear methods
- Maximum Likelihood approach
Teem currently provides a clean interface to do this estimation in a voxel by voxel fashion. Collaboration with Gordon Kindlmann for a vtk filter implementation that encapsulates the estimation process (vtkTeemEstimateDiffusionTensor).
Diffusion Processing Toolbox
- Diffusion Weighted Images preprocessing: another candidate for CLP. Integration of Rician noise filtering done at Utah.
- Tools for
- Computation of scalar measurements from tensor fields
- Fast rendering of tensor fields using glyphs: line, box, ellipsoid, superquadric.
- Fiber Tracking using integration techniques
- Statistics along fiber tracts
- Multiple ROI seeding and logic interconnections between ROIs
- Fiber clustering techniques
- Algorithms for DT-MRI registration: Xiadoing et al from GE have presented a nice method for DWI registration that has great potential and deals in a clean way with many of the technical difficulties of registering only tensor fields.
- Algorithms for DT-MRI segmentation.
Solution enviroments
- Connectivity solution: enviroment for ROI definition and fiber bundling based on clustering techniques or logic operations.
Multiple ROI seeding and logical interconnection between ROIs.
- Fiber editing solution: enviroment for manually editing individual fibers/bundles, reassignation of fibers to bundles.
- Fiber analysis solution: enviroment to run statistical analysis on fiber bundles.
- DT-MRI segmentation: enviroment for segmentation of DT-MRI fields
- DT-MRI registration: enviroment for registration of DT-MRI fields (possibly via DWI registration -- work done at GE and presented in MICCAI '06).
Plan
We will achieve the aforementioned goal in two phases:
Phase 1 Slicer3.0, January 2008
- Design and Implementation of the basic infrastructure to handle DWI datasets and DT-MRI datasets
- Development of the hierchachy of MRML nodes for the DWI and Tensor dataset representation: In progress .
- Development of Storage nodes to I/O these new datasets. Given the current limitation of the Archtype readers, we will temporally fall back on the vtkNRRDReader/Writer existing in Slicer2.x for I/O operations: Complete.
- Definition of the basic logic for the display of DWI datasets and Tensor datasets: In progress .
- Design and Implementation of the basic infrastructure to handle fiber and fiber bundles.
- Development of Fiber MRML nodes for Fiber and Fiber bundles representations Line, Tubes, Glyphs: In progress .
- Development of Fiber display UI controls and logic: In progress .
- Development of Fiber ROI seeding. Incorporate this as a CLP module. In progrees.
- Interactive seeding of from fiducials. In progress .
- Tensor glyph display on slice planes. May be postponed till Phase 2..
- Development of logic componets for fiber optimal rendering. There is a need for finding a good trade off between performance (real time interaction with fibers) and number of actors assigned to the fibers. This is an area that Kitware might contribute on.
- Stochastic tractography CLI module (Tri, Ngo).
- Rician LMMSE filter (Core 1).
Phase 2, January 2009
- Implementation of core features based on the infrastructure and development of solution enviroments.
- Teem based tractography (Core 1 & 2).
- Fiber Bundle Clustering (Core 1).
- Render glyphs in the 2D slice windows.
- Statistics along fiber tracts (Core 1).
Applications/Use Cases for DTI in Slicer3
- Quantitative measurement
- Tract-based
- Region of interest-based
- fMRI seeding
- Surgical planning
- anatomical investigation/atlas creation
Development Screenshots
Notes on general diffusion framework (ODF/2 tensor) support
http://wiki.na-mic.org/Wiki/index.php/Slicer3:DTMRI:GeneralDiffusionFramework