NA-MIC National Alliance for Medical Image Computing Slicer3 and Slicer4 Steve Pieper, PhD Chief Architect for 3D Slicer Engineering.

Slides:



Advertisements
Similar presentations
National Alliance for Medical Image Computing Slicer3 Architecture.
Advertisements

National Alliance for Medical Image Computing © 2010, All Rights Reserved Sonia Pujol, PhD Slicer3Minute Tutorial Sonia.
National Alliance for Medical Image Computing © 2010, ARR Sonia Pujol, PhD Slicer3Minute Tutorial Slicer3 minute tutorial.
NA-MIC National Alliance for Medical Image Computing National Alliance for Medical Image Computing: NAMIC Ron Kikinis, M.D.
Designing, Deploying and Managing Workflow in SharePoint Sites Steve Heaney Product Development Manager OBS
NA-MIC National Alliance for Medical Image Computing 3D Slicer Qt Port & qCTKWidgets Steve Pieper, Ph.D.
UNIT-e futures and UNIT-e Mobile Ben Potter Systems Architect.
NA-MIC National Alliance for Medical Image Computing 3D Slicer Version 4 Architecture and Status Steve Pieper, Ph.D.
National Alliance for Medical Image Computing Anatomy of a plugin Common architecture for interactive and batch processing.
Simple Git Steve Pieper. Topics Git considerations and Slicer Git as if it were svn Git the way it is meant to be.
NA-MIC National Alliance for Medical Image Computing 3D Slicer Interactive Modules Steve Pieper, PhD.
Professor Michael J. Losacco CIS 1150 – Introduction to Computer Information Systems Application Software Chapter 3.
NA-MIC National Alliance for Medical Image Computing Slicer4 Guided Tour Steve Pieper, Ph.D.
An Overview of Qt - asankar1. Agenda About Qt –A brief intro of Qt Qt development tools –Tools used for building Qt application Qt Architecture –The underlying.
Presented by…. Group 2 1. Programming language 2Introduction.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering End-user Platform Steve Pieper Isomics, Inc.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering End-user Platform Steve Pieper Isomics, Inc.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Computational Platform Jim Miller GE Research.
NA-MIC National Alliance for Medical Image Computing IGT Software Design and Process Bill Lorensen GE Research.
DYNAMICS CRM AS AN xRM DEVELOPMENT PLATFORM Jim Novak Solution Architect Celedon Partners, LLC
Core 1b – Engineering Dynamic Coding a.k.a. Python in Slicer
NA-MIC National Alliance for Medical Image Computing NAMIC-Kit Update Will Schroeder Jim Miller Bill Lorensen.
Stephen R. Aylward, Director of Medical Imaging, Kitware.
-- CTSA at RSNA 2009 PET/CT Analysis using 3D Slicer Jeffrey Yap PhD Ron Kikinis MD Wendy Plesniak PhD Slicer3 Training Compendium.
NA-MIC National Alliance for Medical Image Computing The NA-MIC Kit National Alliance for Medical Image Computing.
XIP™ – the eXtensible Imaging Platform A rapid application development and deployment platform Lawrence Tarbox, Ph.D. September, 2010.
NA-MIC National Alliance for Medical Image Computing NA-MIC Software Engineering Bill Lorensen GE Research NA-MIC Engineering Core PI.
3D Slicer: A Free & Open Source Platform For Medical Image Analysis and Visualization Brigham and Women’s Hospital.
Company Overview for GDF Suez December 29, Enthought’s Business Enthought provides products and consulting services for scientific software solutions.
NA-MIC National Alliance for Medical Image Computing Why NITRC Matters to NA-MIC Steve Pieper, PhD.
NA-MIC National Alliance for Medical Image Computing Slicer3 and the NA-MIC kit Sonia Pujol, Ph.D. Instructor of Radiology Surgical Planning.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Highlights, Aims and Architecture Will Schroeder Kitware.
Workflow based Slicer IGT Module : Tutorial Andinet Enquobahrie, PhD Kitware Inc December, 2008.
National Alliance for Medical Image Computing Slicer3 Status Update.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Software Process Stephen R. Aylward Kitware, Inc.
Pujol S., Plesniak, W. -1- National Alliance for Medical Image Computing Neuroimage Analysis Center Harvard CTSC Slicer3 minute tutorial Sonia Pujol, PhD.
NA-MIC National Alliance for Medical Image Computing Slicer Building and Deployment Steve Pieper, PhD.
William Schroeder, Ph.D. §, Andy Cedilnik §, Sebastien Barré, Ph.D. §, William Lorensen ‡, James Miller, Ph.D. ‡, Daniel Blezek, Ph.D. ‡ § Kitware Inc.,
Sonia Pujol, PhD National Alliance for Medical Image Computing © 2010, ARR.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Software Process Stephen R. Aylward Kitware, Inc.
NA-MIC National Alliance for Medical Image Computing The NA-MIC Kit: ITK, VTK, Pipelines, Grids and 3D Slicer as An Open Platform for.
NA-MIC National Alliance for Medical Image Computing National Alliance for Medical Image Computing: NAMIC Ron Kikinis, M.D.
The Evolution of a VR-based IGT Environment Terry Peters, Robarts Research Institute David Gobbi, CEO, Atamai Inc.
Copyright © 2008 Siemens Corporate Research – All rights reserved1/12 eXtensible Imaging Platform (Xip) Sylvain Jaume – Sep 2008 Siemens Corporate Research.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Components Jim Miller GE Research.
NA-MIC National Alliance for Medical Image Computing 3D Slicer and the NA-MIC Kit for IGT Research Steve Pieper, PhD NAC, SPL, NA-MIC,
NA-MIC National Alliance for Medical Image Computing Isomics, Inc. Steve Pieper.
NA-MIC National Alliance for Medical Image Computing Slicer 2010: Past, Present, and Future Steve Pieper, Ph.D.
Neuroimage Analysis Center An NCRR National Resource Center NAC Engineering Core Steve Pieper, Core PI SPL; Isomics, Inc.
Slicer 3 Ron Kikinis, Steve Pieper. CTK Workshop Heidelberg, June 29/30, 2009 Slicer Goals  Stable, Usable, Cross Platform, End-User Software for Medical.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Computational Platform Jim Miller GE Research.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Data Management Stephen R. Aylward Kitware, Inc.
Ubiquitous Access for Collaborative Information System Using SVG July Sangmi Lee, Geoffrey Fox, Sunghoon Ko, Minjun Wang, Xiaohong Qui
NA-MIC National Alliance for Medical Image Computing Non-Interactive Tools Stephen Aylward, Kitware
NA-MIC National Alliance for Medical Image Computing Slicer 2010: Past, Present, and Future Steve Pieper, Ph.D.
UNDERSTANDING YOUR OPTIONS FOR CLIENT-SIDE DEVELOPMENT IN OFFICE 365 Mark Rackley
Engineering Projects In Community Service Matt Mooney Community Based Research University of Notre Dame.
Visualization Programming: “Libraries” and “Toolkits” Class visualization resources CSCI 6361.
NA-MIC National Alliance for Medical Image Computing Slicer3 Update
Geant4 User Workshop 15, 2002 Lassi A. Tuura, Northeastern University IGUANA Overview Lassi A. Tuura Northeastern University,
NA-MIC National Alliance for Medical Image Computing Slicer Progress in 2009 Steve Pieper, Ph.D.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Introduction Will Schroeder Kitware, Inc.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Data Management Daniel Marcus Washington University.
Core 1b – Engineering Data and Clinical Interface
Core 2 Progress Day 1 Salt Lake City
Web App vs Mobile App.
Week 01 Comp 7780 – Class Overview.
Lesson 9: GUI HTML Editors and Mobile Web Sites
Ron Kikinis, MD Professor of Radiology, Harvard Medical School
Core 1b – A glimpse at the renewal
Presentation transcript:

