170 likes | 371 Views
Slicer 2010: Past, Present, and Future. Steve Pieper, Ph.D. Slicer 3.6 Slicer Timeline Slicer 4 Topics Developer Decision Tree. Topics. Slicer Background. 3D Slicer Role in NA-MIC Translation Platform to get Medical Computing Technology to DBP Researchers
E N D
Slicer 2010:Past, Present, and Future Steve Pieper, Ph.D.
Slicer 3.6 Slicer Timeline Slicer 4 Topics Developer Decision Tree Topics
Slicer Background • 3D Slicer Role in NA-MIC • Translation Platform to get Medical Computing Technology to DBP Researchers • Provide Reference Implementation using NA-MIC Kit • Part of NA-MIC Outreach to New Applications • First Slicer3 svn commit: January 26, 2006
3D Slicer version 3.6!!! Congratulations and Thanks! Dozens of Contributors and Many, Many Bug Fixes and New Features See slicer.org for info…
Slicer Timeline 3.6.X Patch Releases During 2010 Transition to Slicer4 in Second Half of 2010 Slicer4 Release in 2011 (Date TBD)
Stable End of KWWidgets-based Slicer Bug Fixes in Core Libraries Updated Modules Meshing, Prostate IGT, EMSegmenter… 3.6.1 this summer, others later No new features in Slicer3 svn trunk Code that is being tested for inclusion in 3.6.X Code that will migrate to 4.x (Qt code, conditionally compiled) Nightly builds and dashboards will be based on Slicer3 svn trunk during summer 2010 Maintenance will continue through 2011 and beyond as needed Slicer 3.6.X
Slicer4 Goals Slim Down, Modernize, and Optimize Improve Collaboration and Code Sharing with Research Community Introduce New Technologies Increase Testing and Code Consistency
Slicer4 Collaborations Nokia - Qt Software Ecosystem CTK (Common Toolkit) Widgets, DICOM, Messaging… BRAINS ITKv4 Scipy (Scientific Python), Nipy (Neuroimaging Python) And, of course, NAC, NCIGT, NA-MIC DBPs, Collaboration Grants, Like-Minded Developers, Longtime Friends and Family…
Slicer4 Compatibility Pledge Import .xml and .mrml from Slicer2.x and Slicer3.x Command Line Modules will not Need to Change Core Modules will be Ported Help will be Provided for Porting Loadable Modules MRML and Logic Basically Unchanged, Only GUI Needs to be Rewritten ModuleWizard to Create Code Framework Consistent Slicer Terminology and Concepts Ease User Transition, Leverage Training
Slicer4: Git Distributed Source Control Faster Enables Scalable Workflows for Larger Teams Requires New Thinking Come Thursday at 2 for More Info… We will create a Slicer4 Git this Summer History will be imported Host TBD (possibly github or Kitware)
Slicer4: Qt Large Developer Community Many Highly Refined Tools Major Effort Underway thanks to ARRA Supplement Learn More this Afternoon 1-3 Results are Encouraging, but there is Much To Do…
Slicer4: Qt Impact No More X11 on Mac OSX New C++ Paradigms Designer for GUI Construction Native WebKit Native HTML (CSS, HTML5, webgl) JavaScript Engine
Slicer4: CTK See commontk.org for info CTK is Home Many for “Generic” Parts of Slicer4 CTKWidgets, including Transfer Function Editor CTKDICOM, based on DCMTK Other Code may Migrate (Execution Model? MRML? …) Active International Development Team
Slicer4: PythonQt Developed by Mevislab (Germany) LGPL, Stable Scripted Access to Classes, Signals, Slots, Properties May (or may not) be Replace with PySide in the Future
Slicer4: Tcl and Python VTK and VTK-based Slicer4 Code will be Wrapped with Python A Compatibility Layer will Allow Tcl to Call VTK/Slicer Code via Python This will be the inverse of Slicer3, where Python calls are routed through Tcl Any Tk or KWWidgets GUI code will need to be rewritten
Slicer4: SuperBuild Evolution of getbuildtest.tcl Concept into Pure CMake More General Implementation to Serve as Template for Other Projects getbuildtest is Still the Supported Tool for Slicer3.6 Hierarchical CTK also Uses SuperBuild Try It Slicer4 Build Instructions on Wiki
Developer Decision Tree Command Line Module? Develop and Test with Slicer3.6 GUI Project with Deadlines in 2010? Develop for 3.6.X Longer-Term Project that Needs a Custom GUI? Start Learning Qt Implement Logic and MRML with Slicer3 Expect to have Usable Slicer4 alphas in late 2010