Run mriqc with docker¶
- 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.
On Windows installations, before using the
-v switch to mount volumes into
the container, it is necessary to enable shared drives.
- 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 poldracklab/mriqc:latest -v
- Run the
participantlevel in subjects 001 002 003:
docker run -it --rm -v <bids_dir>:/data:ro -v <output_dir>:/out poldracklab/mriqc:latest /data /out participant --participant_label 001 002 003
- Run the group level and report generation on previously processed (use the same
docker run -it --rm -v <bids_dir>:/data:ro -v <output_dir>:/out poldracklab/mriqc:latest /data /out group
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.
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 temporal folders
/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 certain image (which is the last of docker-related arguments:
-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.
poldracklab/mriqc:latest- this tells docker to run MRIQC.
latestcorresponds to the version of MRIQC. You should replace
latestwith 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.