Docker desktop use of QSIprep; path problem

Summary of what happened:

i’m not good with Docker so this is probably really dumb. i’m on a M2 Mac and my data should be BIDS-validated.

Command used:

docker run \
pennbbl/qsiprep / \
Users/st/Desktop/BIDS_DWI_SF_/ \
/Users/st/Desktop/BIDS_DWI_SF_/outputs \
participant \
--fs-license-file /Applications/freesurfer/license.txt \
 --stop-on-first-crash \
--skip_bids_validation  \
--participant_label testmotsf15 \
--output-resolution 2 \
-vvv

Version:

dcm2bids version: 3.0.1
Docker Desktop 4.33.0 (160616)
QSIPrep v0.23.1.dev0+g634483f.d20240830

Relevant log outputs:

qsiprep: error: Path does not exist: </Users/st/Desktop/BIDS_DWI_SF_/>.

i’ve tried lots of permutations of commands, flags, ways of specifying paths, argument positioning. just trying to get a sense of QSIprep locally before i adapt to a HPC cluster. despite what i do i’m getting that “Path does not exist” to my input data. i have Docker Desktop running in the background and typed my commands in the terminal. doesn’t seem to matter which shell i’m using either. thanks


Hi @stbmtx.

You did not mount your path. You need to mount the relevant paths with the -v flag for docker to have access to your local data.

E.g.,

docker run \
-v /Users/st/Desktop/BIDS_DWI_SF_:/input
-v /Users/st/Desktop/BIDS_DWI_SF_/derivatives:/output
-v /PATH/TO/WORKDIR:/work
-v /Applications/freesurfer/license.txt:/license.txt
pennbbl/qsiprep:23.0.0 / \
/input
/output
-w /work
participant \
--fs-license-file /license.txt \
--stop-on-first-crash \
--participant_label testmotsf15 \
--output-resolution 2 \
-vvv

Also, I recommend switching to your cluster now, specifying versions (in case updates happen while you are processing), adding a work directory, and not --skip-bids-validation (as reflected in the updated command).

Best,
Steven

got it, this was incredibly helpful, thank you! also turns out my data wasn’t quite properly bids-compatible (probably no surprise) so i had to fix that first. it’s running now but breaking in the middle… so now more troubleshooting and i’ll start a new topic if i have other questions. thanks again!

1 Like