Difference between revisions of "Slicer3:MiniRetreat February 7-8, 2007"

From NAMIC Wiki
Jump to: navigation, search
Line 4: Line 4:
  
 
* '''Python integration -''' We'll be looking at a Python package for providing publication quality 2D plots. At this meeting, we'll determine the feasibility of this approach and develop an initial design.  Using this Python package, opens the door for incorporating additional aspects of NumPy and SciPy as well.  This could provide a MATLAB style interface to images for rapid prototyping.
 
* '''Python integration -''' We'll be looking at a Python package for providing publication quality 2D plots. At this meeting, we'll determine the feasibility of this approach and develop an initial design.  Using this Python package, opens the door for incorporating additional aspects of NumPy and SciPy as well.  This could provide a MATLAB style interface to images for rapid prototyping.
** Usage scenarios:
+
** '''Usage scenarios:'''
 
*** VolumeMath, VolumeLogic, VolumeStatistics, (e.g. Corrupt an image with noise)
 
*** VolumeMath, VolumeLogic, VolumeStatistics, (e.g. Corrupt an image with noise)
 
*** Event passing from Slicer to matplotlib (e.g. Click on a sample in a plot and highlight object in 3D viewer/Slice plane)
 
*** Event passing from Slicer to matplotlib (e.g. Click on a sample in a plot and highlight object in 3D viewer/Slice plane)
** Issues:
+
** '''Issues:'''
 
*** More than one way to do the same thing (Tcl access, Python access, VTK, ITK)
 
*** More than one way to do the same thing (Tcl access, Python access, VTK, ITK)
 
*** Python view into Slicer or complete wrapping of Slicer, ITK, VTK, and KWWidgets
 
*** Python view into Slicer or complete wrapping of Slicer, ITK, VTK, and KWWidgets
 +
** '''Status:'''
 +
*** Dan has Python, Tcl, and Slicer talking nice. 
 +
*** Next steps are to parent a matplotlib off a KWWidget
 
* '''Other viewers -''' Taking the aforementioned 2D plotting capability as an additional viewer of data that can be added to the Slicer display, there are requests for other types of viewers as well.  One that GE has interest in for an internal project is a CSV viewer to display Comma Separated Value files.  Other viewers could be plain text viewers, HTML, XML.
 
* '''Other viewers -''' Taking the aforementioned 2D plotting capability as an additional viewer of data that can be added to the Slicer display, there are requests for other types of viewers as well.  One that GE has interest in for an internal project is a CSV viewer to display Comma Separated Value files.  Other viewers could be plain text viewers, HTML, XML.
 +
** '''Status'''
 +
*** We need to extend Slicer's layout mechanism so that the user can select what type of viewer to put in each pane.  e.g. one 3D viewer, two 2D viewers, a plot viewer, and CSV viewer.
 +
*** We discussed adding another layout button to reconfigure the Slicer layout to the ''module preferred' layout
 +
*** VTK5.x has some Table classes
 
* '''Coordinate frames for plugins -''' Providing multiple datasets to a plugin implies we are also providing the plugin with the relative coordinate frames, either explictly or implicitly.  We need to finalize a design whereby volumes and models are handled uniformly with respect to coordinate frames, in particular local verses world and LPS verses RAS.
 
* '''Coordinate frames for plugins -''' Providing multiple datasets to a plugin implies we are also providing the plugin with the relative coordinate frames, either explictly or implicitly.  We need to finalize a design whereby volumes and models are handled uniformly with respect to coordinate frames, in particular local verses world and LPS verses RAS.
 +
** '''Status:'''
 +
*** Alex, Mike, and Steve have a plan for introducing ''relationship nodes'' between two other nodes that can be used to define coordinate frames and grouping.
 
* '''Binary File Descriptor Library -''' We would like to use the Binary File Descriptor Library for peeking into command line executable modules for global symbols.  Libbfd can provide a 50X decrease in module discovery time.  However, there are some issues with 64bit Linux installations.  Also, libbfd is not installed by default on all Linux and Mac configurations.
 
* '''Binary File Descriptor Library -''' We would like to use the Binary File Descriptor Library for peeking into command line executable modules for global symbols.  Libbfd can provide a 50X decrease in module discovery time.  However, there are some issues with 64bit Linux installations.  Also, libbfd is not installed by default on all Linux and Mac configurations.
** We now have a TRY_COMPILE that mimics how Slicer uses libbfd, so if the TRY_COMPILE fails, Slicer will not be built with libbfd support.
+
** '''Status:'''
** Still need to figure out how to get these Linux and Mac hosts to have the proper libbfd support.
+
*** We now have a TRY_COMPILE that mimics how Slicer uses libbfd, so if the TRY_COMPILE fails, Slicer will not be built with libbfd support.
 +
**** Still having some issues on some 64 bit Linux platforms
 +
*** Still need to figure out how to get these Linux and Mac hosts to have the proper libbfd support.
 
* '''DWI/DTI Plugins -''' We would like to finalize the command line module handling on DWI and DTI data.  This should be the ''last mile'' integration step.
 
* '''DWI/DTI Plugins -''' We would like to finalize the command line module handling on DWI and DTI data.  This should be the ''last mile'' integration step.
 +
** '''Status:'''
 +
*** DWI/DTI storage nodes are in place.  Jim will finish the CommandLineModule integration.
 
* '''Usability -''' Addressing Ron's gentle reminders ''(RGR's)'' to make Slicer easy to use.
 
* '''Usability -''' Addressing Ron's gentle reminders ''(RGR's)'' to make Slicer easy to use.
 
