Run mriqc with docker

Preliminaries

  1. Get the Docker Engine (https://docs.docker.com/engine/installation/)
  2. Have your data organized in BIDS (get BIDS specification, see BIDS paper).
  3. 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 (see this issue).

Running mriqc

  1. 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
  1. Run the participant level 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
  1. 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 poldracklab/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.

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: poldracklab/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.
  • poldracklab/mriqc:latest - this tells docker to run MRIQC. latest corresponds to the version of MRIQC. You should replace latest 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.