Run mriqc with docker
Preliminaries
Get the Docker Engine (https://docs.docker.com/engine/installation/)
Have your data organized in BIDS (get BIDS specification, see BIDS paper).
Validate your data (http://incf.github.io/bids-validator/). You can safely use the BIDS-validator since no data is uploaded to the server, works locally in your browser.
Warning
2GB is the default memory setting on a fresh installation of Docker for Mac. We recommend increasing the available memory for Docker containers
When using docker with big datasets (+10GB) docker might fail. Changing the maximum size of the container will solve it:
$ service docker stop
$ dockerd --storage-opt dm.basesize=30G
Warning
On Windows installations, before using the -v
switch to mount volumes into
the container, it is necessary to enable shared drives.
Running mriqc
Test that the mriqc container works correctly. A successful run will show the current mriqc version in the last line of the output:
docker run -it nipreps/mriqc:latest --version
Run the
participant
level in subjects 001 002 003:
docker run -it --rm -v <bids_dir>:/data:ro -v <output_dir>:/out nipreps/mriqc:latest /data /out participant --participant_label 001 002 003
Run the group level and report generation on previously processed (use the same
<output_dir>
) subjects:
docker run -it --rm -v <bids_dir>:/data:ro -v <output_dir>:/out nipreps/mriqc:latest /data /out group
Note
If the argument --participant_label
is not provided, then all
subjects will be processed and the group level analysis will
automatically be executed without need of running the command in item 3.
Warning
Paths <bids_dir> and <output_dir> must be absolute. In particular, specifying relative paths for <output_dir> will generate no error and mriqc will run to completion without error but produce no output.
Warning
For security reasons, we recommend to run the docker command with the options
--read-only --tmpfs /run --tmpfs /tmp
. This will run the docker image in
read-only mode, and map the temporary folders /run
and /tmp
to the temporal
folder of the host.
Explaining the mriqc-docker command line
Let’s dissect this command line:
docker run
- instructs the docker engine to get and run a certain image (which is the last of docker-related arguments:nipreps/mriqc:latest
)-v <bids_dir>:/data:ro
- instructs docker to mount the local directory with your input dataset <bids_dir>`into :code:/data` inside the container in a read only mode.-v <output_dir>:/out
- instructs docker to mount the local directory <output_dir>`into :code:/out` inside the container. This is where the results of the QC analysis (reports, tables) will be stored.nipreps/mriqc:latest
- this tells docker to run MRIQC.latest
corresponds to the version of MRIQC. You should replacelatest
with a version of MRIQC you want to use. Remember not to switch versions while analysing one dataset!/data /scratch/out participant
- are the standard arguments of mriqc.