NA-MIC National Alliance for Medical Image Computing Slicer3 and Slicer4 Steve Pieper, PhD Chief Architect for 3D Slicer Engineering Core PI for Neuroimage Analysis Center Engineering Site PI and Dissemination Co-PI for National Alliance for Medical Image Computing CEO of Isomics, Inc.

National Alliance for Medical Image Computing Topics Overview of 3D Slicer Slicer3 to Slicer4 Transition Issues Radiation Therapy Implementation Issues (Discussion Topics)

National Alliance for Medical Image Computing Core 1b – Engineering 5 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

National Alliance for Medical Image Computing Multi-OS End-User Application (Windows, Linux, Mac) Medical Image Visualization and Analysis –Multi-Modal: CT, MR, fMRI, dMRI… –Integrated View: Images, Surfaces, Annotations, Devices… –Project on the Scale of a Microsoft Office or Adobe Photoshop Extensible Architecture –Dozens of Custom Modules –Application Specific Functionality Fully Open and Non-Restrictive License –All Source Code Available –Can Be Used in Commercial or Proprietary Projects Common Platform for Medical Image Computing Research and Dissemination Because Slicer Exists, Researchers Don’t Need to Reinvent the Wheel for Each Project What is Slicer? Images: A. Jakab and the Slicer Community

National Alliance for Medical Image Computing 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 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 User Needs Easy Install and Upgrade “Standard” Clinical Behavior Consistent Interface Advanced Functionality

National Alliance for Medical Image Computing 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 the most common platforms Developer Needs

National Alliance for Medical Image Computing 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

