SimpleITK
Simple ITK
Goals
- Provide an easy-access layer to ITK for non-C++ expert developers
- Specific Goals
Getting Started
SimpleITK provides it's 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.
Additionally, there is some recommended some third-party software.
After you have installed SimpleITK, please look to a Turorial or the Doxygen pages for more information.
Binaries
Currently, we provide a variety of binary distributions of python which can make getting started very easy with SimpleITK.
Python
The list of the binary python packages available is maintained here.
Both your version of python and operating system must be available to be able to uses the binary distribution. The package does not need to be download from above as SimpleITK is registered on the 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 just run the following command:
$ easy_install SimpleITK
This will check the available packages, and choose the one that is most recent and matched 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 virtual python environment, so that it does not modify the global python environment.
Build It Yourself
SimpleITK takes a while to build. To build SimpleITK you need a recent version of cmake. And a supported compiler.
Released source code can be found on SimpleITK's SourceForge Page.
Alternatively, the latest developmental version can be download with git.
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:
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.
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.
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, and verify and correct the advanced cmake variables to the language specific executable, libraries and include directories.
Then use you make utility or your cmake choosen built utility to build SimpleITK.
Recommended Software
To enable the "sitk::Show" function to work it is recommended to download a recent version of ImageJ. The recent versions come with support for the Nifti ( *.nii ) file format which SimpleITK uses to display.
If you are using python ipython is great environment to do interactive command for image processing.
Doxygen Documentation
The nightly generated Doxygen is found here.
SimpleITK tutorial at MICCAI 2011
FAQ
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 .
Repository Procedures
Development is currently following the branchy workflow with the Kitware stage. This workflow is described here:
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.
Survey
Must Implement ITK Filters
Examples of Other Librarires
Scope
Wrapping
Issue Tracking and Release Schedule
We are currently using the Jira Issue Tracker hosted by the University of Iowa.
Releases
- Alpha 1
- Tagged on 6/19 as "va01"
- Alpha 2
- Tagged on 8/24 as "va02"