From Slicer Wiki
Jump to: navigation, search
Home < Slicer4:Diffusion
Back to Slicer4 Projects


This page contains descriptions and plans for the dMRI framework in Slicer 4

Periodical Meetings

Weekly Meeting

Every Tuesday from 3pm to 4pm at 1249 Boylston, 2nd floor conference room (LMI Suite)

Monthly Slicer4 coding sprint

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

Features to be addressed before the Summer 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


  • 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),



JJL & WJP tractography workflow/UI discussion

PNL Diffusion MRI Lab Manual

File format information