Software Process for Distributed Teams KITWARE, Inc.

Slides:



Advertisements
Similar presentations
Building Open Science Communities
Advertisements

The Insight Journal Kitware Inc.. Credits Julien Jomier – UNC Caddlab Stephen Aylward – UNC Caddlab Zack Galbreath – Kitware Andy Cedilnik – Kitware Bill.
Slicer3 for developers – Sonia Pujol, Ph.D. -1- National Alliance for Medical Image Computing Programming into Slicer3 Sonia Pujol, Ph.D. Surgical Planning.
NA-MIC National Alliance for Medical Image Computing National Alliance for Medical Image Computing: NAMIC Ron Kikinis, M.D.
DIGIDOC A web based tool to Manage Documents. System Overview DigiDoc is a web-based customizable, integrated solution for Business Process Management.
LeadManager™- Internet Marketing Lead Management Solution May, 2009.
I:\Share\Bestuursinligting\OUDITfinaal\Portfolio\Statistics\BI UPSpace An institutional repository for the University of.
Chapter 5 Application Software.
Building Open Science Luis Ibáñez Kitware, Inc. The Insight Journal.
Sam Kalb Scholarly Communication Services Coordinator QUEEN’S.
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 IGT Software Design and Process Bill Lorensen GE Research.
William Lorensen GE Research Niskayuna, NY February 12, 2001 Insight Segmentation and Registration Toolkit.
NA-MIC National Alliance for Medical Image Computing NAMIC-Kit Update Will Schroeder Jim Miller Bill Lorensen.
Trimble Connected Community
© Paradigm Publishing, Inc. 5-1 Chapter 5 Application Software Chapter 5 Application Software.
Open Source Workshop MICCAI 2005 Insight Software Consortium (ISC) National Alliance for Medical Image Computing (NA-MIC)
NA-MIC National Alliance for Medical Image Computing The NA-MIC Kit National Alliance for Medical Image Computing.
The DSpace Course Module – An introduction to DSpace.
NA-MIC National Alliance for Medical Image Computing NA-MIC Software Engineering Bill Lorensen GE Research NA-MIC Engineering Core PI.
Sakai Overview Sakai Conference: June 12-14, 2007 Amsterdam, NL.
NA-MIC National Alliance for Medical Image Computing Why NITRC Matters to NA-MIC Steve Pieper, PhD.
IGT System Design Kevin Cleary, PhD Imaging Science and Information Systems (ISIS Center) Department of Radiology Georgetown University Medical Center.
PUBLISHING ONLINE Chapter 2. Overview Blogs and wikis are two Web 2.0 tools that allow users to publish content online Blogs function as online journals.
Software Quality Assurance in Neuroinformatics H Jeremy Bockholt NITRC Grantee Meeting.
Software Toolkits Building Communities Luis Ibáñez KITWARE, Inc.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Highlights, Aims and Architecture Will Schroeder Kitware.
Community Software Engineering Practices and Principles A Case Study of the Open Source Insight Toolkit (ITK) Terry Yoo (National Library of Medicine),
National Alliance for Medical Image Computing Slicer3 Status Update.
FITT Fostering Interregional Exchange in ICT Technology Transfer Communication & Collaboration Tools.
NA-MIC National Alliance for Medical Image Computing NA-MIC Core 2 Update: Kitware Will Schroeder Kitware NA-MIC Core 2 PI NA-MIC Core.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Software Process Stephen R. Aylward Kitware, Inc.
William Schroeder, Ph.D. §, Andy Cedilnik §, Sebastien Barré, Ph.D. §, William Lorensen ‡, James Miller, Ph.D. ‡, Daniel Blezek, Ph.D. ‡ § Kitware Inc.,
© Paradigm Publishing Inc. 5-1 Chapter 5 Application Software.
NA-MIC National Alliance for Medical Image Computing Outreach Randy L. Gollub, MD, PhD Cores 5/6: Training & Dissemination Representing.
NIH NCRR Overview The SCIRun and BioPSE Problem Solving Environments Chris Johnson, Rob MacLeod, and David Weinstein Scientific Computing and Imaging Institute.
Open Source Software in Image Guided Surgery and New Age of Publishing Luis Ibáñez 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.
May 2, 2013 An introduction to DSpace. Module 1 – An Introduction By the end of this module, you will … Understand what DSpace is, and what it can be.
NA-MIC National Alliance for Medical Image Computing NAMIC Software Development Workshop January 24-25, 2005 MIT Computer Science and.
NA-MIC National Alliance for Medical Image Computing National Alliance for Medical Image Computing: NAMIC Ron Kikinis, M.D.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
The Insight Journal Luis Ibáñez KITWARE, Inc.. NAMIC and The Insight Journal.
NA-MIC National Alliance for Medical Image Computing Isomics, Inc. Steve Pieper.
NA-MIC National Alliance for Medical Image Computing Process-, Work-Flow in Medical Image Processing Guido Gerig
© 2013, published by Flat World Knowledge Chapter 10 Understanding Software: A Primer for Managers 10-1.
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 Kitware, Inc. Core 2 Engineering William J. Schroeder.
LONI Pipeline Jagadeeswaran LONI,UCLA. Site PI: Arthur W Toga Director, Laboratory of Neuro Imaging Co-Director, Brain Mapping Center Director, Training.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Computational Platform Jim Miller GE Research.
Aerial Image Exploitation Change Detection Event Detection Object Tracking Region Classification Medical Image Analysis Automated Cancer Detection Automatic.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Data Management Stephen R. Aylward Kitware, Inc.
NA-MIC National Alliance for Medical Image Computing NAMIC Software Development Workshop December 9-10, 2004 Surgical Planning Lab, Brigham.
NA-MIC National Alliance for Medical Image Computing Engineering a Segmentation Framework Marcel Prastawa.
REQUIREMENTS GATHERING Moderators: M Miller Goals: To allow participants to provide feedback to the developers (BIRN-CC and test bed applications) of what.
Greater Visibility, Greater Access QSpace QSpace Queen’s University Research & Learning Repository.
Electronic Theses and Dissertations: The bepress Approach Ben Hermalin Interim Dean, Haas School of Business, UC Berkeley & Co-Founder, bepress.
NA-MIC National Alliance for Medical Image Computing Programming Week Kickoff MIT, June 27, 2005.
NA-MIC National Alliance for Medical Image Computing UCSD / BIRN Coordinating Center NAMIC Group Site PI: Mark H. Ellisman Site Project.
Department of Psychiatry, Department of Computer Science, 3 Carolina Institute for Developmental Disabilities 1 Department of Psychiatry, 2 Department.
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 2 Progress Day 1 Salt Lake City
VI-SEEM Data Repository
VI-SEEM Data Repository
Laboratory of Neuro Imaging UCLA
Low Cost Collaborative Tools to Support Student Teams
NAMIC Software Development Workshop
Presentation transcript:

