SimpleITK: a simplified layer build on top of the Insight Toolkit (ITK), intended to facilitate its use in rapid prototyping, education and interpreted languages.
Clone or download
blowekamp and kwrobot Merge topic 'RToolsVecInitFix'
26032bd Fix: C++11 style init causing problems with RTools(windows) c++
Latest commit 01ab392 Sep 20, 2018
Failed to load latest commit information.
.ExternalData Create separate source and data tar-balls for distribution. Jun 10, 2015
.circleci Remove BUILD_DOCUMENTS CMake option Aug 3, 2018
.github Move contribute information to github contribute file Mar 13, 2018
CMake Set the default CMake policy to 3.10 Sep 12, 2018
Code Merge topic 'RToolsVecInitFix' Sep 20, 2018
Documentation Adding introductory information with respect to tutorials. Sep 7, 2018
Examples Remove internal functions in DemonsRegistration1-2 Jul 30, 2018
ExpandTemplateGenerator Fix template generator custom method with multiple parameters Apr 2, 2018
SuperBuild Merge topic 'UpdateITKv413' Sep 17, 2018
Testing Merge topic 'AddImageIORegionExtractStream' Sep 19, 2018
Utilities Fix: spurious bracket in script Aug 14, 2018
Wrapping Merge topic 'ImageViewerClass' Sep 17, 2018
_static Changed the HTML template of the documentation Jun 7, 2018
_templates Changed the HTML template of the documentation Jun 7, 2018
.gitattributes Configured development setup script Oct 18, 2017
.gitignore Adding initially configured Sphinx documentation Feb 16, 2017
.hooks-config.bash ENH: Simplify local Git hook chaining Feb 13, 2012
.travis.yml Initial checkin of .travis.yml Sep 1, 2016
CMakeLists.txt Set the default CMake policy to 3.10 Sep 12, 2018
CTestConfig.cmake Updating Dash info Jun 21, 2014
NOTICE Updating copyright years in notice. Feb 5, 2013 Updatind publication citation list. Sep 4, 2018 Use standard find_package for ITK in SimpleITK Config Jun 27, 2018 Require SimpleITK major version to match for compatible version Apr 8, 2014 Remove required flags and replace with compile options property Feb 22, 2017
Version.cmake Bumping version to 1.2 for development Mar 22, 2018 Changed the HTML template of the documentation Jun 7, 2018
index.rst Merge topic 'SphixTutorialCourse' Sep 10, 2018
readthedocs.yml Adding tabs to the code examples. Feb 5, 2018


CircleCI ReadTheDocs
release CircleCI ReadTheDoc
master CircleCI ReadTheDoc
next CircleCI ReadTheDoc

SimpleITK is an image analysis toolkit with a large number of components supporting general filtering operations, image segmentation and registration. It is built on top of the Insight Segmentation and Registration Toolkit ITK with the intent of providing a simplified interface to ITK. SimpleITK itself is written in C++ but is available for a large number of programming languages. Currently these include:

Wrapping of the C++ code is accomplished through SWIG, in principle, any language wrapped by SWIG should be applicable to SimpleITK.

Unlike ITK's support of n-dimensional spatio-temporal images, SimpleITK supports 2D, 3D and optionally 3D+time. The dimensionality refers to spatio-temporal dimensions, the voxels can be n-dimensional vectors.

SimpleITK is licensed under the Apache License in the same way as ITK.

How to Cite

If you found SimpleITK useful in your research, support our efforts by citing the relevant publication(s):

R. Beare, B. C. Lowekamp, Z. Yaniv, "Image Segmentation, Registration and Characterization in R with SimpleITK", * J Stat Softw*, 86(8),, 2018.

Z. Yaniv, B. C. Lowekamp, H. J. Johnson, R. Beare, "SimpleITK Image-Analysis Notebooks: a Collaborative Environment for Education and Reproducible Research", J Digit Imaging., 31(3): 290-303,, 2018.

B. C. Lowekamp, D. T. Chen, L. Ibáñez, D. Blezek, "The Design of SimpleITK", Front. Neuroinform., 7:45., 2013.


With massive libraries like SimpleITK, good documentation is a must. The documentation for SimpleITK is split up into multiple levels:

  1. API Documentation - This contains class and function documentation. The descriptions for functions and classes are primarily borrowed from the original ITK classes.
  2. SimpleITK Documentation - This contains higher-level guides, installing toolkit's binary distributions, building the toolkit as well as examples specific to SimpleITK. This documentation will be valid for each language that SimpleITK supports. The examples will also include code in each language.
    • SimpleITK Wiki - This is the old SimpleITK documentation page which was replaced by ReadTheDocs. The information may be outdated.
  3. Notebooks Repositories - This documentation is similar to the SimpleITK documentation except it contains examples on how to utilize multiple classes in SimpleITK to facilitate solving a broader image processing problem.


SimpleITK provides access to most of the ITK components, but not all. If you are looking for something specific and can't find it, open an issue on GitHub or ask for support on the forum.

Report an Issue

Help us improve SimpleITK by reporting issues you encounter. When you report an error, you allow us to address your specific problem, but more importantly you are helping all of the SimpleITK community.

Thank you for helping making SimpleITK better!

All issues are reported and managed on the project's GitHub issue tracker. When reporting an issue, please provide as much information as possible to enable us to reproduce the problem.

The following information will allow us to address your issue in a timely manner:

  1. Error message (copy & pasted) and focused description of the problem.
  2. Operating system, and version (e.g. OSX 10.11.6).
  3. Programming language, and version (e.g. Python 2.7.14, R 3.2.3).
  4. Version of SimpleITK (e.g. 1.1.0), just invoke the SimpleITK Version() function.
  5. How did you install SimpleITK, binary distribution (e.g. conda install -c simpleitk simpleitk), or built it from source (e.g. devtools::install_github("SimpleITK/SimpleITKRInstaller")).
  6. A minimal working example which causes the error.
  7. If your code requires input, possibly point to a minimal sized input image.