Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "NA-MIC National Alliance for Medical Image Computing Slicer3 and Slicer4 Steve Pieper, PhD Chief Architect for 3D Slicer Engineering."— Presentation transcript:

1 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.

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

3 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

4 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

5 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

6 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

7 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

8 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

9 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

10 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

11 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…

12 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

13 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

14 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

15 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

16 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

17 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

18 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

19 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

20 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

21 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…

22 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.

23 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…


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

Similar presentations


Ads by Google