Difference between revisions of "User:Inorton/Slicer4:DTMRI Thoughts"

From NAMIC Wiki
Jump to: navigation, search
Line 1: Line 1:
 +
=Clinical perspective=
 +
We are using Slicer3 for 2-4 Neurosurgery planning cases per week. We have used the Slicer3 FiducialSeeding functionality in the OR (with OpenIGTLink/BioImageSuite/BrainLab driving the seeding location).
 +
==Workflow==
 +
* Scan and push images to clinical PACS and our clinical fMRI processing workstation (has SCP and dicom db capability)
 +
* Pull/copy images from clinical PACS and processing workstation to research laptop/workstation
 +
* Load all images:
 +
** T1, T2, (sometimes CT, PET, CBV from perfusion MR, etc.)
 +
** 2-4 thresholded fMRI activation volumes (coregistered and resliced to structural in SPM)
 +
** DTI
 +
* Preprocess DTI
 +
* Coregister all images using BrainsFit
 +
* Segment tumor or pathology region
 +
* Bring to clinician to use FiducialSeeding to explore area around tumor.
 +
* (if requested, re-load DICOMs on clinical navigation suite and re-select tracts identified in Slicer)
 +
 
=Background=
 
=Background=
 
==Audiences==
 
==Audiences==
Line 17: Line 32:
 
* Already integrated with intra-operative systems via OpenIGTLink functionality
 
* Already integrated with intra-operative systems via OpenIGTLink functionality
 
* Open-source license (TrackVis closed, MedInria non-commercial, DTI Studio closed)
 
* Open-source license (TrackVis closed, MedInria non-commercial, DTI Studio closed)
* DicomToNRRDConverter test suite: test suite exists to validate DICOM loading from many different scanner types, with special emphasis on DTI private header information.
+
* DicomToNRRDConverter test suite: validate DICOM loading from many different scanner types, with special emphasis on DTI private header information.
  
 
==Slicer disadvantages==
 
==Slicer disadvantages==
Line 26: Line 41:
 
* Need subset selection and coloring.
 
* Need subset selection and coloring.
 
* Labelmap seeding is not multi-threaded so whole-brain tractography takes forever.
 
* Labelmap seeding is not multi-threaded so whole-brain tractography takes forever.
* Disjointed interface: no integrated GUI for full DICOMs->tracts->measurements workflow.
+
* Disjointed interface: no one-stop integrated GUI for full DICOMs->tracts->measurements workflow.
  
 
=Existing NA-MIC resources=
 
=Existing NA-MIC resources=
  
* teem: the Slicer3 interactive DTI implementation is based largely on teem through the vtkTeem libraries.
+
* teem: the Slicer3 interactive DTI implementation uses teem through the vtkTeem libraries.
 
** http://teem.sourceforge.net/
 
** http://teem.sourceforge.net/
 
* GTRACT: command-line tools for DTI pipeline processing
 
* GTRACT: command-line tools for DTI pipeline processing

Revision as of 17:46, 11 January 2011

Clinical perspective

We are using Slicer3 for 2-4 Neurosurgery planning cases per week. We have used the Slicer3 FiducialSeeding functionality in the OR (with OpenIGTLink/BioImageSuite/BrainLab driving the seeding location).

Workflow

  • Scan and push images to clinical PACS and our clinical fMRI processing workstation (has SCP and dicom db capability)
  • Pull/copy images from clinical PACS and processing workstation to research laptop/workstation
  • Load all images:
    • T1, T2, (sometimes CT, PET, CBV from perfusion MR, etc.)
    • 2-4 thresholded fMRI activation volumes (coregistered and resliced to structural in SPM)
    • DTI
  • Preprocess DTI
  • Coregister all images using BrainsFit
  • Segment tumor or pathology region
  • Bring to clinician to use FiducialSeeding to explore area around tumor.
  • (if requested, re-load DICOMs on clinical navigation suite and re-select tracts identified in Slicer)

Background

Audiences

  • Clinical/research end users: need simple, efficient, relatively intuitive workflow to generate tractography and perform selection and statistics operations.
  • Pipeline users: the underlying implementations need to be abstracted sufficiently to allow creation of pipeline tools for large-study purposes.
  • Clinical developers: integrate DTI functionality for domain-specific purposes (neurosurgery, neurology, etc.)
  • DTI Researchers:
    • Could use Slicer+ipython+numpy+... instead of matlab and custom code. Advantages: data-reading and visualization boilerplate code already exists. Challenges: learning curve; the python suite is less integrated than matlab, but it's getting better; relative stability: matlab rarely crashes.
    • Implementation of new algorithms in Slicer opens up larger potential userbase.

Slicer advantages

See big list of DTI software here: User:inorton/DTI_Software_List.

There are several excellent DTI-centric applications. What advantages does Slicer have for DTI work?

  • More user-friendly data loading: TrackVis requires command line preprocessing; MedInria and TrackVis require manual gradient entry; DTI studio is limited to ROI exploration only (as far as I know)
  • Many segmentation options already available - no external tool (TrackVis, DTI Studio) or separate interface (MedInria) required.
  • Already integrated with intra-operative systems via OpenIGTLink functionality
  • Open-source license (TrackVis closed, MedInria non-commercial, DTI Studio closed)
  • DicomToNRRDConverter test suite: validate DICOM loading from many different scanner types, with special emphasis on DTI private header information.

Slicer disadvantages

(this is referring to Slicer3 interactive DTMRI tools: these areas need improvement in Slicer 4)

  • Current fiber data model is inefficient for interactive use on large sets (tens of thousands) of fiber tracts.
  • Missing good interactive ROI selection, clustering, and editing capability for pre-computed fibersets.
  • Need subset selection and coloring.
  • Labelmap seeding is not multi-threaded so whole-brain tractography takes forever.
  • Disjointed interface: no one-stop integrated GUI for full DICOMs->tracts->measurements workflow.

Existing NA-MIC resources

Existing open-source external resources

See big list of DTI software here: User:inorton/DTI_Software_List