Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "NA-MIC National Alliance for Medical Image Computing NA-MIC Software Engineering Bill Lorensen GE Research NA-MIC Engineering Core PI."— Presentation transcript:

1 NA-MIC National Alliance for Medical Image Computing http://na-mic.org NA-MIC Software Engineering Bill Lorensen GE Research NA-MIC Engineering Core PI

2 National Alliance for Medical Image Computing http://na-mic.org Structure

3 National Alliance for Medical Image Computing http://na-mic.org 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

4 National Alliance for Medical Image Computing http://na-mic.org 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

5 National Alliance for Medical Image Computing http://na-mic.org 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

6 National Alliance for Medical Image Computing http://na-mic.org 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

7 National Alliance for Medical Image Computing http://na-mic.org 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

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

9 National Alliance for Medical Image Computing http://na-mic.org NA-MIC Foundations Object-oriented design Generic Programming Design Patterns Frameworks Separation of Algorithms from Interfaces

10 National Alliance for Medical Image Computing http://na-mic.org 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

11 National Alliance for Medical Image Computing http://na-mic.org 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”.

12 National Alliance for Medical Image Computing http://na-mic.org 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

13 National Alliance for Medical Image Computing http://na-mic.org 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

14 National Alliance for Medical Image Computing http://na-mic.org 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.

15 National Alliance for Medical Image Computing http://na-mic.org 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

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

17 National Alliance for Medical Image Computing http://na-mic.org All Hands Meeting Day 0 – DTI Workshop Day 1 – Progress Day 2 - Future

18 National Alliance for Medical Image Computing http://na-mic.org Programmer’s Week

19 National Alliance for Medical Image Computing http://na-mic.org NCBC Center Interactions MRI Muscle Segmentation –Stanford Center for Biomedical Computation COPD Image Analysis –Harvard I2B2 Pipeline Integration –Center for Computational Biology

20 National Alliance for Medical Image Computing http://na-mic.org NA-MIC Challenges Identity Licensing Mixed skills Distributed team Business model

21 NA-MIC National Alliance for Medical Image Computing http://na-mic.org NA-MIC Software Engineering Bill Lorensen GE Research NA-MIC Engineering Core PI


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

Similar presentations


Ads by Google