1 / 21

ITK – Version 4 Looking Back to Look Forward

ITK – Version 4 Looking Back to Look Forward. Bill Lorensen bill.lorensen@gmail.com marchingcubes.org. Quotation 1. “There's an old saying about those who forget history. I don't remember it, but it's good.” Stephen Colbert, The Colbert Report March 10, 2008. Quotation 2.

lixue
Download Presentation

ITK – Version 4 Looking Back to Look Forward

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ITK – Version 4Looking Back to Look Forward Bill Lorensen bill.lorensen@gmail.com marchingcubes.org ITK 10 Year Anniversery

  2. Quotation 1 “There's an old saying about those who forget history. I don't remember it, but it's good.” Stephen Colbert, The Colbert Report March 10, 2008 ITK 10 Year Anniversery

  3. Quotation 2 “Why are you wasting your time writing a new search engine when we have AltaVista?” Bill Lorensen, GE Coolidge Fellow, to Larry Page, Graduate StudentFebruary 1996 ITK 10 Year Anniversery

  4. Beginnings - 1995 Dr. Michael Ackerman from NLM held a meeting with several individuals to see what next steps should be taken to promote the Visible Human data. This group identified a need for public software to process the datasets. Terry Yoo, a PhD student at UNC, was in attendance as well as Bill Lorensen from GE Research. ITK 10 Year Anniversery

  5. NLM seeks proposals - 1999 • To develop an API and implementation of a Segmentation and Registration Toolkit • To be suitable for computer assisted exploration of the NLM Visible Human Project data sets • For direct insertion into the public domain • A self-sustaining effort to support image analysis research in segmentation, classification, and deformable registration of medical images • To include future expansion to parallel implementations and large memory requirements • Engineered to accommodate change by periodic and incremental modifications ITK 10 Year Anniversery

  6. Insight Consortium • A competitive process selected the development team • Each group was evaluated individually, without regard to how they might integrate with each other • Each team had strengths in software development, validation or algorithm development, but no one group had the necessary skills to do the entire project • Distributed software developers with varying software engineering experience ITK 10 Year Anniversery

  7. Open Source Menu for Success • A Community with a common vision • A pool of talented and motivated developers/scientists • A mix of academic and commercial • An organized, light weight approach to software development • A leadership structure • Communication • A business model ITK 10 Year Anniversery

  8. Extreme Programming • The community owns the code • Release early, release often • Continuous integration • Everyone agrees to keep the software defect free ITK 10 Year Anniversery

  9. What’s Different Now • Technology has changed • Our software process has matured • Mature software development teams • Now we have customers!! • Back then, we had not worked together • Larger development team - now international • Recognition that many things are hard • Coordinate systems • DICOM • I/O in general • Streaming • Meshes • Wrapping • Licensing ITK 10 Year Anniversery

  10. Large ITK Customer Base • USA • NA-MIC Slicer3 • UIowa Brains • Utah Sci Institute • Megason Lab GoFigure • UPenn SNAP • caBig/XIP • Companies • GE? • Siemens? • Europe • Orfeo • Osirix • CO-ME Marvin Platform • Mevis • MITK • Elastix • MedInria ITK 10 Year Anniversery

  11. Diverse Funding • NIH NCBC • NA-MIC • NIH NCRR • Brigham and Womens Neuroimage Analysis Center • Utah Center for Integrative Biomedical Computing • IOWA Brains Project • DARPA • Virtual Soldier • Virtual Autopsy ITK 10 Year Anniversery

  12. Lessons Learned: The Good • Good mix of commercial and academic • Communication is critical • The daily rhythm of Extreme Testing • The Whole >>> Sum of the parts • Process automation reduces the burden on developers • The engineering process can (and will in ITK 4) be repeated ITK 10 Year Anniversery

  13. Lessons Learned: The Bad • Communication • Early in the project, communication was limited to the mailing list and the Quarterly meetings. Almost a year passed before we added the weekly telephone conferences. Developers felt isolated and the impersonal electronic communication methods failed to build the personal relationships required for any software development process. • Solution • Weekly t-cons • More frequent face-to-face meetings ITK 10 Year Anniversery

  14. Lessons Learned: The Bad • Lack of Design Reviews • The lightweight process has its drawbacks. The current process emphasizes coding and testing. This process is well defined and benefits from automation. But, the design process is not well supported by the current mechanisms. • Solution • The Insight Journal • Wiki ITK 10 Year Anniversery

  15. Lessons Learned: The Bad • Unstable Application Programming Interfaces (API’s) • The nightly test/build was so effective in empowering programmers to make changes, that API changes occurred too frequently without the necessary buy-in from the development community.  • Solution • Increased awareness of the importance of maintaining backward capability • Recognition of a large installed base of customers ITK 10 Year Anniversery

  16. Lessons Learned: The Bad • Insufficient Automation • Automation is critical to maintain consistent style and robust software. Although the project provided many automatic techniques to catch developer errors, the project would benefit from more automation. • Solution • Email notifications • Strict commit checks • KWStyle – automated style checking ITK 10 Year Anniversery

  17. Lessons Learned: The Bad • Complexity and Feature Creep • Like most software development projects, this software suffers from complexity and feature creep. Early designs and implementations used many features of the C++ language to an “extreme”. The team realized and began removing the complexity. • Solution • Ongoing reviews ITK 10 Year Anniversery

  18. Lessons Learned: The Ugly • Still need a stick • Someone needs to monitor the daily process. • XP is not everyone’s cup of tea • Almost all bought into the process • A few tolerated it • Some still ignore it ITK 10 Year Anniversery

  19. Lessons To Take Forward • Agree on high level requirements early • Agree on process early • Weekly communication • Face-to-face meetings (learn from NA-MIC’s Project Week) • Due diligence on third party packages • Don't underestimate the social aspects of open source • API changes should not be made without assessing their impact on customers ITK 10 Year Anniversery

  20. Final Report, GE Research, May 2006 “Personally, this project has been a highlight of my 38-year career. I have never worked on a project that was more stimulating and satisfying. The personal relationships I made during the project will last a lifetime.Thank you for ITK!” ITK 10 Year Anniversery

  21. ITK – Version 4Looking Back to Look Forward Bill Lorensen bill.lorensen@gmail.com marchingcubes.org ITK 10 Year Anniversery

More Related