Difference between revisions of "Slicer3:DTMRI"

From NAMIC Wiki
Jump to: navigation, search
m (Text replacement - "http://www.slicer.org/slicerWiki/index.php/" to "https://www.slicer.org/wiki/")
 
(32 intermediate revisions by 4 users not shown)
Line 1: Line 1:
= Goal =
+
<big>'''Note:''' We are migrating this content to the slicer.org domain - <font color="orange">The newer page is [https://www.slicer.org/wiki/Slicer3:DTMRI  here]</font></big>
 
 
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: [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:  [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: [http://www.na-mic.org/ViewVC/index.cgi/trunk/Libs/MRML/vtkMRMLFiberBundleNode.h?view=log vtkMRMLFiberBundleNode], [http://www.na-mic.org/ViewVC/index.cgi/trunk/Libs/MRML/vtkMRMLFiberBundleDisplayNode.h?view=log vtkMRMLFiberBundleDisplayNode], [http://www.na-mic.org/ViewVC/index.cgi/trunk/Libs/MRML/vtkMRMLFiberBundleLineDisplayNode.h?view=log vtkMRMLFiberBundleLineDisplayNode], [http://www.na-mic.org/ViewVC/index.cgi/trunk/Libs/MRML/vtkMRMLFiberBundleTubeDisplayNode.h?view=log vtkMRMLFiberBundleTubeDisplayNode], and [http://www.na-mic.org/ViewVC/index.cgi/trunk/Libs/MRML/vtkMRMLFiberBundleGlyphDisplayNode.h?view=log 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: [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].
 
* 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 ===
 
* 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: 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: [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
 
** 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 ([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.
 
* 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: <font color="green"> In progress </font>.
 
** 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: <font color="green"> Complete</font>.
 
** Definition of the basic logic for the display of DWI datasets and Tensor datasets: <font color="green"> In progress </font>.
 
 
 
* 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: <font color="green"> In progress </font>.
 
** Development of Fiber display UI controls and logic: <font color="green"> In progress </font>.
 
** Development of Fiber ROI seeding. Incorporate this as a CLP module. <font color="green"> In progrees</font>.
 
** Interactive seeding of from fiducials.<font color="green"> In progress </font>.
 
** Tensor glyph display on slice planes.<font color="green"> May be postponed till Phase 2.</font>.
 
** 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 =
 
 
 
 
 
[[Image:DtiDevel1.jpg]]
 
 
 
[[Image:DtiDevel2.jpg]]
 
 
 
= Notes on general diffusion framework (ODF/2 tensor) support =
 
http://wiki.na-mic.org/Wiki/index.php/Slicer3:DTMRI:GeneralDiffusionFramework
 

Latest revision as of 18:07, 10 July 2017

Home < Slicer3:DTMRI

Note: We are migrating this content to the slicer.org domain - The newer page is here