Software Process for Distributed Teams KITWARE, Inc.

"An expert is a man who has made all the mistakes which can be made, in a narrow field." Niels Bohr

Overview Insight Toolkit ITK Insight Journal Image Guided Surgery Toolkit IGSTK National Alliance for Medical Image Computing NAMIC

The Insight Toolkit Publicly funded NLM-NIH : $13M 6 Contractors and 4 Subcontractors 3 Commercial companies and 7 Universities 50 Unique developers 4 Years of development 2 Years of maintenance (so far) 41 platforms ( software + hardware ) 700 C++ Classes 1600 source code files 500 K lines of code

ITK Developers

Insight Toolkit Software Process

Communication Weekly TCons Users Mailing List Instant Messaging Developers Meetings Tutorials at Conferences BOF at Conferences NetMeeting FTP for Data Developers Users Dev. Mailing List Wiki

ITK Software Process RefactoringNew Features Insight Journal Paper Online Public Reviews Wiki Proposal Technical Committee CVS Commit Code Reviews

Wiki Proposals

The Insight Journal

Technical work must be reproducible Papers should be publicly accessible Peer-Review process must be open Fully Electronic publishing

Open Science Reproducibility requires sharing – Source code – Images – Parameters Open source – Existing algorithms provide services – New algorithms made available to others

