Core 1b – Engineering End-user Platform

16
NA-MIC National Alliance for Medical Image Computing http://na-mic.org Core 1b – Engineering End-user Platform Steve Pieper Isomics, Inc.

description

Core 1b – Engineering End-user Platform. Steve Pieper Isomics, Inc. Topics. Slicer’s Role in the NA-MIC Renewal 2010 Year in Review Plans for This Week and Beyond. Core 1b – Engineering 5 Aims / 5 Platforms. 4. 1. - PowerPoint PPT Presentation

Transcript of Core 1b – Engineering End-user Platform

Page 1: Core 1b – Engineering End-user Platform

NA-MICNational Alliance for Medical Image Computing http://na-mic.org

Core 1b – Engineering

End-user Platform

Steve Pieper

Isomics, Inc.

Page 2: Core 1b – Engineering End-user Platform

National Alliance for Medical Image Computing http://na-mic.org

Topics

• Slicer’s Role in the NA-MIC Renewal

• 2010 Year in Review

• Plans for This Week and Beyond

Page 3: Core 1b – Engineering End-user Platform

National Alliance for Medical Image Computing http://na-mic.org

1 4

2

5

3

Core 1b – Engineering5 Aims / 5 Platforms

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

Page 4: Core 1b – Engineering End-user Platform

National Alliance for Medical Image Computing http://na-mic.org

End-user platform

• 3D Slicer: a cross platform system for translating innovative algorithms into clinical research applications

Developer NeedsClinical Grade IO and UI

Rich Utility Libraries

Extensible and Reconfigurable

Stable Base

Easily Deployable

Developer NeedsClinical Grade IO and UI

Rich Utility Libraries

Extensible and Reconfigurable

Stable Base

Easily Deployable

User NeedsEasy Install and Upgrade“Standard” Clinical BehaviorConsistent InterfaceAdvanced Functionality

User NeedsEasy Install and Upgrade“Standard” Clinical BehaviorConsistent InterfaceAdvanced Functionality

Page 5: Core 1b – Engineering End-user Platform

National Alliance for Medical Image Computing http://na-mic.org

• 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

Developer Needs

Page 6: Core 1b – Engineering End-user Platform

National Alliance for Medical Image Computing http://na-mic.org

• 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

User Needs

Page 7: Core 1b – Engineering End-user Platform

National Alliance for Medical Image Computing http://na-mic.org

Our Solution: 3D Slicer

• Focus for NA-MIC Collaborations• Platform and Reusable Parts for Wider Community

Page 8: Core 1b – Engineering End-user Platform

National Alliance for Medical Image Computing http://na-mic.org

Impact – 2008-2010

Page 9: Core 1b – Engineering End-user Platform

National Alliance for Medical Image Computing http://na-mic.org

Slicer 3.6 Highlights

Page 10: Core 1b – Engineering End-user Platform

National Alliance for Medical Image Computing http://na-mic.org

Progress in 2010 (Slicer3 only)

• Numbers 2007– Subversion Commits: 3,407– Lines of Code*: 371,428– Active Developers†: 33

*: 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

• 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

• Numbers 2008• Subversion Commits:

2,971 (8,317)• Lines of Code*:

735,536• Active Developers†: 53

• 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

Page 11: Core 1b – Engineering End-user Platform

National Alliance for Medical Image Computing http://na-mic.org

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

Page 12: Core 1b – Engineering End-user Platform

National Alliance for Medical Image Computing http://na-mic.org

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

Page 13: Core 1b – Engineering End-user Platform

National Alliance for Medical Image Computing http://na-mic.org

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…

Page 14: Core 1b – Engineering End-user Platform

National Alliance for Medical Image Computing http://na-mic.org

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

Page 15: Core 1b – Engineering End-user Platform

National Alliance for Medical Image Computing http://na-mic.org

Frameworks for Solution Types

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

User painted gestures

Segmentation overlaid with gestures

Additional User painted gestures

Final Segmentation overlaid with gestures

• Key Technologies:– GPU Volume Rendering

– Registration

– Filtering / Segmentation

– Diffusion Analysis

– Time Series

– …

Page 16: Core 1b – Engineering End-user Platform

National Alliance for Medical Image Computing http://na-mic.org

1 4

2

5

3

Core 1b – Engineering5 Aims / 5 Platforms

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