SimpleITK
Simple ITK
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 is still under active development to try to capture the wealth of features available in ITK. Earlier in the development process a set of Specific Goals were outlined.
Getting Started
We have a brief guide to Getting Started For Users, which covers details to easily downloading the binaries, or build the code yourself, and additional software which is useful with SimpleITK.
Download
SimpleITK currently provides binary distribution for Python, CSharp and Java language bindings. You can download the 0.6.1 release.
Documentation
- Frequently Asked Questions
- Nightly generated Doxygen.
SimpleITK Notebooks
Recently we gave a SimpleITK tutorial at the National Alliance for Medical Image Computing's 2013 All Hands Meeting. The course material is a iPython notebook, a powerful interactive tool along the line of Mathematica notebooks. Using SimpleITK via ipython notebooks allows the user to create, edit and re-run scripts and view the results all within a web interface.
The SimpleITK Notebooks can be downloaded from GitHub.
Also the ReadMe that accompanies the notebooks describes how to:
SimpleITK Tutorial at MICCAI 2011
At The Medical Image Computing and Computer Assisted Intervention Society's 2011 conference held in Toronto Canada, the development team presented a tutorial on SimpleITK.
The above link includes downloads to the PDF Presentation, Virtual Image, and git repository at the end of the page.
Wrapping
More Information about setting up the wrapped languages can be found here:
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
We are currently using the Jira Issue Tracker hosted by the University of Iowa.
Releases
- "v0.7.0"
- underdevelopment scheduled release for Fall 2013
- "v0.6.1"
- tagged 2/11/13
- "v0.6.0"
- tagged 2/10/13
- "v0.5.1"
- tagged 9/5/12
- "v0.5.0"
- tagged 8/29/12
- "v0.4.0b" or Beta 2
- tagged 8/7/12
- Beta 1
- Tagged 9/30 as "v0.3.0b"
- Alpha 2
- Tagged on 8/24 as "va02"
- Alpha 1
- Tagged on 6/19 as "va01"
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.
Advisory Review Board (ARB)
- The Advisory Review Board is composed of groups and individual who are potential users of the Simple ITK Layer.
- They provide advice to ITK developers of the simple layer regarding the design and implementation of the SimpleITK API.