Insight Journal Submission Code Input Data Journal Repository Web Site Results Data Author Build Machines PDF doc

Insight Journal Manager Author Submits Project DSpace Stores Project Automatic Testing Environment Posts Results Dashboard Submits Entry Reviewer Reviews Project Process Flow Sends Code

Online Paper – Open Reviews

NAMIC Software Process

NAMIC Structure

Core 1 - Algorithms Harvard Georgia TechUNC UtahMIT Segmentation Registration Foundational Methods Structural Features and Statistics Connective Features and Statistics 1. Shape and Atlas Based Segmentation 2. Statistical Shape Analysis 3, DTI Connectivity Analysis 1. Diffusion-based Registration 2.Group Effect Maps 3. Automatic Segmentation 1. DTI Processing 2. Surface Processing 3. PDE Implementations 1. Combined Statistical/PDE Methods 1. Quantitative DTI Analysis 2. Cross-Sectional Shape Analysis 2. Stochastic Flow Models

Core 2 - Engineering GE IsomicsUCSD UCLAKitware Software Integration Software Engineering Software Quality Software Engineering Tools Data Access Tools 1. Cross-platform Build 2. Cross-platform Distribution 3. Cross-language API’s1. Software Architecture2. Software Process3. Software Quality1. Graphical programming interfaces 2. Coordinate pre-compiled tools 3. Data format interpreters1. DBP Applications 1. Grid Middleware 2. Data Grid 2. Application Methodology Distributed Computing Applications 3. Data Mediation3. Application Quality Assurance

Core 3 – Biological Sciences Harvard Dartmouth 1. Fronto-Temporal Connections 2. Cognitive and Behavioral Data UCI U.Toronto 1. Brain Regions Involved 2. Clinical Cognitive and Genetic Data

Support Cores (# 4-7) Service, Training Dissemination Crucial support for the scientific and engineering enterprise Support core PI’s also have strong scientific credentials Collaboration history through BIRN and ITK

Training

Dissemination: Events

Good Software should be easy to teach !

The NAMIC Philosophy Open Source + Open Data = Open Science

NAMIC Software Process Algorithm Developer Software Engineer Insight Journal Paper Programming Week Phone / IM Collaboration Subversion/CVS Sandbox Bottomless Pit of Useless Research ITK / VTK Slicer Wiki Project Page

IGSTK Software Process

IGSTK Team Georgetown University UNC Chapel Hill Atamai Canada Kitware * Subcontracts PI STTR – NIH Primary

Design - Implementation Process Surgical Procedure Workflow Analysis Factorizing Components Wiki Page Requirements Wiki Page Design Sandbox Version Code Reviews CVS Commit Maintenance

Traceability – FDA Process Requirements Bugs Bug Tracking Database CVS Commits Logs

Team Coordination

Design Discussions - Wiki

Requirements - Wiki

Agile yet Strict Developers Discussions – Tcon, IM, Mailing List, Wiki Code Reviews CVS Sandbox CVS Main Wiki Proposals Bug Reports

Code Reviews - Wiki

Bugs - CVS Commits linkage

“Though a program be but three lines long, someday it will have to be maintained." The Tao of Programming

End

NA-MIC-Organization Structure

Image Processing Method Algorithm Input Image(s) Parameters Output Image(s)

Benefits of the Insight Journal Allows sharing your Source Code – Faster and larger impact on the community Immediate feedback from Readers and Reviewers – Open Dialog / Forum No Limitations – No page limitations – No limit or charges for colour figures – Accepting additional electronic material

Benefits of the Insight Journal Indexed by Google Post revisions of papers and code Richer reader’s experience – Source code available – Original parameters and images available – Reader can try on their own data Accepts practical contributions that are too small for traditional full Journal Papers

or... How to develop software with programmers located in distant sites… without killing each other