Docker run fmriprep, dataset_description.json is missing on windows 10

I’ve looked through all the similar questions and they either typed their paths incorrectly or didn’t have a dataset_description.json file and solved their issue by making one. I’m confident the docker command is typed correctly (image 1) and as you can see, I absolutely have the file (image 2), and you can see the contents of the json file (image 3).
I get the same error if I type the host paths using windows’s familiar backslashes as well.
If I try to use the much simpler “fmriprep-docker” method as detailed here, I get the same error (image 4)
I am only allowed to have one embedded image as a new user so I had to put all four images into one here, they are stacked in the order I reference them. If you open image in new tab you will be able to zoom in.


Thanks for any help.

Hi, it looks like you are using backslashes in your path in the fmriprep command, but your filesystem (Windows) uses forward slashes. I think because of this your terminal is not interpreting your fmriprep inputs as paths as you would like.

If you want to proceed in Windows with a unix-like shell/syntax, I highly recommend installing Cygwin terminal.

Best,
Steven

Hi Steven, as I mentioned in the post I’ve tried it with both kinds of slashes and got the same result. I gave Cygwin a try anyway, and it will make my life easier going forward, but it’s still the same error.

Ah sorry must have missed that.

Why is sourcedata your input? If sourcedata is the usual BIDS sourcedata folder, then your bids root should be one directory above that.

I believe that is a coincidence in naming, my “sourcedata” is the top folder of this repo, which is to say that I renamed “Music Genre fMRI Dataset” to “sourcedata” after downloading. Just in case, I have now changed the folder name to “bids” on the drive and in the docker command but it’s the same error.

Can you confirm that the path you specify for the input is the full absolute path to that folder? Like if you were anywhere in the terminal, could you type ls $INPUTFOLDER and see the contents of it?

Like this?

Looks good. Can you try using the path with /cygdrive in your fmriprep command (while also in a cygwin terminal)?

First using the output of pwd in the previous image (i.e no colon after the drive) then with the colon anyway but I think that just messed up the binding. Edit woops it still had sourcedata, changed it to bids and same thing.

Do not use the colon. The second bind (-v) is missing the leading /

Back to the json issue

Hmmmm, can you try not renaming the mounted strings in the container? so leaving off the /input and /derivatives in the -v commands? So you only need to mount /cygdrive/e/fmribert/openneurogenre. Then instead of /input and /output in the fmriprep call, use the full paths?

I’m also just curious if you’ve tried to run BIDS validator on your local installation of the dataset (I know on openneuro website it has been validated).

I think this is what you meant, I wasn’t sure what to do with the license file binding with these changes but we can deal with that later if we need to.

Used this validator

And ls /cygdrive/e/fmribert/openneurogenre/bids doesn’t return an error?

It works, it’s at the bottom of the most recent terminal picture.

Unlikely, but is there a .bidsignore file that is hidden in the directory and names dataset_description.json?

I don’t think so

Hmm this is tricky! Going back to the original post, pre-cygwin, when you said you tried the other slash direction (to match windows), did you also change the slash direction for /input and /output?