Business & Industry Applications, Higher Education Research & Teaching, Government


C++, Python, R, JavaScript, Java, CSharp


Browser Interactivity, Visualization, High Performance Computing, Big Data, Numerical Computing, Educational Outreach

The Insight Toolkit (ITK), is an open-source software toolkit for scientific image analysis, including registration and segmentation. Segmentation is the process of identifying and classifying data found in a digitally sampled representation. 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 a cross-platform software. It uses a build environment known as CMake to manage platform specific project generation and compilation process in a platform-independent way. ITK is implemented in C++. ITK’s implementation style employs generic programming, which involves the use of templates to generate, at compile-time, code that can be applied generically to any class or data-type that supports the operations used by the template. The use of C++ templating means that the code is highly efficient and many issues are discovered at compile-time, rather than at run-time during program execution. It also means that many of ITK’s algorithms can be applied to arbitrary spatial dimensions and pixel types.

An automated wrapping system integrated with ITK generates an interface between C++ and a high level programming language Python. This enables rapid prototyping and faster exploration of ideas by shortening the edit-compile-execute cycle. In addition, the SimpleITK project provides a streamlined interface to ITK that is available for C++, Python, Java, CSharp, and R. The itk.js Node.js package combines Emscripten and ITK to enable high-performance spatial analysis in a JavaScript runtime environment. The itkwidgets for Jupyter provide interactive widgets to visualize images, point sets, and meshes.

3D Slicer is an open source software platform for medical image informatics, image processing, and three-dimensional visualization. Built over two decades through support from the National Institutes of Health and a worldwide developer community, Slicer brings free, powerful cross-platform processing tools to physicians, researchers, and the general public.

ITK-SNAP is a software application used to segment structures in 3D medical images. ITK-SNAP provides semi-automatic segmentation using active contour methods, as well as manual delineation and image navigation. In addition to these core functions, ITK-SNAP offers many supporting utilities.

Be the First to Know

Be the First to Know

New developments and features from our sponsored projects, straight to your inbox, once a month.

New developments and features from our sponsored projects, straight to your inbox, once a month.