SimpleITK/FAQ
This page hosts frequently asked questions about SimpleITK, and their answers.
Download
Where is the Input Data? or Why is my Testing/Data directory empty?
The testing data should reside in the source directory under the "Testing/Data" directories. If this directory is empty you likely downloaded the source code with "git clone". The data is stored as a git submodule . There are two common ways to download this submodule repository.
The first is when you are cloning the SimpleITK repository the first time your can recursively clone submodules with the following command:
git clone --recursive http://itk.org/SimpleITK.git
If you forgot to include this argument when you clone, or if you git version is so old that is doesn't support the "--recursive" option flag. The the following two commands should download that data:
$ git submodule init Submodule 'Testing/Data' (git://itk.org/SimpleITKData.git) registered for path 'Testing/Data' $ git submodule update Initialized empty Git repository in /Volumes/Home/Users/blowekamp/temp/SimpleITK/Testing/Data/.git/ remote: Counting objects: 290, done. remote: Compressing objects: 100% (182/182), done. remote: Total 290 (delta 106), reused 290 (delta 106) Receiving objects: 100% (290/290), 19.89 MiB | 2.76 MiB/s, done. Resolving deltas: 100% (106/106), done. Submodule path 'Testing/Data': checked out 'f4f1faf6e60696bed8282758e49a95779ad15e0d'
Why are so many tests failing?
The most common cause of a large number of failures is that the data submodule has not been downloaded or updated.
If the subdirectory "Testing/Data" is empty, then the data submodule has not initialized and downloaded. Please follow the instructions to accomplish this.
To check if the data submodule is out of date the following command can be run:
$ git status # On branch master # Changed but not updated: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: Testing/Data (new commits) #
The git suggestion is unfortunately not too helpful here. This indicates that the data submodule needs to be updated with the following command:
$ git submodule update
If you have your data submodule up to date and the tests are still failing it is likely there is a more complicated configuration problem.
Compilation
Is my compiler supported?
SimpleITK uses advanced C++ meta-programming to instantiate ITK's Images and Filters. Addtionally, we some headers which are included in the C99 and C++ TR1 extension. This places additional requirements on the compiler beyond what is require for ITK. In principle we require C++x03 with C99's "stdint.h" and TR1's "functional". If your compiler has those features it is likely able to be supported.
The additional requirement for a supported compiler is that it's on the nightly dashboard. With this regaurd the list of supported compilers is on the SimpleITK SimpleITK dashboard. User contributions are welcomed to expand the supported compilers by contributing to the nightly dashboard.
Committed to Support
- GCC 4.0
- GCC 4.2
- GCC 4.5
- Visual Studio 10 ( including Express )
Currently Problematic
- Visual Studio 9
- We hope to be able to Support Visual Studio 9 but currently we are having significantly problems with this size of the static libraries.
Do I need to download an option package for TR1 support?
Visual Studio 2008 requires an additional download for TR1 support. This is best provided with the Service Pack 1. There is a separate TR1 feature pack which can be downloaded, but this is no longer recommended as SP1 include TR1 and numerous bug and performance improvements.
Do I need to download an optional package for C99?
Visual Studio 2008 requires an additional download for C99 support.
How do I build withVisual Studio 2008?
Visual Studio 2008 is the oldest supported Microsoft development environment that SimpleITK supports. To build, certain features of C++TR1 are required. This is best provided by the "Microsoft Visual Studio 2008 Service Pack 1". Alternatively just the Visual C++ 2008 Feature Pack Release can be installed.
Visual Studio also requires an implementation of stdint.h, which can be downloaded here. For 64-bit Microsoft Windows it should be installed here:
C:\Program Files\Microsoft Visual Studio 9.0\VC\include
While on 32-bit operating systems it should be install here:
C:\Program Files\Microsoft Visual Studio 9.0\VC\include
Please note that some times a web browser will automatically add a ".txt" extension. After the file is saved it would be wise to check the properties to verify that it has the correct ".h" file extension.
What Configurations On Windows are Supported?
There are quite a large number of configuration options available for the windows platform. The following table is a guide line of what is regularly tested and confirmed to work or fail.
Architecture | Library Type | Visual Studio 2008 ( VS9 ) | Visual Studio 2010 ( VS10 ) | |||
---|---|---|---|---|---|---|
Release | Debug | Release | Debug | |||
32-bit Window OS | Only Intel 32-bit | Static | FAIL | Nightly | FAIL | |
Shared | Nightly | |||||
64-bit Window OS | Intel 32-bit | Static | Nightly | FAIL | Nightly | FAIL |
Shared | ||||||
Intel 64-bit | Static | Nightly | FAIL | Nightly | Nightly | |
Shared |
Legend | |
---|---|
Nightly | This combination of options is nightly tested, and known to work. |
This combinations has been manually tested, and is expected to work. | |
It is not know if this combinations of options will work. | |
FAIL | These options are know not to work. |
Installation
Why do I get an error about a missing Dynamic Library when running SimpleITK with Python on windows?
This error occurs after you have downloaded the windows binaries when you are running python and try to import SimpleITK. There is an error about a missing DLL on windows when you don't have Visual Studio 10 and no other application has installed certain libraries before. You will need to download the Visual Studio 10 redistribution libraries. The libraries are available for download here.