National Alliance for Medical Image Computing 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

National Alliance for Medical Image Computing Slicer Development & Dissemination Distributed Team Twice-Yearly Project Weeks with 100+ Developers Yearly Large Releases Integrate Latest Advances –Slicer Released March, 2011 Training and Outreach Events –Over 30 in 2010 Alone! Slicer Extension Modules –Standard Framework for Disseminating our Science –End-to-End Solutions Contributed by Dozens of Institutions Publications, Code, Data, Tutorials Reproducible Science

National Alliance for Medical Image Computing Slicer Impact 20,000 Downloads Per Year 200 Peer Reviewed Publications Dozens of Funded Collaborations Active Academic and Industrial Participation Software is Increasingly Essential for Medical Research Slicer has a Proven Formula for Software Innovation and Dissemination

National Alliance for Medical Image Computing Slicer4: Collaborations Nokia - Qt Software Ecosystem CTK (Common Toolkit) –Widgets, DICOM, Messaging… BRAINS, BioImageSuite… ITKv4 Scipy (Scientific Python), Nipy (Neuroimaging Python) And, of course, NAC, NCIGT, NA-MIC DBPs, Collaboration Grants, Like-Minded Developers, Longtime Friends and Family…

National Alliance for Medical Image Computing Slicer4 Compatibility Pledge Import.xml and.mrml from Slicer2.x and Slicer3.x Command Line Modules will not Need to Change –Except perhaps the build tree –Can be modified for new features if desired 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

National Alliance for Medical Image Computing Slicer4: Git Git Advantages: –Arguably better than svn –Many (all?) of our colleagues are migrating Git Disadvantages: –Best practices still evolving –Many (most?) of our colleagues are frustrated ;) We had planned to use git from the start for slicer4, but have backed off. Now we suggest using git-svn for your own work and collaborative topic branches

National Alliance for Medical Image Computing Slicer4: Qt Qt for Slicer4 –Released LGPL by Nokia –Large Developer Community –Many Highly Refined Tools –Major Effort Underway thanks to ARRA Supplement –Results are Very Encouraging, but there is a lot To Do… Qt as a Platform –No Longer in Nokia’s Critical Path for Smartphones –Desktop Qt Works Well for Our Needs –Need to Watch Long Term Development Trends

National Alliance for Medical Image Computing 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

National Alliance for Medical Image Computing 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

National Alliance for Medical Image Computing Slicer4: PythonQt Developed by Mevislab (Germany) LGPL, Stable Scripted Access to Classes, Signals, Slots, Properties May (or may not) be Replaced with PySide in the Future

National Alliance for Medical Image Computing Slicer4: Tcl and Python VTK and VTK-based Slicer4 Code are Wrapped with Python A Compatibility Layer Allows Tcl to Call VTK/Slicer Code via Python –This is the inverse of Slicer3, where Python calls are routed through Tcl –Used for Editor and Slice Interaction –This layer is for porting only and should not be used when writing new code Any Tk or KWWidgets GUI code will need to be rewritten in Qt

National Alliance for Medical Image Computing 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 Extension Support –Coming Try It –Slicer4 Build Instructions on Wiki

National Alliance for Medical Image Computing Slicer4: Development Emphasis on the NA-MIC Software Engineering Methdology –Testing, Coverage, Documentation & Coding Style New Modules Start as Extensions –Only Widely Applicable Functionality Bundled with Application –Only When Coding Standards Are Met Increase Communication via the Developer Mailing List –Keep Everyone in the Loop on Architecture and Coding Conventions –Verbose Commit Messages

National Alliance for Medical Image Computing Slicer4: What Works (mostly) Main GUI, Toolbars, Menus Scene/Data Load/Save Slice and 3D Visualization (pan/zoom, overlays, models…) Command Line Modules Python Wrapping, Python Scripted Modules Loadable Modules Editor Annotations (Evolution of Fiducials and Measurements) Many things…

National Alliance for Medical Image Computing Slicer4: What’s Missing Many Core Modules Volume Rendering Hierarchies IGT Modules Extensions Progress / Status feedback Your Module! Please help identify what is needed to support your work.

National Alliance for Medical Image Computing Slicer4: Radiation Therapy Topics DICOM RT –Greg Sharp will Describe Slicer3/Slicer4 Plastimatch I/O –ITKv4 was Planning DICOM RT Support –DCMRT is a DCMTK Extension from Oldenberg (Offis) and DKFZ in Heidelberg Multi-Structure Volume Representation in VTK and ITK –Vector Valued Pixel Data –Efficient Transforms and Rendering –Preserving DICOM Header Information CUDA/OpenCL Deployment (shadie) Server-Side-Slicer –In Prototype Phase –Web Apps for Deployment to Workstations via Browser –Javascript, HTML5, WebGL…