ITK is an open-source software toolkit for performing registration and segmentation. Segmentation is the process of identifying and classifying data found in a digitally sampled representation. Typically the sampled representation is an image acquired from such medical instrumentation as CT or MRI scanners. Registration is the task of aligning or developing correspondences between data. For example, in the medical environment, a CT scan may be aligned with a MRI scan in order to combine the information contained in both.
ITK is implemented in C++. In addition, an automated wrapping process generates interfaces between C++ and interpreted programming languages such as Tcl, Java, and Python. This enables developers to create software using a variety of programming languages. ITK's C++ implementation style is referred to as generic programming. Such C++ templating means that the code is highly efficient, and that the many software problems are discovered at compile-time, rather than at run-time during program execution.
Because ITK is an open-source project, developers from around the world can use, debug, maintain, and extend the software. ITK uses a model of software development referred to as Extreme Programming. Extreme Programming collapses the usual software creation methodology into a simultaneous and iterative process of design-implement-test-release. The key features of Extreme Programming are communication and testing. Communication among the members of the ITK community is what helps manage the rapid evolution of the software. Testing is what keeps the software stable. In ITK, an extensive testing process is in place that measures the quality on a daily basis.
In 1999 the US National Library of Medicine [http://www.nlm.nih.gov/nlmhome.html] of the National Institutes of Health awarded a three-year contract to develop an open-source registration and segmentation toolkit, which eventually came to be known as the Insight Toolkit (ITK). The primary purpose of the project is to support the Visible Human Project [http://www.nlm.nih.gov/research/visible/visible_human.html] by providing software tools to process and work with the project data. ITK's NLM Project Manager was Dr. Terry Yoo, who coordinated the six prime contractors who made up the Insight consortium. These consortium members included the three commercial partners GE Corporate R&D, Kitware, Inc., and MathSoft (the company name is now Insightful); and the three academic partners University of North Carolina (UNC), University of Tennessee (UT), and University of Pennsylvania (UPenn). The Principle Investigators for these partners were, respectively, Bill Lorensen at GE CRD, Will Schroeder at Kitware, Vikram Chalana at Insightful, Stephen Aylward with Luis Ibanez at UNC (Luis is now at Kitware), Ross Whitaker with Josh Cates at UT (both now at Utah), and Dimitri Metaxas at UPenn. In addition, several subcontractors rounded out the consortium including Peter Raitu at Brigham & Women's Hospital, Celina Imielinska and Pat Molholt at Columbia University, Jim Gee at UPenn's Grasp Lab, and George Stetton at University of Pittsburgh.
ITK is released under a BSD-style license. See /usr/share/doc/libinsighttoolkitX.Y/copyright for the full text.
The API documentation is available in HTML generated by Doxygen, in the insighttoolkit-doc package.
Join the community by subscribing to the ITK mailing lists at http://www.itk.org/HTML/MailingLists.htm.
The Insight Segmentation and Registration Toolkit is developed by the Insight Software Consortium and the ITK community.
See the project homepage http://www.itk.org/ for more information.