Download
core 1b engineering end user platform n.
Skip this Video
Loading SlideShow in 5 Seconds..
Core 1b – Engineering End-user Platform PowerPoint Presentation
Download Presentation
Core 1b – Engineering End-user Platform

Core 1b – Engineering End-user Platform

114 Views Download Presentation
Download Presentation

Core 1b – Engineering End-user Platform

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Core 1b – EngineeringEnd-user Platform Steve Pieper Isomics, Inc.

  2. Topics • Slicer’s Role in the NA-MIC Renewal • 2010 Year in Review • Plans for This Week and Beyond

  3. Core 1b – Engineering5 Aims / 5 Platforms 4 1 Architecture – tools, operating paradigms, reporting mechanisms, integration points End-user platform – interactive methods and information visualization for longitudinal analysis, exploratory data analysis, and translational research Computational platform – stream processing, cloud computing, statistical analysis, informatics, machine learning Data management – non-imaging and derived data, DICOM and cloud services Software engineering and software quality – navigable timeline for revision control, build, test, documentation and release 3 2 5

  4. End-user platform • 3D Slicer: a cross platform system for translating innovative algorithms into clinical research applications Developer Needs Clinical Grade IO and UI Rich Utility Libraries Extensible and Reconfigurable Stable Base Easily Deployable User Needs Easy Install and Upgrade “Standard” Clinical Behavior Consistent Interface Advanced Functionality

  5. Developer Needs • Clinical Grade IO and UI • Slicer developers work closely with DBPs on real data and are exposed to clinical state of the art • Rich Utility Libraries • NA-MIC Kit • Extensible and Reconfigurable • Loadable Extensions • Scriptable GUI • Stable Base • Nightly Extensions Built Against Latest Slicer Release • Slicer Release Relies on Upstream Release (ITK, VTK, etc) • Easily Deployable • Binary Installers for all platforms

  6. User Needs • Easy Install and Upgrade • Binary installers and Extension Wizard • “Standard” Clinical Behavior • Adhere to Conventions where Possible • Varies by Domain (IGT Navigation vs. Neuroscience Research vs. RT Planning) • New Functionality has no “Standard” by Definition • Consistent Interface • Learning one Slicer Module should help you know how to use other ones • Advanced Functionality • Main Motivation: you use slicer because nothing else does what you need – we try to make that as painless as possible

  7. Our Solution: 3D Slicer • Focus for NA-MIC Collaborations • Platform and Reusable Parts for Wider Community

  8. Impact – 2008-2010

  9. Slicer 3.6 Highlights

  10. Progress in 2010 (Slicer3 only) Numbers 2007 Subversion Commits: 3,407 Lines of Code*: 371,428 Active Developers†: 33 • Numbers 2010 • Subversion Commits: 4188 (15,729 total) • Lines of Code*: 925,398 • Bugs & Features: • 521 Closed • 1046 Total • Active Developers†: 81 • 3D Slicer Versions 3.6 / 3.6.1 / 3.6.2 • Released June / August / November, 2010 • Numbers 2008 • Subversion Commits: 2,971 (8,317) • Lines of Code*: 735,536 • Active Developers†: 53 • Numbers 2009 • Subversion Commits: 3,224 (11,541 total) • Lines of Code*: 914,466 • Active Developers†: 68 • 3D Slicer Version 3.4/3.4.1 • Released May/October, 2009 *: find . -iname \*.h -o -iname \*.cxx -o -iname \*.tcl -o -iname \*.java -o -name \*.py | grep -v svn | xargs wc (does not include libraries or modules in external repositories) †: svn log | grep "^r" | cut -d " " -f 3 | sort | uniq | wc

  11. What’s Next? • 3D Slicer Version 4.0 • Under Active Development • Developer Beta Binaries Now! • ARRA Supplement for Qt Port • Module Porting is Major Goal for 2011 • Slicer2 -> Slicer3 was ~80% rewrite • Slicer3 -> Slicer4 is ~30% rewrite

  12. Slicer4 Keys to Success • Multi-purpose Modules • CLI with Hot Update • Scripted Modules as CLI or Stand-Alone Interfaces “Slicelets” • “.slicer” Extension for scripts that define custom GUI to Slicer functionality • Leverage Community Developments (ITKv4, VTK, CTK, NiPy…) • Focus on Extensions to Facilitate Collaboration

  13. Extensions • Promising Start in Slicer3 • 29 Extensions in Nightly Build • To be a key part of Slicer4 with CDash@Home • Keep the Core Maintainable • Allow Module Developers to Work with Stable Slicer Release • Nightly Build/Test/Deploy • Independent Repostitory, Wiki, Issues Tracking…

  14. Translational Focus • Improved DICOM Support • Local Database • Query / Retrieve / Store • Application Hosting • OpenIGT Link and Real-Time Performance • Clinical Interfaces • Uncluttered Display • Compare View, Lightbox • Large Format, Multi-Monitor

  15. Example: GrowCut Slicer Editor Effect Multiple paint tool interactions Simultaneous viewing of user inputs and segmentation Edit segmentation with additional gestures Framework for other interactive methods Frameworks for Solution Types • Key Technologies: • GPU Volume Rendering • Registration • Filtering / Segmentation • Diffusion Analysis • Time Series • … User painted gestures Segmentation overlaid with gestures Additional User painted gestures Final Segmentation overlaid with gestures

  16. Core 1b – Engineering5 Aims / 5 Platforms 4 1 Architecture – tools, operating paradigms, reporting mechanisms, integration points End-user platform – interactive methods and information visualization for longitudinal analysis, exploratory data analysis, and translational research Computational platform – stream processing, cloud computing, statistical analysis, informatics, machine learning Data management – non-imaging and derived data, DICOM and cloud services Software engineering and software quality – navigable timeline for revision control, build, test, documentation and release 3 2 5