SimpleITK
Overview
Welcome to the National Library of Medicine Insight Segmentation and Registration Toolkit (ITK). ITK is an open-source, cross-platform system that provides developers with an extensive suite of software tools for image analysis. Among them, SimpleITK is a simplified layer built on top of ITK, intended to facilitate its use in rapid prototyping, education, interpreted languages. SimpleITK has the following main characteristics:
- C++ library with wrappers for Python, Java, CSharp, R, Tcl and Ruby
- Object-oriented
- Provides a simplified, easy-to-use, procedural interface without templates
- Is distributed under an open source Apache 2.0 License
- Binary distributions for Python, Java and CSharp
SimpleITK captures many of features available in ITK, and is under ongoing development. Earlier in the development process a set of Specific Goals were outlined.
Getting Started
- Getting Started For Users
- downloading the binaries
- build the code yourself
- additional software which is useful with SimpleITK
- A Visual Guide to Building SimpleITK on Linux
- A Visual Guide to SimpleITK with Java and Eclipse
- A Visual Guide to SimpleITK with CSharp on Microsoft Visual Studio
Download
SimpleITK currently provides binary distribution for Python, CSharp and Java language bindings. You can download the 0.9.1 release from SourceForge.
Documentation
- Frequently Asked Questions (FAQ)
- Nightly generated Doxygen.
- Release 0.9 Doxygen.
- Release 0.8 Doxygen.
- Release 0.7 Doxygen.
- Release 0.6.1 Doxygen.
Short Examples
Concise examples illustrating the usage of various SimpleITK features. Examples illustrate usage of SimpleITK in a variety of languages including Python, R, C++, Java...
SimpleITK Notebooks
The SimpleITK Notebooks are examples and tutorials on how to use SimpleITK utilizing Jupyter Notebooks. This approach allows the user to create, edit and re-run scripts and view the results all within a web interface. The authoritative description of what Jupyter Notebooks are can be found on the Jupyter website. While SimpleITK supports a number of programming languages, the majority of notebooks are written in Python and some in R.
The main notebook repository is available on github.
Additional repositories containing tutorial specific notebooks are listed in the Tutorials section below.
Publications
More information about SimpleITK can be found in the following publication:
- Lowekamp BC, Chen DT, Ibáñez L and Blezek D (2013) The Design of SimpleITK. Front. Neuroinform. 7:45. doi: 10.3389/fninf.2013.00045
Please cite SimpleITK and ITK when publishing work where it made a significant contribution.
SimpleITK Tutorials
Upcoming
Past
- The International Symposium on Biomedical Imaging (ISBI) 2016, Prague, Czech republic: SimpleITK: An Interactive, Python-Based Introduction to SimpleITK with the Insight Segmentation and Registration Toolkit (ITK)
- SPIE Medical Imaging 2016, San Diego, USA: ITK in Biomedical Research and Commercial Applications
- Tutorial material: git repository additional presentations .
- Medical Image Computing and Computer Assisted Intervention (MICCAI) 2015, Munich, Germany: a Python based tutorial on the use of the ITKv4 registration framework via SimpleITK.
- Tutorial material: git repository.
- ImageJ User & Developer Conference 2015, Madison, WI, USA: an introductory tutorial in Python.
- Tutorial material: git repository.
- Medical Image Computing and Computer Assisted Intervention (MICCAI) 2011, Toronto, Canada: a general tutorial on SimpleITK.
- Tutorial material: PDF of presentation, virtual machine, and git repository.
Community Blogs
These are blog entries written by people who are not directly involved with SimpleITK. If you want us to link to your SimpleITK blog entry just let us know on the mailing list (community@itk.org).
- SimpleITK and R, 22 May 2015.
- Medical Image Analysis Course, 20 December 2014.
- Image Segmentation with Python and SimpleITK, October/November 2014.
Support
SimpleITK is supported through the ITK community and the active developers. In addition to the resources listed above in the documentation section, the ITK mailing lists can be used to asked questions and obtain additional help.
Issue Tracking And Feature Requests
We are currently using the Jira Issue Tracker hosted by the University of Iowa.
Releases
- v0.9.1 Release Notes Downloads
- v0.9.0 Release Notes Downloads Doxygen
- v0.8.1 Release Notes Downloads Doxygen
- v0.8.0 Release Notes Downloads
- v0.7.1 Release Notes Downloads
- v0.7.0 Release Notes Downloads Doxygen
- v0.6.1 Downloads Doxygen
- v0.6.0 Downloads
- v0.5.1 Downloads
- v0.5.0 Downloads
Development
SimpleITK follows many of the conventions established by ITK. For user contributions the gerrit based work flow from ITK can be followed:
We certainly welcome contributions from the users and the community. Currently the development team is small, so may of our practices are not fully document, but this will be improving in the future.
A main difference between the SimpleITK and ITK development is that we have an additional "next" branch which is used for topics underdevelopment, so that they can be tested on the dashboard without being merged into the "master" branch. This will make the "master" branch more stable and reliable. This follows the CMake development process more:
Source Code Repository
SimpleITK uses git as the revision control system. The main repository is hosted along side ITK as http://itk.org/SimpleITK.git [1]. It is also mirrored on Github .
Development is currently following the branchy workflow with the Kitware stage. This workflow is described here:
Additional information on how SimpleITK uses git can be found here: http://www.itk.org/SimpleITKDoxygen/html/Git.html.