Slicer3 and Slicer4 - PowerPoint PPT Presentation

1 / 27
About This Presentation
Title:

Slicer3 and Slicer4

Description:

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 ... – PowerPoint PPT presentation

Number of Views:219
Avg rating:3.0/5.0
Slides: 28
Provided by: JamesM202
Category:

less

Transcript and Presenter's Notes

Title: Slicer3 and Slicer4


1
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
Topics
  • Overview of 3D Slicer
  • Slicer3 to Slicer4 Transition Issues
  • Radiation Therapy Implementation Issues
    (Discussion Topics)

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
4
What is Slicer?
  • 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 Dont Need to
    Reinvent the Wheel for Each Project

http//slicer.org
Images A. Jakab and the Slicer Community
5
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
6
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 the most common platforms

7
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

8
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
Slicer Development Dissemination
  • Distributed Team
  • Twice-Yearly Project Weeks with 100 Developers
  • Yearly Large Releases Integrate Latest Advances
  • Slicer 3.6.3 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
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
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
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
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
  • http//www.slicer.org/slicerWiki/index.php/Slicer3
    git-svn

14
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 Nokias Critical Path for
    Smartphones
  • Desktop Qt Works Well for Our Needs
  • Need to Watch Long Term Development Trends

15
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
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
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
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
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
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
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
Slicer4 Whats 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
Integration Options
24
Extensions
  • Keep the base package lean and mean
  • Modules have individual identity
  • Per-module web site, svn, downloads, mailing
    lists, wiki
  • Allow users to assemble their own set of tools
  • Customized Bundles by task or application
  • Easy to download compatible extensions
  • Analogous to Firefox extensions
  • Integrate extension builds into
    developer/nightly/release processs
  • NITRC Supplement to NA-MIC helping to pay for
    needed infrastructure (Neuroimaging Informatics
    Tools and Resources Clearinghouse)
  • NITRC can host neuroimaging projects (gforge
    implementation)

25
Extensions
  • Keep the base package lean and mean
  • Modules have individual identity
  • Per-module web site, svn, downloads, mailing
    lists, wiki
  • Allow users to assemble their own set of tools
  • Customized Bundles by task or application
  • Easy to download compatible extensions
  • Analogous to Firefox extensions
  • Integrate extension builds into
    developer/nightly/release processs
  • NITRC Supplement to NA-MIC helping to pay for
    needed infrastructure (Neuroimaging Informatics
    Tools and Resources Clearinghouse)
  • NITRC can host neuroimaging projects (gforge
    implementation)

26
Extensions Interface
27
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
Write a Comment
User Comments (0)
About PowerShow.com