Installation¶
Prerequisites¶
SCT runs on Linux and OSX; native Windows support is not there but Docker might be used to run a Linux container on Windows.
For Linux, the prerequisites should be already available on mainstream distributions. SCT has been tested on Debian >= 7, Fedora >= 23, Ubuntu >= 14.04, Gentoo et al.
For OSX, there are no prerequisites.
Recommended Procedure¶
When using the recommended procedure, SCT will bundle its own Python distribution, installed with all the required packages, and using specific package versions, in order to ensure reproducibility of results.
Procedure:
Retrieve the SCT code from https://github.com/neuropoly/spinalcordtoolbox/releases
- Unpack it to a folder, then open a shell inside
Run the installer and follow the instructions
./install_sct
Installation using git¶
You may have good reasons to want to install a development version of SCT.
SCT will still bundle its own Python distribution, installed with all the required packages, and using specific package versions, in order to ensure reproducibility of results.
Procedure:
Retrieve the SCT code
Clone the repository and hop inside:
git clone https://github.com/neuropoly/spinalcordtoolbox cd spinalcordtoolbox
Checkout the revision of interest, if different from master:
git checkout ${revision_of_interest}
Run the installer and follow the instructions
./install_sct
Docker¶
Docker is a portable (Linux, OSX, Windows) container platform.
In the context of SCT, it can be used:
- To run SCT on Windows, until SCT can run natively there
- For development testing of SCT, faster than running a full-fledged virtual machine
- <your reason here>
See https://github.com/neuropoly/sct_docker for more information.
Hard-core Installation-less SCT usage¶
This is completely unsupported.
Procedure:
Retrieve the SCT code
Install dependencies
Example for Ubuntu 18.04:
# The less obscure ones may be packaged in the distribution sudo apt install python3-{numpy,scipy,nibabel,matplotlib,h5py,mpi4py,keras,tqdm,sympy,requests,sklearn,skimage} # The more obscure ones would be on pip sudo apt install libmpich-dev pip3 install --user distribute2mpi nipy dipy
Example for Debian 8 Jessie:
# The less obscure ones may be packaged in the distribution sudo apt install python3-{numpy,scipy,matplotlib,h5py,mpi4py,requests} # The more obscure ones would be on pip sudo apt install libmpich-dev pip3 install --user distribute2mpi sympy tqdm Keras nibabel nipy dipy scikit-image sklearn
Prepare the runtime environment
# Create launcher-less scripts mkdir -p bin find scripts/ -executable | while read file; do ln -sf "../${file}" "bin/$(basename ${file//.py/})"; done PATH+=":$PWD/bin" # Download binary programs mkdir bins pushd bins sct_download_data -d binaries_debian popd PATH+=":$PWD/bins" # Download models & cie mkdir data; pushd data; for x in PAM50 gm_model optic_models pmj_models deepseg_sc_models deepseg_gm_models ; do sct_download_data -d $x; done; popd # Add path to spinalcordtoolbox to PYTHONPATH export PYTHONPATH="$PWD:$PWD/scripts"