SimpleITK: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
No edit summary
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{SimpleITKMigrationHeader}}
[[Image: SimpleITK-SquareTransparentLogo.png|center]]
[[Image: SimpleITK-SquareTransparentLogo.png|center]]


Line 12: Line 14:


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 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.
= 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) [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
* 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])


= Getting Started =
= Getting Started =
Line 26: Line 38:


SimpleITK currently provides binary distribution for Python, CSharp and Java language bindings.  
SimpleITK currently provides binary distribution for Python, CSharp and Java language bindings.  
You can download the [https://sourceforge.net/projects/simpleitk/files/SimpleITK/0.10.0/ 0.10.0 release from SourceForge].
You can download the [https://sourceforge.net/projects/simpleitk/files/SimpleITK/1.0.0/ 1.0.0 release from SourceForge].


= Documentation =
= Documentation =
Line 53: Line 65:


Additional repositories containing tutorial specific notebooks are listed in the [http://www.itk.org/Wiki/SimpleITK#SimpleITK_Tutorials Tutorials section] below.
Additional repositories containing tutorial specific notebooks are listed in the [http://www.itk.org/Wiki/SimpleITK#SimpleITK_Tutorials 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) [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
Please cite SimpleITK and ITK when publishing work where it made a significant contribution.


== SimpleITK Tutorials ==
== SimpleITK Tutorials ==
Line 66: Line 70:
=== Upcoming ===
=== Upcoming ===


* none
* 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].
 


=== Past ===
=== Past ===
Line 90: Line 95:
=Support=
=Support=


SimpleITK is supported through the ITK community and the active developers. In addition to the resources listed above in the documentation section, the [http://www.itk.org/ITK/help/mailing.html ITK mailing lists] can be used to asked questions and obtain additional help.
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.


== Issue Tracking And Feature Requests ==
== Issue Tracking And Feature Requests ==


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
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 Jira Issue Tracker ] hosted by the University of Iowa.
[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.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/SimpleITKDoxygen010/html/index.html Doxygen]
* [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=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=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]  
Line 113: Line 119:
= Development =
= Development =


SimpleITK follows many of the conventions established by  ITK. For user contributions the gerrit based work flow from ITK can be followed:
SimpleITK has moved to a [https://github.com/SimpleITK/SimpleITK Github] based work flow for issues tracking and contribution.
 
* [http://www.itk.org/Wiki/ITK/Git/Develop ITK Development Process].
 
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.


* [http://www.itk.org/SimpleITKDoxygen/html/DeveloperPage.html Additional Developer Information ]


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:
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:


* [http://www.cmake.org/Wiki/CMake/Git/Develop CMake Development Process ]
* [http://www.cmake.org/Wiki/CMake/Git/Develop CMake Development Process ]
Line 128: Line 129:
== Source Code Repository ==
== 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  [http://public.kitware.com/gitweb?p=SimpleITK.git]. It is also mirrored on  [https://github.com/SimpleITK/SimpleITK Github ].
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 ].


Development is currently following the branchy workflow with the Kitware stage. This workflow is described here:
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
*http://public.kitware.com/Wiki/Git/Workflow/Stage
*http://public.kitware.com/Wiki/Git/Workflow/Topic
*http://public.kitware.com/Wiki/Git/Workflow/Topic


Additional information on how SimpleITK uses git can be found here: https://itk.org/SimpleITKDoxygen/html/GitPage.html.
Contributions from github will be pushed to the stage repo and merged into the next branch by a SimpleITK developer.


== [[SimpleITK/Design_And_Proposals | Design And Proposals]] ==
== [[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