Difference between revisions of "Slicer4:Diffusion"
m |
m (Text replacement - "\[http:\/\/www\.slicer\.org\/slicerWiki\/index\.php\/([^ ]+) ([^]]+)]" to "$2") |
||
(30 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
+ | [[Slicer4:Developers#Projects|Back to Slicer4 Projects]] | ||
+ | |||
=Introduction= | =Introduction= | ||
This page contains descriptions and plans for the dMRI framework in Slicer 4 | This page contains descriptions and plans for the dMRI framework in Slicer 4 | ||
− | = | + | [http://na-mic.org/Mantis/search.php?project_id=3&category=Diffusion&sticky_issues=on&sortby=last_updated%2Cstatus&dir=DESC%2CDESC&hide_status_id=90 Mantis Diffusion-related bug list] |
− | == | ||
− | + | ------------------------------- | |
− | + | ==Periodical Meetings== | |
− | + | === Bi-Weekly Meeting === | |
− | + | Every other Tuesday from 3pm to 4pm teleconference: #800-501-8979 conference code 0235041 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | === Monthly Slicer4 coding sprint === | |
+ | '''Suspended Until Jan''' | ||
− | + | Third Tuesday of every month, from 12pm to 4pm, Boylston 1249, 2nd floor conference room (bring your friends and significant programming others) | |
− | + | Upcoming Tuesdays: | |
+ | * February 22nd (exceptional 4th Tuesday meeting) | ||
+ | * March 15th | ||
+ | * April 19th | ||
+ | * May 17th | ||
− | + | =Goals for the winter NA-MIC week 2012= | |
+ | * Display statistic information for fiber bundles (e.g. FA histogram, mean and dispersion) (Demian Wassermann) | ||
+ | * Integrated interface: Global slicelet with the main diffusion functionalities integrated (Demian Wassermann) | ||
+ | * Peritumoral wizard (Isaiah Norton) | ||
+ | * Ron's proposal for the fiducial seeding interface: Provide a unified user-interface for managing fiducials and corresponding fiberbundles: turn on/off, name, color | ||
+ | * Filtered tractography module (Christian Baumgarten, Yogesh Rathi) | ||
+ | =Results after the Summer 2011 NA-MIC meeting= | ||
+ | * Porting/profiling of existing functionality | ||
+ | ** Working features | ||
+ | *** Importing from DWI | ||
+ | *** Calculating a mask from DWI images | ||
+ | *** Estimating tensors using an arbitrary mask or no mask | ||
+ | *** Fiducial seeding | ||
+ | *** Labelmap seeding | ||
+ | *** Denoising algorithms | ||
+ | *** Import/Export to NIFTI tensor format | ||
+ | *** Finsler tractography and backtracing of the tracts | ||
+ | ** Almost working features | ||
+ | *** Visualization of tractography (minor details to be addressed by Alex and Isaiah) | ||
+ | *** Workflows (waiting for bug [[http://www.na-mic.org/Bug/view.php?id=1221 | 1221 ]] to be fixed | ||
+ | ** Features to be packed as Slicer 4 extensions | ||
+ | *** Curvature and Dispersion measures (Peter S.) | ||
+ | *** Two tensor tractography (Yogesh) | ||
− | + | Features to be addressed in the near future | |
+ | * Slicer 4 Diffusion Slicelet | ||
+ | * Peritumoral workflow | ||
+ | ** Isaiah started porting most of the supporting tools, the same bug as with the other workflows needs to be addressed | ||
+ | * More fluid visualization and exploration of white matter tractographies | ||
+ | * Visualization of statistical measures on tracts (mean FA, FA along the tract etc) | ||
+ | Planning diffusion meeting to be scheduled for the week of 25-29th of July | ||
− | + | =Features to be addressed before the Summer 2011 NA-MIC meeting= | |
[[image:Fiberbundles.png|right|thumb|400px|Draft of a GUI for Fiberbundles and Streamlines<br>The pull-down choices for each entry are listed, appearance will be similar to the annotation module]] | [[image:Fiberbundles.png|right|thumb|400px|Draft of a GUI for Fiberbundles and Streamlines<br>The pull-down choices for each entry are listed, appearance will be similar to the annotation module]] | ||
* Porting/profiling of existing functionality (Alex) | * Porting/profiling of existing functionality (Alex) | ||
− | ** Tensor estimation | + | ** '''Getting CLI to a functioning state again (J2/JC)''' |
− | ** Tractography (fiducial/labelmap) | + | ** '''Volumes module including DWI / Tensor''' |
+ | ** Tensor estimation and scalar extraction | ||
+ | ** Tractography seeding (fiducial/labelmap) | ||
+ | ** Tensor Visualization (Basic visualization is priority) | ||
+ | ** Tractography Visualization | ||
** Displayable manager infrastructure | ** Displayable manager infrastructure | ||
* Workflows (Demian) | * Workflows (Demian) | ||
Line 51: | Line 82: | ||
* Usability testing / consultants (Isaiah, Ron, CF, Lauren, Demian) | * Usability testing / consultants (Isaiah, Ron, CF, Lauren, Demian) | ||
* Extraction of statistical indices from a fiber bundle ( e.g.: Mean / std FA, length, ??volume?? ) | * Extraction of statistical indices from a fiber bundle ( e.g.: Mean / std FA, length, ??volume?? ) | ||
+ | * Test-cases for advanced functionality (Lauren/Antonio/Peter/Yogesh) | ||
+ | ** Python support | ||
+ | *** Multi-threading | ||
+ | *** Weave (without SciPy) | ||
+ | *** Fast LAPACK distribution (now comes with Slicer4) | ||
+ | *** Matplotlib (maybe this will come with PySide) | ||
+ | ** CLI Support (Jim Miller?) | ||
+ | *** Diffusion CLI modules passing the data in memory as opposed to the actual file-based data interchange | ||
+ | ------------------------------- | ||
+ | |||
+ | =Schedule until June= | ||
+ | |||
+ | ==Jan 2011== | ||
+ | '''Kick-off, First meeting log''' | ||
+ | ------------------------------ | ||
+ | |||
+ | Define new infrastructure to allow efficient tractography (Demain, Lauren, Alex) | ||
+ | |||
+ | * Single ROI selection module | ||
+ | ** Generalization to model hierarchies | ||
+ | ** Labelmap selection module | ||
+ | ** Bundle representation | ||
+ | *** Reduce the memory footprint of bundles. First start, store in memory only the upper or lower triangular section of the matrix | ||
+ | |||
+ | * Port the fiducial tractography seeding to new infrastructure (Alex) | ||
+ | |||
+ | * Port tensor estimation tools (Demian) | ||
+ | |||
+ | * Implement quick and fluid exploration of pre-calculated full-brain tractographies | ||
+ | |||
+ | * Cluster interactive exploration, cluster labeling (Lauren) | ||
− | + | * Fiber laterality module (Lauren) | |
− | - | + | * Define new infrastructure to allow several different representations of diffusivity (ODF, fODF, two-tensor, tensor, etc.) |
− | Feb 1, Discuss overall plan | + | ==Feb 2011== |
+ | Feb 1, Discuss overall plan, distribution of responsibilities. | ||
− | Feb 8, | + | Feb 8, Review overall plan. |
− | Feb 15, | + | Feb 15, Definition of dependencies. Deadlines for top priority functionalities and some independent tools. |
− | Feb 22, | + | Feb 22, First code sprint. |
+ | * Assistants: Steve Pieper, Lauren O'Donnell, Antonio Tristán-Vega, Isaiah Norton and Demian Wassermann | ||
+ | * Main topics addressed: | ||
+ | ** CLI interface for diffusion modules on Slicer 4 (and maybe 3): efficient ways of passing the volumes without having to dump them to disk all the time (Isaiah, Steve, Lauren, Demian and some help from Alex) | ||
+ | ** Change of concept in slicer 4: from an application with a python interpreter embedded to a python application that can run inside of "any" given python interpreter (Steve, Lauren, Demian) | ||
+ | ** Implementation of workflows within the newly developed ctkWorkflow framework (Demian) | ||
+ | ** Finsler HARDI tractography (Antonio) | ||
− | Deliverables Feb: Have detailed plan for March and April | + | Deliverables Feb: Have detailed plan for March and April (Done!) |
− | + | ==Mar 2011== | |
Mar 1 | Mar 1 | ||
+ | * Getting CLI to a functioning state again (Demian is responsible - J2/JC will do the coding) | ||
+ | * Test the CLIs corresponding to (Isaiah) | ||
+ | ** Tensor estimation | ||
+ | ** Tensor Scalar extraction | ||
+ | ** Tractography seeding (label-map) | ||
Mar 8 | Mar 8 | ||
+ | |||
Mar 15 | Mar 15 | ||
+ | * DWI to Full brain tractography workflow (Demian) | ||
Mar 22 | Mar 22 | ||
Line 78: | Line 154: | ||
Mar 29 | Mar 29 | ||
− | Deliverables Mar: | + | * Diffusion estimation issues with negative eigenvalues |
+ | ** It was decided that the DT estimation will output a confidence image | ||
+ | ** No correction will be done, if there are too many degenerate tensors, the user will have to use one of our noise/motion correction filters | ||
+ | ** The mask generation will be separated from the tensor estimation | ||
+ | |||
+ | Deliverables Mar: CLI modules for tensor estimation and scalar extraction, tractography seeding. First version of DWI to Full brain tractography workflow | ||
− | + | ==Apr 2011== | |
Apr 5 | Apr 5 | ||
− | + | * Finsler tractography CLI (Antonio) | |
+ | ** The module is implemented and has appropriate testing | ||
+ | ** The modules has been uploaded to NITRC as a project (link) | ||
+ | ** Some CMake issues have to be figured out for its proper distribution | ||
+ | * Basic Diffusion Volume Display: FA and color-by-orientation and Glyphs (Alex) | ||
+ | ** Glyphs are there | ||
+ | ** Most DT-based scalars are there | ||
+ | ** There seems to be an issue with color by orientation features | ||
+ | * Tractography | ||
+ | ** We agreed that Slicer 4 should be able to load vtk files as tractographies and | ||
+ | *** Check that they are only composed of line (no faces) | ||
+ | *** Be able to display tractographies that don't have tensor data greying off the glyphing and coloring options | ||
+ | |||
Apr 12 | Apr 12 | ||
Apr 19 | Apr 19 | ||
+ | * Added probe CLI in Slicer3: ProbeVolumeWithModel (Paint) | ||
+ | ** Re-checked in this code (Lauren) | ||
+ | ** Made it work. Debugged scalar display on models from CLI issue (Lauren, Steve) | ||
Apr 26 | Apr 26 | ||
− | Deliverables Apr: | + | Deliverables Apr: Slicer3 CLI for probing, |
− | + | ==May 2011== | |
May 3 | May 3 | ||
Line 99: | Line 195: | ||
May17 | May17 | ||
+ | *Results of the code sprint | ||
+ | ** Fixed colormap window/level (Steve) | ||
+ | ** Finished module for Finsler tractography as a NITRC downloadable toolkit including tests (Antonio) | ||
+ | ** First implementation of the fiberbundle visualization widget, on a branch for testing (Isaiah) | ||
+ | ** Work in progress for the laterality project (Lauren) | ||
+ | ** Splitted estimation/masking of the diffusion tensors (Demian) | ||
+ | |||
+ | * Discussion about projects for the summer programming week: | ||
+ | ** Nifti Support for Diffusion Tensor Images | ||
+ | ** Finishing details on the workflows: DICOM->Full brain tractography / peritumoral (Demian) | ||
+ | ** Refactoring of the tractography display widget (Isaiah) | ||
+ | ** Laterality (Lauren) | ||
+ | ** Selection for models and bundles post-clustering (Lauren) | ||
+ | ** ROI-based / picking selection of fiber bundles (Maybe one of Sylvain's interns) | ||
+ | ** Adding streamlined tractography to the Finsler front propagation tractography toolkit (Antonio) | ||
+ | ** Add ODF estimation / visualization (Antonio) | ||
May 24 | May 24 | ||
+ | * Issues/bugs to address | ||
+ | ** Problems with the shared library/command line mode of some plugins (notably Diffusion Tensor Mathematics) | ||
+ | ** Visualization of white matter tracts, mostly done by Isaiah, Alex offered to help. | ||
+ | ** Creation of a diffusion tensor supermodule à la Slicer2 | ||
+ | ** Fix the window/level issues in the color-by-orientation module and the other scalar visualizations of DT data (Julien when he comes back from the other edge of the world) | ||
May 31 | May 31 | ||
Line 106: | Line 223: | ||
Deliverable May: | Deliverable May: | ||
− | + | ==June 2011== | |
June: debug, test | June: debug, test | ||
Line 112: | Line 229: | ||
June (AHM), | June (AHM), | ||
+ | =Reference= | ||
+ | ==Workflows== | ||
+ | [[Slicer3:UIDesign#Working_problem:_Slicer3_workflow_for_Tractography:_usability_issues.2C_design_.26_planning|JJL & WJP tractography workflow/UI discussion]] | ||
+ | |||
+ | [http://www.na-mic.org/publications/item/view/1263 PNL Diffusion MRI Lab Manual] | ||
− | = | + | ==File format information== |
− | + | http://wiki.na-mic.org/Wiki/index.php/NAMIC_Wiki:Community_DTI | |
+ | * DWI Formats | ||
+ | ** http://www.na-mic.org/Wiki/index.php/NAMIC_Wiki:DTI:DICOM_for_DWI_and_DTI | ||
+ | ** http://wiki.na-mic.org/Wiki/index.php/NAMIC_Wiki:DTI:Nrrd_format | ||
+ | **[[http://www.ncbi.nlm.nih.gov/pubmed/20206274 Proposed Nifti DTI metadata format]] | ||
+ | * Tensor formats | ||
+ | **[[http://nifti.nimh.nih.gov/nifti-1/documentation/nifti1diagrams_v2.pdf Nifti Matrix storage]] |
Latest revision as of 02:35, 27 November 2019
Home < Slicer4:DiffusionBack to Slicer4 Projects
Contents
Introduction
This page contains descriptions and plans for the dMRI framework in Slicer 4
Mantis Diffusion-related bug list
Periodical Meetings
Bi-Weekly Meeting
Every other Tuesday from 3pm to 4pm teleconference: #800-501-8979 conference code 0235041
Monthly Slicer4 coding sprint
Suspended Until Jan
Third Tuesday of every month, from 12pm to 4pm, Boylston 1249, 2nd floor conference room (bring your friends and significant programming others)
Upcoming Tuesdays:
- February 22nd (exceptional 4th Tuesday meeting)
- March 15th
- April 19th
- May 17th
Goals for the winter NA-MIC week 2012
- Display statistic information for fiber bundles (e.g. FA histogram, mean and dispersion) (Demian Wassermann)
- Integrated interface: Global slicelet with the main diffusion functionalities integrated (Demian Wassermann)
- Peritumoral wizard (Isaiah Norton)
- Ron's proposal for the fiducial seeding interface: Provide a unified user-interface for managing fiducials and corresponding fiberbundles: turn on/off, name, color
- Filtered tractography module (Christian Baumgarten, Yogesh Rathi)
Results after the Summer 2011 NA-MIC meeting
- Porting/profiling of existing functionality
- Working features
- Importing from DWI
- Calculating a mask from DWI images
- Estimating tensors using an arbitrary mask or no mask
- Fiducial seeding
- Labelmap seeding
- Denoising algorithms
- Import/Export to NIFTI tensor format
- Finsler tractography and backtracing of the tracts
- Almost working features
- Visualization of tractography (minor details to be addressed by Alex and Isaiah)
- Workflows (waiting for bug [| 1221 ] to be fixed
- Features to be packed as Slicer 4 extensions
- Curvature and Dispersion measures (Peter S.)
- Two tensor tractography (Yogesh)
- Working features
Features to be addressed in the near future
- Slicer 4 Diffusion Slicelet
- Peritumoral workflow
- Isaiah started porting most of the supporting tools, the same bug as with the other workflows needs to be addressed
- More fluid visualization and exploration of white matter tractographies
- Visualization of statistical measures on tracts (mean FA, FA along the tract etc)
Planning diffusion meeting to be scheduled for the week of 25-29th of July
Features to be addressed before the Summer 2011 NA-MIC meeting
- Porting/profiling of existing functionality (Alex)
- Getting CLI to a functioning state again (J2/JC)
- Volumes module including DWI / Tensor
- Tensor estimation and scalar extraction
- Tractography seeding (fiducial/labelmap)
- Tensor Visualization (Basic visualization is priority)
- Tractography Visualization
- Displayable manager infrastructure
- Workflows (Demian)
- From DWI to full-brain tractography
- Peritumoral tractography
- DBP/High-end post-processing modules for tractography (Lauren)
- Cluster interaction
- Laterality analysis
- Tumor distance-transform (Isaiah)
- "Fluid" tractography exploration (Alex, this will be taken care of after the porting/profiling )
- Picking of fibers
- ROI-based selection of fibers
- Labelmap selection of fibers
- Usability testing / consultants (Isaiah, Ron, CF, Lauren, Demian)
- Extraction of statistical indices from a fiber bundle ( e.g.: Mean / std FA, length, ??volume?? )
- Test-cases for advanced functionality (Lauren/Antonio/Peter/Yogesh)
- Python support
- Multi-threading
- Weave (without SciPy)
- Fast LAPACK distribution (now comes with Slicer4)
- Matplotlib (maybe this will come with PySide)
- CLI Support (Jim Miller?)
- Diffusion CLI modules passing the data in memory as opposed to the actual file-based data interchange
- Python support
Schedule until June
Jan 2011
Kick-off, First meeting log
Define new infrastructure to allow efficient tractography (Demain, Lauren, Alex)
- Single ROI selection module
- Generalization to model hierarchies
- Labelmap selection module
- Bundle representation
- Reduce the memory footprint of bundles. First start, store in memory only the upper or lower triangular section of the matrix
- Port the fiducial tractography seeding to new infrastructure (Alex)
- Port tensor estimation tools (Demian)
- Implement quick and fluid exploration of pre-calculated full-brain tractographies
- Cluster interactive exploration, cluster labeling (Lauren)
- Fiber laterality module (Lauren)
- Define new infrastructure to allow several different representations of diffusivity (ODF, fODF, two-tensor, tensor, etc.)
Feb 2011
Feb 1, Discuss overall plan, distribution of responsibilities.
Feb 8, Review overall plan.
Feb 15, Definition of dependencies. Deadlines for top priority functionalities and some independent tools.
Feb 22, First code sprint.
- Assistants: Steve Pieper, Lauren O'Donnell, Antonio Tristán-Vega, Isaiah Norton and Demian Wassermann
- Main topics addressed:
- CLI interface for diffusion modules on Slicer 4 (and maybe 3): efficient ways of passing the volumes without having to dump them to disk all the time (Isaiah, Steve, Lauren, Demian and some help from Alex)
- Change of concept in slicer 4: from an application with a python interpreter embedded to a python application that can run inside of "any" given python interpreter (Steve, Lauren, Demian)
- Implementation of workflows within the newly developed ctkWorkflow framework (Demian)
- Finsler HARDI tractography (Antonio)
Deliverables Feb: Have detailed plan for March and April (Done!)
Mar 2011
Mar 1
- Getting CLI to a functioning state again (Demian is responsible - J2/JC will do the coding)
- Test the CLIs corresponding to (Isaiah)
- Tensor estimation
- Tensor Scalar extraction
- Tractography seeding (label-map)
Mar 8
Mar 15
- DWI to Full brain tractography workflow (Demian)
Mar 22
Mar 29
- Diffusion estimation issues with negative eigenvalues
- It was decided that the DT estimation will output a confidence image
- No correction will be done, if there are too many degenerate tensors, the user will have to use one of our noise/motion correction filters
- The mask generation will be separated from the tensor estimation
Deliverables Mar: CLI modules for tensor estimation and scalar extraction, tractography seeding. First version of DWI to Full brain tractography workflow
Apr 2011
Apr 5
- Finsler tractography CLI (Antonio)
- The module is implemented and has appropriate testing
- The modules has been uploaded to NITRC as a project (link)
- Some CMake issues have to be figured out for its proper distribution
- Basic Diffusion Volume Display: FA and color-by-orientation and Glyphs (Alex)
- Glyphs are there
- Most DT-based scalars are there
- There seems to be an issue with color by orientation features
- Tractography
- We agreed that Slicer 4 should be able to load vtk files as tractographies and
- Check that they are only composed of line (no faces)
- Be able to display tractographies that don't have tensor data greying off the glyphing and coloring options
- We agreed that Slicer 4 should be able to load vtk files as tractographies and
Apr 12
Apr 19
- Added probe CLI in Slicer3: ProbeVolumeWithModel (Paint)
- Re-checked in this code (Lauren)
- Made it work. Debugged scalar display on models from CLI issue (Lauren, Steve)
Apr 26
Deliverables Apr: Slicer3 CLI for probing,
May 2011
May 3
May 10
May17
- Results of the code sprint
- Fixed colormap window/level (Steve)
- Finished module for Finsler tractography as a NITRC downloadable toolkit including tests (Antonio)
- First implementation of the fiberbundle visualization widget, on a branch for testing (Isaiah)
- Work in progress for the laterality project (Lauren)
- Splitted estimation/masking of the diffusion tensors (Demian)
- Discussion about projects for the summer programming week:
- Nifti Support for Diffusion Tensor Images
- Finishing details on the workflows: DICOM->Full brain tractography / peritumoral (Demian)
- Refactoring of the tractography display widget (Isaiah)
- Laterality (Lauren)
- Selection for models and bundles post-clustering (Lauren)
- ROI-based / picking selection of fiber bundles (Maybe one of Sylvain's interns)
- Adding streamlined tractography to the Finsler front propagation tractography toolkit (Antonio)
- Add ODF estimation / visualization (Antonio)
May 24
- Issues/bugs to address
- Problems with the shared library/command line mode of some plugins (notably Diffusion Tensor Mathematics)
- Visualization of white matter tracts, mostly done by Isaiah, Alex offered to help.
- Creation of a diffusion tensor supermodule à la Slicer2
- Fix the window/level issues in the color-by-orientation module and the other scalar visualizations of DT data (Julien when he comes back from the other edge of the world)
May 31
Deliverable May:
June 2011
June: debug, test
June (AHM),
Reference
Workflows
JJL & WJP tractography workflow/UI discussion
File format information
http://wiki.na-mic.org/Wiki/index.php/NAMIC_Wiki:Community_DTI