compneuro-ncu / fmridenoise

Tool for automatic denoising, denoising strategies comparison, and functional connectivity data quality control.
Apache License 2.0
47 stars 13 forks source link

Docker File search BidsDerivative Error #99

Open keithcdodd opened 2 years ago

keithcdodd commented 2 years ago

On a MacOS Monterey 12.0.1: (1) Downloaded 0.2.1 tar.gz -- unzipped (2) Cd'd into folder, edited the Dockerfile to include -y flag for apt upgrade (otherwise docker build . fails since it never gets the yes input) (3) docker build -t compneuro-ncu/fmridenoise:0.2.1 . -- seems successful!

To execute I tried: docker run --rm -t -v /pathtomainfolder:/Preproc compneuro-ncu/fmridenoise:0.2.1 compare --dry /Preproc/fmriprepoutput/fmriprep I have --dry just for testing it for now. The fmriprep output folder is just the standard fmriprep output folder, has all of the preprocessed BIDS data from fmriprep.

It ends with error: fmridenoise.interfaces.bids.MissingFile: /Preproc/fmriprepoutput/fmriprep/derivatives/fmriprep should contain dataset_description.json file

My fmriprep folder does have a dataset_description.json file, but it appears that fmridenoise is not looking for the dataset_description.json file within my fmriprep folder, but is instead looking for the dataset_description.json file within derivatives/fmriprep within my fmriprep folder. A derivatives folder doesn't even exist in my fmriprep folder.

What am I doing wrong? Why is it looking for a derivatives/fmriprep folder within my fmriprep folder? Why wouldn't it just search for it within the fmriprep folder that I tried to give it?

Thanks for the help!

keithcdodd commented 2 years ago

It is also confusing to me, because the fmriprep output folder is not actually in bids format (does not pass bids validator online), but fmridenoise says to use the bidsdata that is already preprocessed.

The not preprocessed data I put through fmriprep is in bids format, as required for fmriprep.

So am I right to be giving fmridenoise the fmriprep folder? Or should I be giving it fmriprepoutput folder? Or the original bidsdata folder and hope that it somehow finds the fmriprep information?