MRIQC with docker gets stuck

Hey y’all :slight_smile:

Trying to run MRIQC with docker on my validated BIDS-datasets. Running on windows. I’ve been trying different containers but what happens is that the MRIQC starts and then gets stuck at the warning messages, like so:

Microsoft Windows [Version 10.0.17763.2565]
© 2018 Microsoft Corporation. All rights reserved.

C:\Users\pazlab>docker run -it --rm -v C:/Users/pazlab/Documents/Max/MRIData/Study/Nifti:/data:ro -v C:/Users/pazlab/Documents/Max/MRIData/Study/MRICQ:/out nipreps/mriqc:21.0.0rc2 /data /out participant --participant_label AA606
220330-15:48:56,571 cli IMPORTANT:

Running MRIQC version 21.0.0rc2:
  * BIDS dataset path: /data.
  * Output folder: /out.
  * Analysis levels: ['participant'].

220330-15:48:57,565 nipype.utils WARNING:
A newer version (1.7.0) of nipy/nipype is available. You are using 1.6.1
220330-15:48:59,340 nipype.utils WARNING:
A newer version (1.7.0) of nipy/nipype is available. You are using 1.6.1
220330-15:49:05,544 cli WARNING:
IMPORTANT: Anonymized quality metrics (IQMs) will be submitted to MRIQC’s metrics repository. Submission of IQMs can be disabled using the --no-sub argument. Please visit Data Sharing Agreement — mriqc 0.16.1+101.g78518dc documentation to revise MRIQC’s Data Sharing Agreement.
220330-15:49:06,827 nipype.utils WARNING:
A newer version (1.7.0) of nipy/nipype is available. You are using 1.6.1
220330-15:49:06,827 nipype.utils WARNING:
A newer version (1.7.0) of nipy/nipype is available. You are using 1.6.1
220330-15:49:06,838 nipype.utils WARNING:
A newer version (1.7.0) of nipy/nipype is available. You are using 1.6.1
220330-15:49:06,866 nipype.utils WARNING:
A newer version (1.7.0) of nipy/nipype is available. You are using 1.6.1
220330-15:49:06,870 nipype.utils WARNING:
A newer version (1.7.0) of nipy/nipype is available. You are using 1.6.1
220330-15:49:06,881 nipype.utils WARNING:
A newer version (1.7.0) of nipy/nipype is available. You are using 1.6.1
220330-15:49:06,898 nipype.utils WARNING:
A newer version (1.7.0) of nipy/nipype is available. You are using 1.6.1
220330-15:49:06,908 nipype.utils WARNING:
A newer version (1.7.0) of nipy/nipype is available. You are using 1.6.1
220330-15:49:06,933 nipype.utils WARNING:
A newer version (1.7.0) of nipy/nipype is available. You are using 1.6.1
220330-15:49:06,935 nipype.utils WARNING:
A newer version (1.7.0) of nipy/nipype is available. You are using 1.6.1
220330-15:49:06,950 nipype.utils WARNING:
A newer version (1.7.0) of nipy/nipype is available. You are using 1.6.1
220330-15:49:06,960 nipype.utils WARNING:
A newer version (1.7.0) of nipy/nipype is available. You are using 1.6.1
220330-15:49:06,963 nipype.utils WARNING:
A newer version (1.7.0) of nipy/nipype is available. You are using 1.6.1
220330-15:49:06,966 nipype.utils WARNING:
A newer version (1.7.0) of nipy/nipype is available. You are using 1.6.1
220330-15:49:06,977 nipype.utils WARNING:
A newer version (1.7.0) of nipy/nipype is available. You are using 1.6.1
220330-15:49:06,977 nipype.utils WARNING:
A newer version (1.7.0) of nipy/nipype is available. You are using 1.6.1
220330-15:49:06,984 nipype.utils WARNING:
A newer version (1.7.0) of nipy/nipype is available. You are using 1.6.1
220330-15:49:06,984 nipype.utils WARNING:
A newer version (1.7.0) of nipy/nipype is available. You are using 1.6.1

These are the different containers I’ve used so far:

docker run -it --rm -v C:/Users/pazlab/Documents/Max/MRIData/Study/Nifti:/data:ro -v C:/Users/pazlab/Documents/Max/MRIData/Study/MRICQ:/out poldracklab/mriqc:latest /data /out participant --participant_label AA606

Tried the same with poldracklab/mriqc:latest and docker/mriqc:latest - the former gave me the same error and the latter another error:

docker: Error response from daemon: pull access denied for docker/mriqc, repository does not exist or may require ‘docker login’: denied: requested access to the resource is denied.
See ‘docker run --help’.

I’ve been looking at a lot of posts, among other this one: Running MRIQC with docker

But haven’t been able to find a solution. Any other ideas?

Thanks,

Max

The latest MRIQC is nipreps/mriqc:22.0.0rc1. poldracklab/mriqc will no longer be updated, and docker/mriqc does not exist.

Have you tried adding -v flags? Without any, the pipeline might be running but just not emitting output. The warnings are all fine.

Hi,

thanks for the feedback! I tried using nipreps/mriqc:22.0.0rc1 for one subject and it worked (it took around 20min.). However, when I try to run the command for all subjects, the command is not producing outputs. Perhaps this is related to -v flags as you said, but I’m not sure how to use them (i.e. the only -v flag I found in the documentation is for verbosity). Which flag would you use and how would you use them in the command?

Thanks

Max

Sorry, I think I was unclear. -v stands for “verbose”, and if you pass more flags, you get more verbose output. (You probably don’t want that much, but enough to see that something is happening.)

To increase verbosity by one level:

docker run -it --rm -v C:/Users/pazlab/Documents/Max/MRIData/Study/Nifti:/data:ro \
    -v C:/Users/pazlab/Documents/Max/MRIData/Study/MRICQ:/out \
    nipreps/mriqc:21.0.0rc2 /data /out participant \
    --participant_label AA606 -v

To increase by two:

docker run -it --rm -v C:/Users/pazlab/Documents/Max/MRIData/Study/Nifti:/data:ro \
    -v C:/Users/pazlab/Documents/Max/MRIData/Study/MRICQ:/out \
    nipreps/mriqc:21.0.0rc2 /data /out participant \
    --participant_label AA606 -vv

I would not recommend three, as it is quite a lot.

Will try it out, thanks :slight_smile:

Hi,

I ended up looping your suggestion for each subject and it worked. Not sure why the version without participant label didn’t produce any output, but looping over each label does the trick :slight_smile:

Thanks

Max