diff --git a/docs/installation.rst b/docs/installation.rst index 1a874433..e07a8b38 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -21,51 +21,57 @@ 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. +``qsiprep-docker`` wrapper, which requires Python and an Internet connection +and that you install the ``qsiprep-container`` package with ``pip``. -.. note:: 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.`` +.. 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.`` 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 \ + RUNNING: docker run --rm -it -v /path/to/data/dir:/data \ + -v /path/to_output/dir:/out pennbbl/qsiprep:latest \ /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 \ + -v /filepath/to/data/dir \ + -v /filepath/to/output/dir \ + -v ${FREESURFER_HOME}/license.txt:/opt/freesurfer/license.txt \ pennbbl/qsiprep:latest \ - /data /out participant + /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:/data:ro \ - -v $HOME/dockerout:/out \ + -v $HOME/fullds005 \ + -v $HOME/dockerout \ + -v ${FREESURFER_HOME}/license.txt:/opt/freesurfer/license.txt \ pennbbl/qsiprep:latest \ - /data /out participant \ - --ignore fieldmaps + $HOME/fullds005 $HOME/dockerout participant \ + --ignore fieldmaps \ + --fs-license-file /opt/freesurfer/license.txt -If you are running Freesurfer as part of QSIPrep, +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:/data:ro \ - -v $HOME/dockerout:/out \ + -v $HOME/fullds005 \ + -v $HOME/dockerout \ -v ${FREESURFER_HOME}/license.txt:/opt/freesurfer/license.txt \ pennbbl/qsiprep:latest \ - /data /out participant \ + $HOME/fullds005 -v $HOME/dockerout participant \ --fs-license-file /opt/freesurfer/license.txt -See `External Dependencies`_ for more information (e.g., specific versions) on -what is included in the latest Docker images. +See `External Dependencies`_ for more information on what is included in the Docker image +and how it's built. @@ -77,28 +83,22 @@ The easiest way to get a Sigularity image is to run:: $ singularity build qsiprep-.sif docker://pennbbl/qsiprep: Where ```` should be replaced with the desired version of qsiprep that you want to download. -Do not use ``latest``. +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 Singularity :: - $ singularity run --cleanenv \ - -B $HOME/fullds005:/data:ro,$HOME/dockerout:/out,${FREESURFER_HOME}/license.txt:/opt/freesurfer/license.txt \ + $ singularity run --containall --writable-tmpfs \ + -B $HOME/fullds005,$HOME/dockerout,${FREESURFER_HOME}/license.txt:/opt/freesurfer/license.txt \ qsiprep-.sif \ - /data /out participant \ + $HOME/fullds005 $HOME/dockerout participant \ --fs-license-file /opt/freesurfer/license.txt 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: - -- ANTs_ (version 2.3.9) -- AFNI_ (version Debian-16.2.07) -- FreeSurfer_ (6.0.1) -- FSL_ (6.0.3) -- `DSI Studio`_ -- MRtrix_ +qsiprep is written using Python 3.8 (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.