Difference between revisions of "2007 Project Week MIT QDEC Slicer3 Integration"

From NAMIC Wiki
Jump to: navigation, search
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
== Abstract ==
 
== Abstract ==
  
Incorporating the functionality of the MGH developed Freesurfer front end query tool (QDEC) into Slicer 3.  Explore related issues of how to better integrate Freesurfer and Slicer3.
+
Incorporating some of the functionality of the MGH developed Freesurfer front end query tool (QDEC) into Slicer 3.  Explore related issues of how to better integrate Freesurfer and Slicer3.
  
 
== Discussion ==
 
== Discussion ==
  
* What defines a successful integration?
+
* Slicer will incorporate the basic QDEC functionality:
** ?
+
** load a user-supplied table of subject data (the qdec.table.dat file)
 +
** display the available discrete and continous factors, and allow their selection
 +
** call mri_glmfit (through the C++ API, to be supplied)
 +
** display the overlay data
 +
** allow selection of a vertex, and display a scatter plot
 
* What's a list of issues that need a good working solution?
 
* What's a list of issues that need a good working solution?
 
** being able to read volume encoced scalar format - done, changes made to vtkMRMLModelStorageNode
 
** being able to read volume encoced scalar format - done, changes made to vtkMRMLModelStorageNode
 
** being able to composite scalars in Slicer3 - done, vtkMRMLModelNode::CompositeScalars (need to save the model in vtk to save the composite in mrml) [[Image:Slicer3ReadMGHVolumeEncodedScalars.jpg | FreeSurfer versus Slicer]]
 
** being able to composite scalars in Slicer3 - done, vtkMRMLModelNode::CompositeScalars (need to save the model in vtk to save the composite in mrml) [[Image:Slicer3ReadMGHVolumeEncodedScalars.jpg | FreeSurfer versus Slicer]]
** picking points on models
+
** picking points on models - use the fiducials interface to get at vertex ids and index into scalar overlays - done, the vtkSlicerViewerWidget class Pick method sets the picked cell ID, vertex ID - check if the Pick succeeded in finding a model node (PickedNodeName != ""), then use it to get the model node, which contains polydata that can be indexed using the vertex ID (PickedPointID)
 
** FSGDF plotting
 
** FSGDF plotting
 
* Identify which parts of this project are:
 
* Identify which parts of this project are:
Line 18: Line 22:
 
# what common libraries could be shared by both of those efforts.
 
# what common libraries could be shared by both of those efforts.
 
## MGH host a publicly readable svn repository, perhaps called libMGH, where all this stuff would be captured as the "official" reference implementation.  MGH internal projects also rely on the library so that other users could be confident that the library is up to date and fully compatible.
 
## MGH host a publicly readable svn repository, perhaps called libMGH, where all this stuff would be captured as the "official" reference implementation.  MGH internal projects also rely on the library so that other users could be confident that the library is up to date and fully compatible.
 +
* The core QDEC engine, mri_glmfit, will be supplied as a binary, and C++ interface objects will provide the access to it, and input data loading. Slicer (and our QDEC) will compile against those C++ objects
  
 
== Slide ==
 
== Slide ==

Latest revision as of 18:41, 10 May 2007

Home < 2007 Project Week MIT QDEC Slicer3 Integration

Abstract

Incorporating some of the functionality of the MGH developed Freesurfer front end query tool (QDEC) into Slicer 3. Explore related issues of how to better integrate Freesurfer and Slicer3.

Discussion

  • Slicer will incorporate the basic QDEC functionality:
    • load a user-supplied table of subject data (the qdec.table.dat file)
    • display the available discrete and continous factors, and allow their selection
    • call mri_glmfit (through the C++ API, to be supplied)
    • display the overlay data
    • allow selection of a vertex, and display a scatter plot
  • What's a list of issues that need a good working solution?
    • being able to read volume encoced scalar format - done, changes made to vtkMRMLModelStorageNode
    • being able to composite scalars in Slicer3 - done, vtkMRMLModelNode::CompositeScalars (need to save the model in vtk to save the composite in mrml) FreeSurfer versus Slicer
    • picking points on models - use the fiducials interface to get at vertex ids and index into scalar overlays - done, the vtkSlicerViewerWidget class Pick method sets the picked cell ID, vertex ID - check if the Pick succeeded in finding a model node (PickedNodeName != ""), then use it to get the model node, which contains polydata that can be indexed using the vertex ID (PickedPointID)
    • FSGDF plotting
  • Identify which parts of this project are:
  1. internal developments, tightly coupled to the MGH environment
  2. features that Slicer3 might have in order to provide some qdec-type functionality to a potentially wider audience (say, BIRN users on windows)
    1. code in slicer for reading mgh file formats (mgz, surfaces, annotations, etc) into ITK and VTK which is duplicated with code used in qdec, scuba, etc.
  3. what common libraries could be shared by both of those efforts.
    1. MGH host a publicly readable svn repository, perhaps called libMGH, where all this stuff would be captured as the "official" reference implementation. MGH internal projects also rely on the library so that other users could be confident that the library is up to date and fully compatible.
  • The core QDEC engine, mri_glmfit, will be supplied as a binary, and C++ interface objects will provide the access to it, and input data loading. Slicer (and our QDEC) will compile against those C++ objects

Slide

4 block slide

Project Page

Participants

  • Nicole Aucoin BWH
  • Kevin Teich MGH
  • Nick Schmansky MGH
  • Doug Greve MGH
  • Gheorghe Postelnicu MGH
  • Steve Pieper Isomics

Back to Project week