Difference between revisions of "Slicer4:Diffusion"

From Slicer Wiki
Jump to: navigation, search
m (Text replacement - "\[http:\/\/www\.slicer\.org\/slicerWiki\/index\.php\/([^ ]+) ([^]]+)]" to "$2")
 
(28 intermediate revisions by 4 users not shown)
Line 5: Line 5:
  
  
=Jan 2011=
+
[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]
==Outline of plans==
 
  
Define new infrastructure to allow efficient tractography (Demain, Lauren, Alex)
+
-------------------------------
 
+
==Periodical Meetings==
* Single ROI selection module
+
=== Bi-Weekly Meeting ===
** Generalization to model hierarchies
+
Every other Tuesday  from 3pm to 4pm teleconference: #800-501-8979 conference code 0235041
* 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 
+
=== Monthly Slicer4 coding sprint ===
 +
'''Suspended Until Jan'''
  
Cluster interactive exploration, cluster labeling (Lauren)
+
Third Tuesday of every month, from 12pm to 4pm, Boylston 1249, 2nd floor conference room (bring your friends and significant programming others)
  
Fiber laterality module (Lauren)
+
Upcoming Tuesdays:
 +
* February 22nd (exceptional 4th Tuesday meeting)
 +
* March 15th
 +
* April 19th
 +
* May 17th
  
Define new infrastructure to allow several different representations of diffusivity (ODF, fODF, two-tensor, tensor, etc.)
+
=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)
  
  
==Schedule until June==
+
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===
+
=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, visualization and scalar extraction
+
** '''Getting CLI to a functioning state again (J2/JC)'''
** Tractography (fiducial/labelmap) and visualization
+
** '''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 53: 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)
  
Plan to meet weekly on Tuesday afternoons, 1249 Boylston.
+
* 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, Define new infrastructure to allow efficient tractography
+
Feb 8, Review overall plan.
  
Feb 15, Define new infrastructure to allow efficient tractography
+
Feb 15, Definition of dependencies. Deadlines for top priority functionalities and some independent tools.
  
Feb 22, Discuss user-interface work flow
+
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 80: Line 154:
 
Mar 29
 
Mar 29
  
Deliverables Mar: Interactive tractography
+
* 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 101: 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 108: Line 223:
 
Deliverable May:
 
Deliverable May:
  
-------------------------------
+
==June 2011==
  
 
June: debug, test
 
June: debug, test
Line 114: Line 229:
 
June (AHM),
 
June (AHM),
  
 
+
=Reference=
=Background=
 
 
==Workflows==
 
==Workflows==
[http://www.slicer.org/slicerWiki/index.php/Slicer3:UIDesign#Working_problem:_Slicer3_workflow_for_Tractography:_usability_issues.2C_design_.26_planning JJL & WJP tractography workflow/UI discussion]
+
[[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]
 
[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:Diffusion
Back to Slicer4 Projects

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)


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

Draft of a GUI for Fiberbundles and Streamlines
The pull-down choices for each entry are listed, appearance will be similar to the annotation module
  • 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

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

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

PNL Diffusion MRI Lab Manual

File format information

http://wiki.na-mic.org/Wiki/index.php/NAMIC_Wiki:Community_DTI