NA-MIC National Alliance for Medical Image Computing NA-MIC Software Engineering Bill Lorensen GE Research NA-MIC Engineering Core PI.

Slides:



Advertisements
Similar presentations
National Alliance for Medical Image Computing Slicer3 plugins Common architecture for interactive and batch processing.
Advertisements

NA-MIC National Alliance for Medical Image Computing National Alliance for Medical Image Computing: NAMIC Ron Kikinis, M.D.
National Alliance for Medical Image Computing Anatomy of a plugin Common architecture for interactive and batch processing.
National Alliance for Medical Image Computing User Desktop Slicer 3.0 Architecure AlgorithmsITKVTK Slicer Modules VTK Apps Using ITK.
June 22, 2005NCRR NIBIB PI Meeting Open, Distributed and Collaborative Software Development Bill Lorensen GE Research
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Software Process for Distributed Teams KITWARE, 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 Introduction Ron Kikinis, M.D.
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.
September 6, 2007Open Source Software Practice Overview of the Software Process Bill Lorensen GE Research (retired)
Getting Started with ITK in Python Language
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.
NA-MIC National Alliance for Medical Image Computing The NA-MIC Kit National Alliance for Medical Image Computing.
Object-Oriented Analysis and Design OVERVIEW. Objectives  Describe Information Systems  Explain the role of a systems analyst  Introduce object-oriented.
Department of Biomedical Informatics Service Oriented Bioscience Cluster at OSC Umit V. Catalyurek Associate Professor Dept. of Biomedical Informatics.
NA-MIC National Alliance for Medical Image Computing Why NITRC Matters to NA-MIC Steve Pieper, PhD.
Fundamentals of Database Chapter 7 Database Technologies.
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.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
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.
Nick Draper 05/11/2008 Mantid Manipulation and Analysis Toolkit for ISIS data.
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.,
Introduction to Making Multimedia
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Software Process Stephen R. Aylward Kitware, Inc.
NIH NCRR Overview The SCIRun and BioPSE Problem Solving Environments Chris Johnson, Rob MacLeod, and David Weinstein Scientific Computing and Imaging Institute.
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 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.
National Alliance for Medical Image Computing NAMIC Milestones: October, 2005 Core 1 (Algorithms) –Developed prototypes for quantitative.
Frameworks CompSci 230 S Software Construction.
NA-MIC National Alliance for Medical Image Computing Process-, Work-Flow in Medical Image Processing Guido Gerig
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
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.
Pipeline Processing Environment Michael J Pan. Motivation The algorithms have been implemented The algorithms have been implemented Possibly located on.
NA-MIC National Alliance for Medical Image Computing Non-Interactive Tools Stephen Aylward, Kitware
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 NA-MIC Core 2 Update Isomics Steve Pieper Isomics, Inc. NA-MIC Engineering Isomics.
NA-MIC National Alliance for Medical Image Computing Engineering a Segmentation Framework Marcel Prastawa.
NA-MIC National Alliance for Medical Image Computing Programming Week Kickoff MIT, June 27, 2005.
Biomedical Informatics Research Network The BIRN Architecture: An Overview Jeffrey S. Grethe, BIRN-CC 10/9/02 BIRN All Hands Meeting 2002.
National Alliance for Medical Image Computing User Desktop Slicer 3.0 Architecure AlgorithmsITKVTK Slicer Modules VTK Apps Using ITK.
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.
LECTURE 5 Nangwonvuma M/ Byansi D. Components, interfaces and integration Infrastructure, Middleware and Platforms Techniques – Data warehouses, extending.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Data Management Daniel Marcus Washington University.
VisIt Project Overview
Shape Analysis: Description &Framework Develop a generally applicable description for statistical shape analysis studies, as well as a computational framework.
Pipeline Execution Environment
Core 2 Progress Day 1 Salt Lake City
Business System Development
Laboratory of Neuro Imaging UCLA
Chapter 10 Development of Multimedia Project
Model-Driven Analysis Frameworks for Embedded Systems
National Library of Medicine Segmentation and Registration Toolkit
NAMIC Software Development Workshop
LONI Pipeline Integration/ UNC shape analysis
Slicer Timeline GUI Thread Processing Thread
Presentation transcript:

