SimpleITK: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
No edit summary
 
(189 intermediate revisions by 8 users not shown)
Line 1: Line 1:
'''Simple ITK'''
{{SimpleITKMigrationHeader}}


= Goals =
[[Image: SimpleITK-SquareTransparentLogo.png|center]]


* Provide an easy-access layer to ITK for non-C++ expert developers
=Overview=
* [[ITK_Release_4/SimpleITK/Goals|Specific Goals]]


Welcome to the National Library of Medicine Insight Segmentation and Registration Toolkit (ITK). [http://www.itk.org/ 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:


= Getting Started =
* 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


* [[ITK_Release_4/SimpleITK/GettingStarted|Getting Started]]
SimpleITK captures many of features available in ITK, and is under ongoing development. Earlier in the development process a set of [[SimpleITK/Goals|Specific Goals]] were outlined.


SimpleITK provides a simplified interface to ITK in a variety of languages.  You can either download binaries, if they are available for your platform and prefered language, or you can build SimpleITK yourself.
= How to Cite =


Additionally, there are several recommended third-party software packages.
If you find SimpleITK useful in your research, please cite the relevant publications:


After you have installed SimpleITK, please look to the Tutorial or the Doxygen pages for more information.
* Lowekamp BC, Chen DT, Ibáñez L and Blezek D (2013) [http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3874546/pdf/fninf-07-00045.pdf The Design of SimpleITK]. Front. Neuroinform. 7:45. doi: 10.3389/fninf.2013.00045


==Binaries==
* 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., https://doi.org/10.1007/s10278-017-0037-8, 2017. (you can freely read the manuscript [http://em.rdcu.be/wf/click?upn=KP7O1RED-2BlD0F9LDqGVeSIWDx8-2B-2B8r81HkSA5fUW53U-3D_kZYp45lAKoeuSXKlMMKnLRu-2FO1jcvtAwo2UFz30PH9bPLAejS1IjjDkfGx8EIWfnvmrgAH2RF3xvrb1fezqultdVNEEAM7Fc2RGY-2BOVhjR-2BAN-2B7Wi6qUoM6BYtn1ZWsTzFdNZQxBXXJ2Nf0BaU5NhQLQVs2hoM2TXsKZ7pnKQXZVJEAOyLbQSvZkJOvdc7Gk36rdNDa3pn5vH17-2FvszYj4mKlZlgROxTE-2Be2yQ-2FOLAYsoDHZNvVuG4vJr4xNpQnmAI16Nz8h3GJi-2F9GKnpBsAg-3D-3D. here])


Currently, we provide binary distributions for a number of systems of SimpleITK for python which can make getting started very easy.


===Python===


The list of the binary python packages available is maintained [http://www.itk.org/SimpleITKDoxygen/html/PyDownload.htm here].
= Getting Started =
 
Both your version of python and operating system must be available to be able to use the binary distribution. The package does not need to be downloaded from above, as SimpleITK is registered on the [http://pypi.python.org/pypi/SimpleITK/ Python Packaging Index]. The binary built packages are distributed as python eggs. They can be installed with the "easy_install" utility from the setuptools python package.
If your system does not already have easy_install you will need to install this python package. Please go to the setuptools  [http://pypi.python.org/pypi/setuptools setuptools home page] for detailed instructions.
 
Once you have installed setuptools and easy_install is in your path then run the following command:
$ easy_install SimpleITK
 
This command will check the available packages, and choose the one that is most recent and matches your system. On Unix based system you may need to be root:
$ sudo easy_install SimpleITK
 
For advanced users you may be able to install SimpleITK in a [http://pypi.python.org/pypi/virtualenv virtual python environment], so that it does not modify the global python environment.


==Build It Yourself==
* [[SimpleITK/GettingStarted|Getting Started For Users]]
** [[SimpleITK/GettingStarted#Binaries|downloading the binaries]]
** [[SimpleITK/GettingStarted#Build_It_Yourself|build the code yourself]]
** [[SimpleITK/GettingStarted#Recommended_Software|additional software]] which is useful with SimpleITK
* [[SimpleITK/GettingStarted/Visual_guide_to_building_on_Linux|A Visual Guide to Building SimpleITK on Linux]]
* [[SimpleITK/GettingStarted/A_visual_guide_to_SimpleITK_in_Java|A Visual Guide to SimpleITK with Java and Eclipse]]
* [[SimpleITK/GettingStarted/A_visual_guide_to_SimpleITK_with_CSharp|A Visual Guide to SimpleITK with CSharp on Microsoft Visual Studio]]


SimpleITK takes a while to build. To build SimpleITK you need a recent version of [http://www.cmake.org/ cmake]. And a supported [http://www.vtk.org/Wiki/ITK_Release_4/SimpleITK/FAQ#Is_my_compiler_supported.3F compiler].
== Download ==


Released source code can be found on SimpleITK's [http://sourceforge.net/projects/simpleitk/ SourceForge Page].
SimpleITK currently provides binary distribution for Python, CSharp and Java language bindings.
You can download the [https://sourceforge.net/projects/simpleitk/files/SimpleITK/1.0.0/ 1.0.0 release from SourceForge].


Alternatively, the latest developmental version can be download with git.
= Documentation =
git clone --recursive  http://itk.org/SimpleITK.git


After SimpleITK's souce code is obtained it is '''STRONGLY''' recommended to run cmake on the SuperBuild subdirectory of SimpleITK:
* [[SimpleITK/FAQ|Frequently Asked Questions (FAQ)]]
mkdir SimpleITK-build
cd SimpleITK-build
cmake ../SimpleITK/SuperBuild


The SuperBuild will automatically download and build the matching version of ITK and SWIG needed to compile SimpleITK. This is the recommended way to build SimpleITK and is easiest.
== API ==


If you get an error message saying that ITK_DIR is not set then, you did not correctly point cmake to the SuperBuild sub-directory. Please erase your binary directory, and point cmake to the SimpleITK/SuperBuild sub-directory.
* Nightly generated [https://www.itk.org/SimpleITKDoxygen/html/ Doxygen].
* Release 1.0 [https://www.itk.org/SimpleITKDoxygen100/html/index.html Doxygen].
* Release 0.10 [https://www.itk.org/SimpleITKDoxygen010/html/index.html Doxygen].
* Release 0.9 [https://www.itk.org/SimpleITKDoxygen09/html/index.html Doxygen].
* Release 0.8 [https://www.itk.org/SimpleITKDoxygen08/html/index.html Doxygen].
* Release 0.7 [https://www.itk.org/SimpleITKDoxygen07/html/index.html Doxygen].
* Release 0.6.1 [https://www.itk.org/SimpleITKDoxygen06/html/ Doxygen].


The cmake configuration process should automatically find supported languages and enable SimpleITK wrapping for them. To manually enable a language toggle the appropriate WRAP_LANGUAGE cmake variable to ON.  Verify and/or correct the advanced cmake variables to the language specific executable, libraries and include directories.
== Short Examples ==


Then use your make utility or your cmake choosen build utility to build SimpleITK.
Concise [https://itk.org/SimpleITKDoxygen/html/examples.html examples] illustrating the usage of various SimpleITK features. Examples are written in a variety of languages including Python, R, C++, Java...


==Recommended Software==
== SimpleITK Notebooks ==


To enable the "sitk::Show" function to work we recommend downloading a recent version of [http://rsbweb.nih.gov/ij/download.html ImageJ]. The recent versions come with support for the Nifti ( *.nii ) file format which SimpleITK uses to display.
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 [http://jupyter.org/ Jupyter website]. While SimpleITK supports a number of programming languages, the majority of notebooks are written in Python and some in R.


If you are using python, [http://ipython.org/ ipython] is great environment to perform interactive commands for image processing.
The main notebook repository is available on [https://github.com/InsightSoftwareConsortium/SimpleITK-Notebooks github].


= Doxygen Documentation=
Additional repositories containing tutorial specific notebooks are listed in the [http://www.itk.org/Wiki/SimpleITK#SimpleITK_Tutorials Tutorials section] below.


The nightly generated Doxygen is found [http://www.itk.org/SimpleITKDoxygen/html/ here].
== SimpleITK Tutorials ==


=== Upcoming ===


= SimpleITK tutorial at MICCAI 2011 =
* SPIE Medical Imaging 2018, Houston TX, USA: [https://spie.org/MI/course/simpleitk-jupyter-notebooks-biomedical-image-analysis-in-python SimpleITK Jupyter Notebooks: Biomedical Image Analysis in Python].


[[ITK_Release_4/Outreach/Conferences/MICCAI 2011/SimpleITK|SimpleITK at MICCAI]]


=== Past ===
* The International Symposium on Biomedical Imaging (ISBI) 2016, Prague, Czech republic: [http://biomedicalimaging.org/2016/?page_id=572  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: [https://github.com/InsightSoftwareConsortium/SimpleITKTutorialSPIE2016 git repository] [https://hdl.handle.net/10380/3542 additional presentations] .
* Medical Image Computing and Computer Assisted Intervention (MICCAI) 2015, Munich, Germany: a Python based tutorial on the use of the [[SimpleITK/Tutorials/MICCAI2015 | ITKv4 registration framework via SimpleITK]].
: Tutorial material: [https://github.com/InsightSoftwareConsortium/SimpleITKTutorialMICCAI2015.git git repository].
* ImageJ User & Developer Conference 2015, Madison, WI, USA: [http://imagej.net/Conference_2015_Program#Matt_McCormick_-_SimpleITK an introductory tutorial] in Python.
: Tutorial material: [https://github.com/InsightSoftwareConsortium/SimpleITKWorkshopImageJ2015 git repository]. 
* Medical Image Computing and Computer Assisted Intervention (MICCAI) 2011, Toronto, Canada: a general [[ITK_Release_4/Outreach/Conferences/MICCAI 2011/SimpleITK|tutorial on SimpleITK]].
: Tutorial material: [https://github.com/SimpleITK/SimpleITK-MICCAI-2011-Tutorial/blob/master/Presentation/SimpleITK-MICCAI-2011.pdf?raw=true PDF of presentation], [http://midas.kitware.com/collection/view/175 virtual machine], and [https://github.com/SimpleITK/SimpleITK-MICCAI-2011-Tutorial  git repository].


= FAQ =
== Community Blogs ==


* [[ITK_Release_4/SimpleITK/FAQ|Frequently Asked Questions]]
These are blog entries written by people who are not necessarily 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).


= Source Code Repository =
* General introduction of SimpleITK on the [http://news.iscas.co/simpleitk-a-simplified-multi-language-interface-to-the-insight-segmentation-and-registration-toolkit/  International Society for Computer Aided Surgery blog], 1 March 2017.
* [http://zarquon42b.github.io/2015/05/22/SimpleITKandR/  SimpleITK and R], 22 May 2015.
* [http://kevin-keraudren.blogspot.com/2014/12/medical-image-analysis-ipython-tutorials.html Medical Image Analysis Course], 20 December 2014.
* [https://pyscience.wordpress.com/tag/simpleitk Image Segmentation with Python and SimpleITK], October/November 2014.


SimpleITK uses git as the revision control system.  The main repository is hosted along side ITK as http://itk.org/SimpleITK.git  [http://public.kitware.com/gitweb?p=SimpleITK.git]. It is also mirrored on  [https://github.com/SimpleITK/SimpleITK Github ].
=Support=


== Repository Procedures ==
SimpleITK is supported through the ITK community and the active developers. In addition to the resources listed above in the documentation section, the  [https://discourse.itk.org discourse forum]  can be used to ask questions and obtain additional help from the ITK community. The legacy [http://www.itk.org/ITK/help/mailing.html ITK mailing lists] is no longer prefered.


Development is currently following the branchy workflow with the Kitware stage. This workflow is described here:
== Issue Tracking And Feature Requests ==
*http://public.kitware.com/Wiki/Git/Workflow/Stage
*http://public.kitware.com/Wiki/Git/Workflow/Topic
 
Additional information how 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.
 
* [[ITK_Release_4/SimpleITK/Advisory Review Board|Advisory Review Board]]
 
== Survey ==
 
* [[ITK_Release_4/SimpleITK/Survey 1|Survey 1]]
 
== Must Implement ITK Filters ==
 
* [[ITK_Release_4/SimpleITK/Filters|Filters]]
 
= Examples of Other Librarires =
 
* CIMG: http://cimg.sourceforge.net
* OpenCV: http://opencv.willowgarage.com/wiki/
 
 
= Scope =
 
* [[ITK_Release_4/SimpleITK/Scope | Scope ]]
 
 
= Wrapping =
 
* [[ITK_Release_4/SimpleITK/Wrapping | Wrapping]]
* [http://www.itk.org/SimpleITKDoxygen/html/Wrapping.html Wrapping Readme]
 
 
= Issue Tracking and Release Schedule =
 
We are currently using the [https://itk.icts.uiowa.edu/jira/browse/SIMPLEITK Jira Issue Tracker ] hosted by the University of Iowa.


We are currently using the [https://github.com/SimpleITK/SimpleITK/issues github issue tracker]. Before switching to github issue tracking we used an instance of the
[https://itk.icts.uiowa.edu/jira/browse/SIMPLEITK Legacy Jira Issue Tracker ] hosted by the University of Iowa.


== Releases ==
== Releases ==
* [https://itk.org/gitweb?p=SimpleITK.git;a=tag;h=refs/tags/v1.0.1 v1.0.1] [https://github.com/SimpleITK/SimpleITK/releases/tag/v1.0.1 Release Notes]
* [https://itk.org/gitweb?p=SimpleITK.git;a=tag;h=refs/tags/v1.0.0 v1.0.0] [https://github.com/SimpleITK/SimpleITK/releases/tag/v1.0.0 Release Notes] [https://sourceforge.net/projects/simpleitk/files/SimpleITK/1.0.0 Downloads] [https://www.itk.org/SimpleITKDoxygen100/html/index.html Doxygen]
* [https://itk.org/gitweb?p=SimpleITK.git;a=tag;h=4a3376df08f27162b4d2a90e4a0452a839ab3124 v0.10.0] [https://github.com/SimpleITK/SimpleITK/releases/tag/v0.10.0 Release Notes] [https://sourceforge.net/projects/simpleitk/files/SimpleITK/0.10.0 Downloads] [https://www.itk.org/SimpleITKDoxygen010/html/index.html Doxygen]
* [https://itk.org/gitweb?p=SimpleITK.git;a=tag;h=ec033f0be4f67b2e21483ed9bc3698f07dba9d06 v0.9.1] [https://github.com/SimpleITK/SimpleITK/releases/tag/v0.9.1 Release Notes] [https://sourceforge.net/projects/simpleitk/files/SimpleITK/0.9.1 Downloads]
* [https://itk.org/gitweb?p=SimpleITK.git;a=tag;h=7f06e9fc7f3cda9c47e8b7d6d37885b1f425ea3b v0.9.0] [https://github.com/SimpleITK/SimpleITK/releases/tag/v0.9.0 Release Notes] [https://sourceforge.net/projects/simpleitk/files/SimpleITK/0.9.0 Downloads] [https://www.itk.org/SimpleITKDoxygen09/html/index.html Doxygen]
* [https://itk.org/gitweb?p=SimpleITK.git;a=tag;h=d0a90983877b46631e69a398bd8341889912c8c2 v0.8.1] [https://github.com/SimpleITK/SimpleITK/releases/tag/v0.8.1 Release Notes]  [https://sourceforge.net/projects/simpleitk/files/SimpleITK/0.8.1/ Downloads]  [https://www.itk.org/SimpleITKDoxygen08/html/index.html Doxygen]
* [https://itk.org/gitweb?p=SimpleITK.git;a=tag;h=11bff587f8a930bbca02813595aa3d08388af979 v0.8.0] [https://github.com/SimpleITK/SimpleITK/releases/tag/v0.8.0  Release Notes]  [https://sourceforge.net/projects/simpleitk/files/SimpleITK/0.8.0/ Downloads]
* [https://itk.org/gitweb?p=SimpleITK.git;a=commit;h=a2b29110771a1eb0b09d18ff8e98a784dc6e6451 v0.7.1]  [https://github.com/SimpleITK/SimpleITK/releases/tag/v0.7.1  Release Notes]  [https://sourceforge.net/projects/simpleitk/files/SimpleITK/0.7.1/ Downloads]
* [https://itk.org/gitweb?p=SimpleITK.git;a=tag;h=6fecf5ae5859295082b9016c97bf4bd68a961a62 v0.7.0] [https://github.com/SimpleITK/SimpleITK/releases/tag/v0.7.0  Release Notes]  [https://sourceforge.net/projects/simpleitk/files/SimpleITK/0.7.0/ Downloads]  [https://www.itk.org/SimpleITKDoxygen07/html/index.html Doxygen]
* [https://itk.org/gitweb?p=SimpleITK.git;a=tag;h=fc17df598cac97d344c875fed117f03ae7d1aacd v0.6.1]  [https://sourceforge.net/projects/simpleitk/files/SimpleITK/0.6.1/ Downloads] [http://www.itk.org/SimpleITKDoxygen06/html/index.html Doxygen]
* [https://itk.org/gitweb?p=SimpleITK.git;a=tag;h=c055ef4e4cd2802c56e169084d9dd1bc655b4e93 v0.6.0]  [https://sourceforge.net/projects/simpleitk/files/SimpleITK/0.6.0/ Downloads]
* [https://itk.org/gitweb?p=SimpleITK.git;a=tag;h=41fbb6d69f88fa1c8ab3b9d710b7ae57bb975721 v0.5.1]  [https://sourceforge.net/projects/simpleitk/files/SimpleITK/0.5.1/ Downloads]
* [https://itk.org/gitweb?p=SimpleITK.git;a=tag;h=35ccfd2b99b4b5675d4d0894bb870574396408b6 v0.5.0]  [https://sourceforge.net/projects/simpleitk/files/SimpleITK/0.5.0/ Downloads]


* Beta 1
= Development =
**Tagged 9/30 as "v0.3.0b"
*Alpha 1
**Tagged on 6/19 as "va01"
*Alpha 2
** Tagged on 8/24 as "va02"


= TCons =
SimpleITK has moved to a [https://github.com/SimpleITK/SimpleITK Github] based work flow for issues tracking and contribution.


* [[ITK_Release_4/SimpleITK/Tcon 2011  10 05|10/05/2011]]


* [[ITK_Release_4/SimpleITK/Tcon 2011  9 14|9/14/2011]]
SimpleITK utilizes an additional "next" branch to merge and test changes before merging into the master branch. This makes our "master" branch more stable and reliable. This follows the CMake development process:


* [[ITK_Release_4/SimpleITK/Tcon 2011  9 7|9/7/2011]]
* [http://www.cmake.org/Wiki/CMake/Git/Develop CMake Development Process ]


* [[ITK_Release_4/SimpleITK/Tcon 2011  8 31|8/31/2011]]


* [[ITK_Release_4/SimpleITK/Tcon 2011  8 24|8/24/2011]]
== Source Code Repository ==


* [[ITK_Release_4/SimpleITK/Tcon 2011  8 17|8/17/2011]]
SimpleITK uses git as the revision control system.  The official repository is hosted along side ITK as http://itk.org/SimpleITK.git  [http://public.kitware.com/gitweb?p=SimpleITK.git]. It is also mirrored on  [https://github.com/SimpleITK/SimpleITK Github ].


* [[ITK_Release_4/SimpleITK/Tcon 2011  8 10|8/10/2011]]
Development is currently following the branchy workflow with the Kitware stage repository. This workflow is described here:
 
*http://public.kitware.com/Wiki/Git/Workflow/Stage
* [[ITK_Release_4/SimpleITK/Tcon 2011  8 3|8/03/2011]]
*http://public.kitware.com/Wiki/Git/Workflow/Topic
 
* [[ITK_Release_4/SimpleITK/Tcon 2011  7 13|7/13/2011]]
 
* [[ITK_Release_4/SimpleITK/Tcon 2011  7 6|7/06/2011]]
 
* [[ITK_Release_4/SimpleITK/Tcon 2011  6 22|6/22/2011]]
 
* [[ITK_Release_4/SimpleITK/Tcon 2011  6 15|6/15/2011]]
 
* [[ITK_Release_4/SimpleITK/Tcon 2011  6 13|6/13/2011 - Packaging And Installation]]
 
* [[ITK_Release_4/SimpleITK/Tcon 2011  6 8|6/08/2011]]
 
* [[ITK_Release_4/SimpleITK/Tcon 2011  5 25|5/25/2011]]
 
* [[ITK_Release_4/SimpleITK/Tcon 2011  5 18|5/18/2011]]
 
* [[ITK_Release_4/SimpleITK/Tcon 2011  5 4|5/04/2011]]
 
* [[ITK_Release_4/SimpleITK/Tcon 2011  4 27|4/27/2011]]
 
* [[ITK_Release_4/SimpleITK/Tcon 2011  4 20|4/20/2011]]
 
* [[ITK_Release_4/SimpleITK/Tcon 2011  4 13|4/13/2011]]
 
* [[ITK_Release_4/SimpleITK/Tcon 2011  4 6|4/06/2011]]
 
* [[ITK_Release_4/SimpleITK/Tcon 2011  3 30|3/30/2011]]
 
* [[ITK_Release_4/SimpleITK/Tcon 2011  3 23|3/23/2011]]
 
* [[ITK_Release_4/SimpleITK/Tcon 2011  1 19|1/19/2011]]
 
* [[ITK_Release_4/SimpleITK/Tcon 2011  1 12|1/12/2011]]
 
* [[ITK_Release_4/SimpleITK/Tcon 2011  1 5|1/5/2011]]
 
* [[ITK_Release_4/SimpleITK/Tcon 2010 12 1|12/1/2010]]
 
* [[ITK_Release_4/SimpleITK/Tcon 2010 11 3|11/3/2010]]
 
* [[ITK_Release_4/SimpleITK/Tcon 2010 09 13|9/13/2010]]
 
* [[ITK_Release_4/SimpleITK/Tcon 2010 09 07|9/07/2010]]
 
* [[ITK_Release_4/SimpleITK/Tcon 2010 08 26|8/26/2010]]
 
* [[ITK_Release_4/SimpleITK/Tcon 2010 08 17|8/17/2010]]
 
* [[ITK_Release_4/SimpleITK/Tcon 2010 08 13|8/13/2010]]
 
* [[ITK_Release_4/SimpleITK/Tcon 2010 08 12|8/12/2010]]
 
* [[ITK_Release_4/SimpleITK/Tcon 2010 07 22|7/22/2010]]


* [[ITK_Release_4/SimpleITK/Tcon 2010 07 16|7/16/2010]]
Contributions from github will be pushed to the stage repo and merged into the next branch by a SimpleITK developer.


* [[ITK_Release_4/SimpleITK/Tcon 2010 07 15|7/15/2010]]
== [[SimpleITK/Design_And_Proposals | Design And Proposals]] ==

Latest revision as of 18:17, 13 December 2019

NOTICE
This page is being migrated to Read The Docs!

For the up to date version please see this page!

SimpleITK-SquareTransparentLogo.png

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.

How to Cite

If you find SimpleITK useful in your research, please cite the relevant publications:

  • 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
  • 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., https://doi.org/10.1007/s10278-017-0037-8, 2017. (you can freely read the manuscript here)


Getting Started

Download

SimpleITK currently provides binary distribution for Python, CSharp and Java language bindings. You can download the 1.0.0 release from SourceForge.

Documentation

API

Short Examples

Concise examples illustrating the usage of various SimpleITK features. Examples are written 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.

SimpleITK Tutorials

Upcoming


Past

Tutorial material: git repository additional presentations .
Tutorial material: git repository.
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 necessarily 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).

Support

SimpleITK is supported through the ITK community and the active developers. In addition to the resources listed above in the documentation section, the discourse forum can be used to ask questions and obtain additional help from the ITK community. The legacy ITK mailing lists is no longer prefered.

Issue Tracking And Feature Requests

We are currently using the github issue tracker. Before switching to github issue tracking we used an instance of the Legacy Jira Issue Tracker hosted by the University of Iowa.

Releases

Development

SimpleITK has moved to a Github based work flow for issues tracking and contribution.


SimpleITK utilizes an additional "next" branch to merge and test changes before merging into the master branch. This makes our "master" branch more stable and reliable. This follows the CMake development process:


Source Code Repository

SimpleITK uses git as the revision control system. The official 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 repository. This workflow is described here:

Contributions from github will be pushed to the stage repo and merged into the next branch by a SimpleITK developer.

Design And Proposals