ITK/Release 4/Outreach/Conferences/MICCAI 2011/SimpleITK

From KitwarePublic
Jump to navigationJump to search

Simple ITK: Image Processing for Human Beings


Researchers adept in C++ and generic programming can exploit the wealth of algorithms and techniques available in the Insight Toolkit (ITK). For the clinical researcher or beginning image analysis student, the complexity of generic programming and the ITK pipeline can be prohibitively daunting. We have seen this hesitation to use ITK in the clinic, in the classroom, in the research lab, and in the product development team. SimpleITK is a thin, simple application programmer interface (API) layer that eases the steep learning curve of ITK, yet exposes the powerful algorithms of ITK. This new API, built on top of the existing ITK API, is available in C++ and in several common scripting languages. Our goal in this tutorial is to teach the fundamentals of SimpleITK to humans, e.g. the clinical scientist and the beginning image analysis student, enabling easy application of ITK's powerful techniques to day-to-day research.

Academic Objectives and Relevance to MICCAI

The primary objective of this tutorial is to enable students, clinicians and researchers to access the tools available in the Insight Toolkit (ITK) in a facile manner. While ITK is widely regarded as the most powerful biomedical image processing library, it requires a deep knowledge of C++ and the ITK programming paradigms. As a result, ITK is difficult for beginners to approach and use. To enable more broad spread adoption of ITK, the National Library of Medicine launched a program providing approachable access to ITK's fundamental algorithms; SimpleITK is the result of that program. This tutorial is of high relevance to the MICCAI community because many MICCAI papers rely on ITK in one manner or another. SimpleITK will aid tutorial participants to efficiently and easily use ITK in their research.

On completion of this tutorial, participants will:

  1. Have an understanding of the architecture of SimpleITK
  2. Have hands-on experience using SimpleITK on realistic problems
  3. Be able to make informed decisions as to the applicability of SimpleITK to imaging problems.

Tutorial Format

This 4 hour tutorial will introduce participants to the architecture of SimpleITK. The tutorial will be divided into two alternating sections: lecture and hands-on practice. Each participant will be provided with a USB stick containing a pre-configured Ubuntu virtual machine. Participants are expected to bring their laptops to the tutorial. The virtual machines will be available for download prior to the tutorial. After each lecture topic, participants will put the lecture into practice by completing short projects using SimpleITK. The tutorial organizers will assist to help participants through each exercise.

  • Lecture Introduction, Architecture, Images, IO, Filters, Registration
  • Hands-on Building SimpleITK in C++, IO, ITK interface, filters
  • Lecture Bindings to other languages
  • Hands-on Python, Java, Ruby, R, (other languages as requested)
  • Lecture Extending/interfacing SimpleITK with new ITK and C++
  • Hands-on Adding new filter to SimpleITK, interface to other C++ code
  • Lecture Wrap-up, questions and answers, open topics

We expect each segment to require approximately 30 minutes, and the entire tutorial to be a half-day (3.5 hours of lecture and hands-on, 15 minutes break and 15 minutes for questions).


The primary speakers will be:

  • Daniel Blezek, Mayo Clinic
  • Luis Ibanez, Kitware Inc.
  • Bradley Lowekamp, Lockheed Martin / NLM
  • Gabe Hart, Kitware Inc.

They are the primary developers of SimpleITK and some of them have been involved in ITK development for over a decade.


  • Daniel Blezek, Ph.D. Mayo Clinic
  • Luis Ibanez, Ph.D. Kitware Inc.


Tutorial Documents

  • The git repository used to develop the presentation is host on github.