NA-MIC National Alliance for Medical Image Computing NA-MIC Software Engineering Bill Lorensen GE Research NA-MIC Engineering Core PI

National Alliance for Medical Image Computing Structure

National Alliance for Medical Image Computing Core 1: Overview 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

National Alliance for Medical Image Computing Core 2: Overview 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

National Alliance for Medical Image Computing Core 2: Overview Create a software development environment and culture that encourages and supports scientific algorithm innovation while at the same time produces high quality software that meets the needs of the driving biological projects

National Alliance for Medical Image Computing NA-MIC Philosophy Open the software from the very beginning –even in the early design stage All software is expected to rapidly evolve Make sharing, testing, and documentation part of your standard development process Only build on sharable code

National Alliance for Medical Image Computing NA-MIC Kit Slicer 3D –Interactive, DBP GUI LONI Pipeline –Distributed/parallel workflow BIRN Grid –Data repository ITK –Segmentation/registration toolkit VTK –Visualization/modeling toolkit

National Alliance for Medical Image Computing NA-MIC Tools CMake –Cross-platform build Dart 2 –Build/Test server CTest –Build/Test client Media Wiki –Reporting/discussion forum POTS –T-cons

National Alliance for Medical Image Computing NA-MIC Foundations Object-oriented design Generic Programming Design Patterns Frameworks Separation of Algorithms from Interfaces

National Alliance for Medical Image Computing Object-Oriented Design Dominated software systems throughout the 1990’s Continues to be the accepted software design technique Particularly useful for dealing with complexity Provides programmatic abstractions to deal with generalization and encapsulation C++ and Java have mechanisms to support OOD

National Alliance for Medical Image Computing Generic Programming Organize libraries consisting of generic—or reusable—software components. The essential ideas of generic programming are containers to hold data, iterators to access the data, and generic algorithms that use containers and iterators to create efficient, fundamental algorithms. ITK uses generic programming to process n-dimensional “images”.

National Alliance for Medical Image Computing Design Patterns Good object-oriented software systems have recurring designs (patterns) that occur frequently ITK and VTK employ a number of powerful design patterns –object factories –command/observer –smart pointer memory management

National Alliance for Medical Image Computing Frameworks Define how a group of participants can be put together to solve a particular task. Particularly suitable for describing complex flows or algorithms that have a number of steps that can be varied ITK Frameworks –A demand-driven data processing pipeline that connects algorithms to process n- dimensional image data –Registration framework –Level-set framework

National Alliance for Medical Image Computing Separation of Algorithms from Interfaces Implement the algorithms with a clear separation from the applications and especially the user interfaces. Uses the Command/Observer design pattern that permits applications to watch for significant events during the execution of an algorithm ITK has no built-in visualization, but has been interfaced to several systems including 3D Slicer, Analyze, SciRun and Volview.

National Alliance for Medical Image Computing User Desktop Slicer 3.0 AlgorithmsITKVTK Slicer Modules VTK Apps Using ITK Scripts of Slicer Mods Batch Programs Non-NAMIC Cmd tools LONI Pipeline Birn Grid Data/Compute Slicer 3.0

National Alliance for Medical Image Computing NA-MIC Rhythms Yearly All-Hands Meeting Bi-annual Programmers’ Week Weekly Engineering T-Cons Nightly Build/Test –ITK –VTK –Slicer

National Alliance for Medical Image Computing All Hands Meeting Day 0 – DTI Workshop Day 1 – Progress Day 2 - Future

National Alliance for Medical Image Computing Programmer’s Week

National Alliance for Medical Image Computing NCBC Center Interactions MRI Muscle Segmentation –Stanford Center for Biomedical Computation COPD Image Analysis –Harvard I2B2 Pipeline Integration –Center for Computational Biology

National Alliance for Medical Image Computing NA-MIC Challenges Identity Licensing Mixed skills Distributed team Business model

NA-MIC National Alliance for Medical Image Computing NA-MIC Software Engineering Bill Lorensen GE Research NA-MIC Engineering Core PI