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

In order to run qsiprep in a Docker container, Docker must be installed. Once Docker is installed, the recommended way to run qsiprep is to use the qsiprep-docker wrapper, which requires Python and an Internet connection.


If running Docker Desktop on MacOS, 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.

When run, qsiprep-docker will generate a Docker command line for you, print it out for reporting purposes, and then run the command, e.g.:

$ qsiprep-docker /path/to/data/dir /path/to/output/dir participant
RUNNING: docker run --rm -it -v /path/to/data/dir:/data:ro \
    -v /path/to_output/dir:/out pennbbl/qsiprep:1.0.0 \
    /data /out participant

You may also invoke docker directly:

$ docker run -ti --rm \
    -v filepath/to/data/dir:/data:ro \
    -v filepath/to/output/dir:/out \
    pennbbl/qsiprep:latest \
    /data /out participant

For example:

$ docker run -ti --rm \
    -v $HOME/fullds005:/data:ro \
    -v $HOME/dockerout:/out \
    pennbbl/qsiprep:latest \
    /data /out participant \
    --ignore fieldmaps

See External Dependencies for more information (e.g., specific versions) on what is included in the latest Docker images.

Singularity Container

The easiest way to get a Sigularity image is to run:

$ singularity build qsiprep-<version>.sif docker://pennbbl/qsiprep:<version>

Where <version> should be replaced with the desired version of qsiprep that you want to download. Do not use latest.

External Dependencies

qsiprep is written using Python 3.6 (or above), and is based on nipype.

qsiprep requires some other non-python neuroimaging software tools: