.. include:: links.rst
############
Installation
############
There are two easy ways to use *QSIPrep*:
in a `Docker Container`_, or in a `Singularity Container`_.
Using a local container method is highly recommended.
Once you are ready to run *QSIPrep*, see Usage_ for details.
To install::
$ pip install --user --upgrade qsiprep-container
.. _`Docker Container`:
****************
Docker Container
****************
In order to run *QSIPrep* in a Docker container, Docker must be `installed
`_.
.. note::
If running Docker Desktop on MacOS (or via Docker Desktop), be sure to set
the memory to 6 or more GB. Too little memory assigned to Docker Desktop can result
in a message like ``Killed.``
You may invoke ``docker`` directly::
$ docker run -ti --rm \
-v /filepath/to/data/dir \
-v /filepath/to/output/dir \
-v ${FREESURFER_HOME}/license.txt:/opt/freesurfer/license.txt \
pennlinc/qsiprep:latest \
/filepath/to/data/dir /filepath/to/output/dir participant \
--fs-license-file /opt/freesurfer/license.txt
For example: ::
$ docker run -ti --rm \
-v $HOME/fullds005 \
-v $HOME/dockerout \
-v ${FREESURFER_HOME}/license.txt:/opt/freesurfer/license.txt \
pennlinc/qsiprep:latest \
$HOME/fullds005 $HOME/dockerout participant \
--ignore fieldmaps \
--fs-license-file /opt/freesurfer/license.txt
If you are running Freesurfer as part of *QSIPrep*,
you will need to mount your Freesurfer license.txt file when invoking ``docker`` ::
$ docker run -ti --rm \
-v $HOME/fullds005 \
-v $HOME/dockerout \
-v ${FREESURFER_HOME}/license.txt:/opt/freesurfer/license.txt \
pennlinc/qsiprep:latest \
$HOME/fullds005 -v $HOME/dockerout participant \
--fs-license-file /opt/freesurfer/license.txt
See `External Dependencies`_ for more information on what is included in the Docker image
and how it's built.
*******************
Apptainer Container
*******************
The easiest way to get an Apptainer (formerly Singularity) image is to run::
$ apptainer build qsiprep-.sif docker://pennlinc/qsiprep:
Where ```` should be replaced with the desired version of qsiprep that you want to download.
Do not use ``latest`` or ``unstable`` unless you are performing limited testing.
As with Docker, you will need to bind the Freesurfer license.txt when running Apptainer ::
$ apptainer run --containall --writable-tmpfs \
-B $HOME/fullds005,$HOME/dockerout,${FREESURFER_HOME}/license.txt:/opt/freesurfer/license.txt \
qsiprep-.sif \
$HOME/fullds005 $HOME/dockerout participant \
--fs-license-file /opt/freesurfer/license.txt
*********************
External Dependencies
*********************
*QSIPrep* is written using Python 3.10 (or above), and is based on nipype_.
The external dependencies are built in the
`qsiprep_build `_ repository.
There you can find the URLs used to download the dependency source code
and the steps to compile each dependency.