Difference between revisions of "Slicer3:DTMRI"
Line 15: | Line 15: | ||
==== Data Model ==== | ==== Data Model ==== | ||
MRML Node definition for different data representations involved in DTI analysis | MRML Node definition for different data representations involved in DTI analysis | ||
− | * Diffusion Weighted Images: [ | + | * Diffusion Weighted Images: [http://www.na-mic.org/ViewVC/index.cgi/trunk/Libs/MRML/vtkMRMLDiffusionWeightedVolumeNode.h?view=log vtkMRMLDiffusionWeightedVolumeNode] and [http://www.na-mic.org/ViewVC/index.cgi/trunk/Libs/MRML/vtkMRMLDiffusionWeightedVolumeDisplayNode.h?view=log vtkMRMLDiffusionWeightedVolumeDisplayNode]. |
− | * Diffusion Tensor Images: | + | * Diffusion Tensor Images: [http://www.na-mic.org/ViewVC/index.cgi/trunk/Libs/MRML/vtkMRMLDiffusionTensorVolumeNode.h?view=log vtkMRMLDiffusionTensorVolumeNode], [http://www.na-mic.org/ViewVC/index.cgi/trunk/Libs/MRML/vtkMRMLDiffusionTensorVolumeDisplayNode.h?view=log vtkMRMLDiffusionTensorVolumeDisplayNode] and [http://www.na-mic.org/ViewVC/index.cgi/trunk/Libs/MRML/vtkMRMLDiffusionTensorDisplayPropertiesNode.h?view=log vtkMRMLDiffusionTensorDisplayPropertiesNode]. |
− | * Fiber Bundles: | + | * Fiber Bundles: [http://www.na-mic.org/ViewVC/index.cgi/trunk/Libs/MRML/vtkMRMLFiberBundleNode.h?view=log vtkMRMLFiberBundleNode] and [http://www.na-mic.org/ViewVC/index.cgi/trunk/Libs/MRML/vtkMRMLFiberBundleDisplayNode.h?view=log 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: [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]. | ||
+ | * | ||
==== Displaying Logic ==== | ==== Displaying Logic ==== |
Revision as of 23:54, 31 May 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.
Displaying Logic
- Slicer Layer Logic
- Geometry Layer Logic:
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:
- 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. Gordon and Raul have worked on a vtk filter to encapsulate the estimation process.
- 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