ITKv4

Ten years ago, the National Library of Medicine initiated a software development program to produce an open-source toolkit for the segmentation and registration of medical images, in particular the Visible Man and Visible Woman data. The outcome of that program was the Insight Toolkit (ITK). From those humble beginnings, ITK is now used in basic and applied research, commercial medical image processing and surgical guidance systems around the world.

It is estimated that ITK is contributing to projects in over 45 countries and in nearly every major academic and industry research lab involved in medical image analysis. Applications areas include radiology, neurology, pathology, oncology, neurosurgery and even satellite imagery. Data being processed by ITK includes nearly every medical imaging modality such as electron microscopy, MRI, CT, PET, ultrasound, video and OCT.

This year, ITK will be going through a major refactoring process to ensure its vitality for the next ten years. The main goals of the refactoring process are:

  • Revise the ITK architecture to support modern algorithms and to adopt a module-based architecture that supports development and distribution of optional extensions and specialization of ITK for specific problem domains (e.g., a “4D confocal microscopy” module for ITK).
  • Simplify the use of ITK by offering the power of ITK in intuitive packages the seamlessly integrate with Python, Java, and other programming languages.
  • Accelerate the algorithms of ITK by supporting distributed and GPU-based processing.
  • Improve DICOM support in ITK so that its use of clinical data and integration into clinical workflows is assured.

The new version of ITK will be designated ITKv4. ITK 3.20 will be the stable and reliable release offered to users during the time ITKv4 is being developed.

In this refactoring, ITK will be improving its support for domain fields beyond radiology. In particular, we will be working closely with application developers in the fields of microscopy, remote sensing and computer vision.

Providing better support for these domains will require the need to introduce changes and improvements in ITK for fundamental features such as support for very large images (larger than 4GB), support for multi-channel images and the addition of support for new file formats (i.e., LSM, TIFF variations, JPEG2000, among others).
Information about the modifications to ITK will be disseminated following the “Release Early, Release Often” rule of Open Source software development. We’ve started with an initial clean up of the toolkit, following the migration plan described on the ITK Wiki and schematically described below. As you can see, one of the first steps was moving from CVS to Git. You can now clone ITK by following the instructions provided on the Wiki.

 

The work in ITKv4 will be performed collaboratively between multiple groups including, but not limited to: GE Research / the Mayo Clinic, the University of Iowa, the University of Pennsylvania, Harvard University, Cosmo and Kitware.

The design and development activities will be coordinated on the ITK developer’s mailing list and through an ITK conference call. Both of these venues are open to the public and we encourage all users to join these events and contribute their points of view to the process. In order to coordinate the work of the approximately 30 developers contributing to ITK’s redesign, we have also put in place a code review process based on Gerrit, a tool that is also used by the Android community. The current workflow of software patches is summarized in the image below.

As the development process settles in, this workflow will likely be readjusted in order to better accommodate the needs of the ITK development community. We look forward to working with the larger community of ITK users to make sure that ITKv4 is a useful and powerful resource for many different applications.

Questions or comments are always welcome!