Slicer3:MiniRetreat February 7-8, 2007

From Slicer Wiki
Jump to: navigation, search
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 nicely.
      • 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 that may be useful
      • May also want to plot any collection of DataArrays hanging off of a node.
  • 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. These relationship nodes should help us put data in the same coordinate frame for a module.
  • 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.
      • ITK's NRRDImageIO converts data to LPS but leaves the designation of the coordinate frame unchanged in the MetaDataDictionary. When the data is written back to disk, NRRDImageIO ends up indicating an incorrect coordinate frame designation.
  • 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
      • We also discussed modifying just the image in the slice viewer until the user releases the mouse, then update the source labelmap.
  • 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. Needs to be checked in?
  • 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.
  • 6pm - Dinner?

Thursday, February 8th, 2007

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