* '''Editor -''' We can take a look at the editor module and discuss strategies to improve performance.
 
* '''Editor -''' We can take a look at the editor module and discuss strategies to improve performance.
 +
** '''Status:'''
 +
*** Steve is experimenting with a simplified reslice algorithm
 
* '''Testing -''' Develop plans for incorporating more ''Slicer Regression Tests (SRT)'' which start Slicer, load data, change a module parameter, run a module, regression test result. We also need a test presents the CMake environment (Cache, etc.) as a note.
 
* '''Testing -''' Develop plans for incorporating more ''Slicer Regression Tests (SRT)'' which start Slicer, load data, change a module parameter, run a module, regression test result. We also need a test presents the CMake environment (Cache, etc.) as a note.
* '''Module logos -''' Incorporating command line module logos into the ''Help & Acknowledgements'' section of the Module GUI.
+
* '''Module logos -''' Incorporating command line module logos into the ''Help & Acknowledgments'' section of the Module GUI.
 +
** '''Status:'''
 +
*** Wendy has the logos appearing on the ''Help & Acknowledgemnts'' page
 
* '''Model Maker -''' Adding support to pass a MRML file name to CLI modules and then import the scene back into Slicer3
 
* '''Model Maker -''' Adding support to pass a MRML file name to CLI modules and then import the scene back into Slicer3
  

Revision as of 20:38, 8 February 2007

Home < Slicer3:MiniRetreat February 7-8, 2007

Goals

Jim Miller and Dan Blezek will meet with Steve Pieper and company on Feb. 7-8, 2007 for a mini-retreat. This will be a detailed work session focusing on the following topics:

  • Python integration - We'll be looking at a Python package for providing publication quality 2D plots. At this meeting, we'll determine the feasibility of this approach and develop an initial design. Using this Python package, opens the door for incorporating additional aspects of NumPy and SciPy as well. This could provide a MATLAB style interface to images for rapid prototyping.
    • Usage scenarios:
      • VolumeMath, VolumeLogic, VolumeStatistics, (e.g. Corrupt an image with noise)
      • Event passing from Slicer to matplotlib (e.g. Click on a sample in a plot and highlight object in 3D viewer/Slice plane)
    • Issues:
      • More than one way to do the same thing (Tcl access, Python access, VTK, ITK)
      • Python view into Slicer or complete wrapping of Slicer, ITK, VTK, and KWWidgets
    • Status:
      • Dan has Python, Tcl, and Slicer talking nice.
      • Next steps are to parent a matplotlib off a KWWidget
  • Other viewers - Taking the aforementioned 2D plotting capability as an additional viewer of data that can be added to the Slicer display, there are requests for other types of viewers as well. One that GE has interest in for an internal project is a CSV viewer to display Comma Separated Value files. Other viewers could be plain text viewers, HTML, XML.
    • Status
      • We need to extend Slicer's layout mechanism so that the user can select what type of viewer to put in each pane. e.g. one 3D viewer, two 2D viewers, a plot viewer, and CSV viewer.
      • We discussed adding another layout button to reconfigure the Slicer layout to the module preferred' layout
      • VTK5.x has some Table classes
  • Coordinate frames for plugins - Providing multiple datasets to a plugin implies we are also providing the plugin with the relative coordinate frames, either explictly or implicitly. We need to finalize a design whereby volumes and models are handled uniformly with respect to coordinate frames, in particular local verses world and LPS verses RAS.
    • Status:
      • Alex, Mike, and Steve have a plan for introducing relationship nodes between two other nodes that can be used to define coordinate frames and grouping.
  • Binary File Descriptor Library - We would like to use the Binary File Descriptor Library for peeking into command line executable modules for global symbols. Libbfd can provide a 50X decrease in module discovery time. However, there are some issues with 64bit Linux installations. Also, libbfd is not installed by default on all Linux and Mac configurations.
    • Status:
      • We now have a TRY_COMPILE that mimics how Slicer uses libbfd, so if the TRY_COMPILE fails, Slicer will not be built with libbfd support.
        • Still having some issues on some 64 bit Linux platforms
      • Still need to figure out how to get these Linux and Mac hosts to have the proper libbfd support.
  • DWI/DTI Plugins - We would like to finalize the command line module handling on DWI and DTI data. This should be the last mile integration step.
    • Status:
      • DWI/DTI storage nodes are in place. Jim will finish the CommandLineModule integration.
  • Usability - Addressing Ron's gentle reminders (RGR's) to make Slicer easy to use.
  • Editor - We can take a look at the editor module and discuss strategies to improve performance.
    • Status:
      • Steve is experimenting with a simplified reslice algorithm
  • Testing - Develop plans for incorporating more Slicer Regression Tests (SRT) which start Slicer, load data, change a module parameter, run a module, regression test result. We also need a test presents the CMake environment (Cache, etc.) as a note.
  • Module logos - Incorporating command line module logos into the Help & Acknowledgments section of the Module GUI.
    • Status:
      • Wendy has the logos appearing on the Help & Acknowledgemnts page
  • Model Maker - Adding support to pass a MRML file name to CLI modules and then import the scene back into Slicer3

Schedule

Wednesday, February 7th, 2007

  • 8am - Grab some coffee and start working!
  • 3pm - Break from NA-MIC to chat about surgery. (Is this at 1249 or SPL? Tkapur 14:00, 7 February 2007 (EST))
  • 6pm - Dinner?

Thursday, February 8th, 2007

  • 8am - Grab some coffee and start working!
  • 3pm - NA-MIC TCON.
  • 4pm - Head for the barn.