Difference between revisions of "Slicer3:DTMRI"
Line 23: | Line 23: | ||
** NNRD reader/writer: [http://www.na-mic.org/ViewVC/index.cgi/trunk/Libs/vtkTeem/vtkNRRDReader.h?view=log vtkNRRDReader] and [http://www.na-mic.org/ViewVC/index.cgi/trunk/Libs/vtkTeem/vtkNRRDWriter.h?view=log vtkNRRDWriter]. | ** NNRD reader/writer: [http://www.na-mic.org/ViewVC/index.cgi/trunk/Libs/vtkTeem/vtkNRRDReader.h?view=log vtkNRRDReader] and [http://www.na-mic.org/ViewVC/index.cgi/trunk/Libs/vtkTeem/vtkNRRDWriter.h?view=log vtkNRRDWriter]. | ||
** Storage node: [http://www.na-mic.org/ViewVC/index.cgi/trunk/Libs/MRML/vtkMRMLNRRDStorageNode.h?view=log vtkMRMLNRRDStorageNode]. | ** Storage node: [http://www.na-mic.org/ViewVC/index.cgi/trunk/Libs/MRML/vtkMRMLNRRDStorageNode.h?view=log vtkMRMLNRRDStorageNode]. | ||
− | * | + | * Fiber I/O: vtkPolyData has been the format adopted for the description of fibers. |
+ | ** Storage node: [http://www.na-mic.org/ViewVC/index.cgi/trunk/Libs/MRML/vtkMRMLFiberBundleStorageNode.h?view=log vtkMRMLFiberBundleStorageNode] | ||
+ | * Implementation of I/O Logic: refactoring [http://www.na-mic.org/ViewVC/index.cgi/trunk/Base/Logic/vtkSlicerVolumesLogic.h?view=log vtkSlicerLayerLogic] to accomodate Archetype and NRRD readers. | ||
==== Displaying Logic ==== | ==== Displaying Logic ==== | ||
− | * Slicer Layer Logic | + | * Slicer Layer Logic: Reslicing of DWI and DTI volumes [http://www.na-mic.org/ViewVC/index.cgi/trunk/Base/Logic/vtkSlicerSliceLayerLogic.h?view=log vtkSlicerSliceLayerLogic]. |
− | * Geometry Layer Logic: | + | * 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 ==== | ==== Diffusion Modelling ==== | ||
− | * Tensor Estimation from DWI: this part is a clear candidate for the an implementation using CLP. A desired feature would be the possibility of estimating tensors using different methods, namely: | + | * Tensor Estimation from DWI: this part is a clear candidate for the an implementation using CLP: [http://www.na-mic.org/ViewVC/index.cgi/trunk/Applications/CLI/DiffusionTensorEstimation.xml?view=log DiffusionTensorEstimation]. A desired feature would be the possibility of estimating tensors using different methods, namely: |
** Least Squares | ** Least Squares | ||
** Weighted Least Squares | ** Weighted Least Squares | ||
** Non-linear methods | ** Non-linear methods | ||
** Maximum Likelihood approach | ** 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 ([http://www.na-mic.org/ViewVC/index.cgi/trunk/Libs/vtkTeem/vtkTeemEstimateDiffusionTensor.h?view=log vtkTeemEstimateDiffusionTensor] | ||
− | + | ==== Diffusion Processing Toolbox ==== | |
− | |||
* Diffusion Weighted Images preprocessing: another candidate for CLP. Integration of Rician noise filtering done at Utah. | * Diffusion Weighted Images preprocessing: another candidate for CLP. Integration of Rician noise filtering done at Utah. | ||
* Tools for | * Tools for |
Revision as of 00:08, 1 June 2007
Home < Slicer3:DTMRIContents
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 and vtkMRMLFiberBundleDisplayNode.
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 stages:
Stage 1
- 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
- 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.
- Definition of the basic logic for the display of DWI datasets and Tensor datasets
- Design and Implementation of the basic infrastructure to handle fiber and fiber bundles.
- Development of Fiber MRML nodes for Fiber and Fiber bundles representation.
- 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.
- Tracking method porting/implementation. It is argueable that we want to incorporate this as a CLP module if we want to keep real-time performance in terms of interactive tractography.
Stage 2
- Implementation of core features based on the infrastructure.
- Development of solution enviroments.
Applications/Use Cases for DTI in Slicer3
- Quantitative measurement
- Tract-based
- Region of interest-based
- fMRI seeding
- Surgical planning
- anatomical investigation/atlas creation