<commit_before>Installation
############


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

   .. code:: sh

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

   .. code:: sh

      git clone https://github.com/neuropoly/spinalcordtoolbox

      cd spinalcordtoolbox

#. Checkout the revision of interest, if different from `master`:

   .. code:: sh

      git checkout ${revision_of_interest}

#. Run the installer and follow the instructions

   .. code:: sh

      ./install_sct


Hard-core Installation-less SCT usage
*************************************

This is completely unsupported.


Procedure:

#. Retrieve the SCT code


#. Install dependencies

   Example for Ubuntu 18.04:<commit_msg>sphinx: installation: add Docker section<commit_after>Installation
############


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

   .. code:: sh

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

   .. code:: sh

      git clone https://github.com/neuropoly/spinalcordtoolbox

      cd spinalcordtoolbox

#. Checkout the revision of interest, if different from `master`:

   .. code:: sh

      git checkout ${revision_of_interest}

#. Run the installer and follow the instructions

   .. code:: sh

      ./install_sct


Docker
******

`Docker <https://www.docker.com/what-container>`_ 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:
{'fraction_non_alphanumeric': 0.1135280095351609, 'fraction_numerical': 0.0023837902264600714, 'mean_word_length': 3.8025751072961373, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 6, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4545089', 'n_tokens_mistral': 961, 'n_tokens_neox': 846, 'n_words': 382}