nipreps / fmriprep

fMRIPrep is a robust and easy-to-use pipeline for preprocessing of diverse fMRI data. The transparent workflow dispenses of manual intervention, thereby ensuring the reproducibility of the results.
https://fmriprep.org
Apache License 2.0
637 stars 295 forks source link

Data for requested participant(s) label(s) not found. Could not find data for participant(s): #1840

Closed mina98 closed 5 years ago

mina98 commented 5 years ago

hey, i use docker to rub fmriprep on my pc "locally", when i run the command i get Runtime error : it can't find data for participants-label RuntimeError: Data for requested participant(s) label(s) not found. Could not find data for participant(s): 01. Please verify the requested participant labels

and this what i run python fmriprep_docker.py -v ~/home/user/google-drive/download/ ~/home/user/preprocessed/out/out --participant-label 01

thanks, Mina.

tsalo commented 5 years ago

Can you share the dataset tree for ~/home/user/google-drive/download/? It could be a BIDS issue.

mina98 commented 5 years ago

@tsalo thank you for your responding , i copied the tree about sub-01 only, because i have 3 subject and the tree is very big, if you want to share the tree of all folder no problem .

.
├── annex-uuid
├── CHANGES
├── dataset_description.json
├── README
├── sourcedata
│   ├── README
│   ├── sub-01
│   │   └── anat
│   │       ├── sub-01_mask_LH_FFA.nii.gz
│   │       ├── sub-01_mask_LH_hV4.nii.gz
│   │       ├── sub-01_mask_LH_HVC.nii.gz
│   │       ├── sub-01_mask_LH_LOC.nii.gz
│   │       ├── sub-01_mask_LH_PPA.nii.gz
│   │       ├── sub-01_mask_LH_V1d.nii.gz
│   │       ├── sub-01_mask_LH_V1v.nii.gz
│   │       ├── sub-01_mask_LH_V2d.nii.gz
│   │       ├── sub-01_mask_LH_V2v.nii.gz
│   │       ├── sub-01_mask_LH_V3d.nii.gz
│   │       ├── sub-01_mask_LH_V3v.nii.gz
│   │       ├── sub-01_mask_RH_FFA.nii.gz
│   │       ├── sub-01_mask_RH_hV4.nii.gz
│   │       ├── sub-01_mask_RH_HVC.nii.gz
│   │       ├── sub-01_mask_RH_LOC.nii.gz
│   │       ├── sub-01_mask_RH_PPA.nii.gz
│   │       ├── sub-01_mask_RH_V1d.nii.gz
│   │       ├── sub-01_mask_RH_V1v.nii.gz
│   │       ├── sub-01_mask_RH_V2d.nii.gz
│   │       ├── sub-01_mask_RH_V2v.nii.gz
│   │       ├── sub-01_mask_RH_V3d.nii.gz
│   │       └── sub-01_mask_RH_V3v.nii.gz
├── sub-01
│   ├── ses-anatomy
│   │   └── anat
│   │       └── sub-01_ses-anatomy_T1w.nii.gz
│   ├── ses-imagery01
│   │   ├── anat
│   │   │   └── sub-01_ses-imagery01_inplaneT2.nii.gz
│   │   └── func
│   │       ├── sub-01_ses-imagery01_task-imagery_run-01_bold.json
│   │       ├── sub-01_ses-imagery01_task-imagery_run-01_bold.nii.gz
│   │       ├── sub-01_ses-imagery01_task-imagery_run-01_events.tsv
│   │       ├── sub-01_ses-imagery01_task-imagery_run-02_bold.json
│   │       ├── sub-01_ses-imagery01_task-imagery_run-02_bold.nii.gz
│   │       ├── sub-01_ses-imagery01_task-imagery_run-02_events.tsv
│   │       ├── sub-01_ses-imagery01_task-imagery_run-03_bold.json
│   │       ├── sub-01_ses-imagery01_task-imagery_run-03_bold.nii.gz
│   │       ├── sub-01_ses-imagery01_task-imagery_run-03_events.tsv
│   │       ├── sub-01_ses-imagery01_task-imagery_run-04_bold.json
│   │       ├── sub-01_ses-imagery01_task-imagery_run-04_bold.nii.gz
│   │       ├── sub-01_ses-imagery01_task-imagery_run-04_events.tsv
│   │       ├── sub-01_ses-imagery01_task-imagery_run-05_bold.json
│   │       ├── sub-01_ses-imagery01_task-imagery_run-05_bold.nii.gz
│   │       └── sub-01_ses-imagery01_task-imagery_run-05_events.tsv
│   ├── ses-perceptionArtificalImage01
│   │   ├── anat
│   │   │   └── sub-01_ses-perceptionArtificalImage01_inplaneT2.nii.gz
│   │   └── func
│   │       ├── sub-01_ses-perceptionArtificalImage01_task-perception_run-01_bold.json
│   │       ├── sub-01_ses-perceptionArtificalImage01_task-perception_run-01_bold.nii.gz
│   │       ├── sub-01_ses-perceptionArtificalImage01_task-perception_run-01_events.tsv
│   │       ├── sub-01_ses-perceptionArtificalImage01_task-perception_run-02_bold.json
│   │       ├── sub-01_ses-perceptionArtificalImage01_task-perception_run-02_bold.nii.gz
│   │       ├── sub-01_ses-perceptionArtificalImage01_task-perception_run-02_events.tsv
│   │       ├── sub-01_ses-perceptionArtificalImage01_task-perception_run-03_bold.json
│   │       ├── sub-01_ses-perceptionArtificalImage01_task-perception_run-03_bold.nii.gz
│   │       ├── sub-01_ses-perceptionArtificalImage01_task-perception_run-03_events.tsv
│   │       ├── sub-01_ses-perceptionArtificalImage01_task-perception_run-04_bold.json
│   │       ├── sub-01_ses-perceptionArtificalImage01_task-perception_run-04_bold.nii.gz
│   │       ├── sub-01_ses-perceptionArtificalImage01_task-perception_run-04_events.tsv
│   │       ├── sub-01_ses-perceptionArtificalImage01_task-perception_run-05_bold.json
│   │       ├── sub-01_ses-perceptionArtificalImage01_task-perception_run-05_bold.nii.gz
│   │       ├── sub-01_ses-perceptionArtificalImage01_task-perception_run-05_events.tsv
│   │       ├── sub-01_ses-perceptionArtificalImage01_task-perception_run-06_bold.json
│   │       ├── sub-01_ses-perceptionArtificalImage01_task-perception_run-06_bold.nii.gz
│   │       ├── sub-01_ses-perceptionArtificalImage01_task-perception_run-06_events.tsv
│   │       ├── sub-01_ses-perceptionArtificalImage01_task-perception_run-07_bold.json
│   │       ├── sub-01_ses-perceptionArtificalImage01_task-perception_run-07_bold.nii.gz
│   │       ├── sub-01_ses-perceptionArtificalImage01_task-perception_run-07_events.tsv
│   │       ├── sub-01_ses-perceptionArtificalImage01_task-perception_run-08_bold.json
│   │       ├── sub-01_ses-perceptionArtificalImage01_task-perception_run-08_bold.nii.gz
│   │       ├── sub-01_ses-perceptionArtificalImage01_task-perception_run-08_events.tsv
│   │       ├── sub-01_ses-perceptionArtificalImage01_task-perception_run-09_bold.json
│   │       ├── sub-01_ses-perceptionArtificalImage01_task-perception_run-09_bold.nii.gz
│   │       ├── sub-01_ses-perceptionArtificalImage01_task-perception_run-09_events.tsv
│   │       ├── sub-01_ses-perceptionArtificalImage01_task-perception_run-10_bold.json
│   │       ├── sub-01_ses-perceptionArtificalImage01_task-perception_run-10_bold.nii.gz
│   │       └── sub-01_ses-perceptionArtificalImage01_task-perception_run-10_events.tsv
tsalo commented 5 years ago

The tree makes sense to me at a glance. I have a few ideas as to why it might not be working though:

  1. You said the dataset is at ~/home/user/google-drive/download/. You might have edited the path for this issue to remove extraneous subfolders or something, but at it's written, that path should render to /home/user/home/user/google-drive/download/, since ~ stands for the home directory.
  2. The BIDS dataset isn't valid, even though it looks like it is. Have you run the BIDS validator on the dataset?
  3. I'm not familiar with the fmriprep_docker.py script specifically, but it doesn't look like there's any -v flag specified. I think the input and output directories are just positional arguments. The error message doesn't seem related to that, but still.
mina98 commented 5 years ago

okay, i will try what you said. and i have another issue when i use poldracklab/fmriprep
the code is sudo docker run poldracklab/fmriprep:1.3.2 -v /download/ -v /home/mina/da participant --participant-label 01

the error RuntimeError: Data for requested participant(s) label(s) not found. Could not find data for participant(s): 01. Please verify the requested participant labels. This error can be caused by the input data not being accessible inside the docker container. Please make sure all volumes are mounted properly (see https://docs.docker.com/engine/reference/commandline/run/#mount-volume--v---read-only)

tsalo commented 5 years ago

I think the problem there is that you need to mount the volumes to specific folders in the container.

Here's an example from the BIDS-Apps site:

docker run -ti --rm \
    -v /Users/srycajal/data/ds005:/bids_dataset:ro \
    -v /Users/srycajal/outputs:/outputs \
    bids/example:0.0.4 \
    /bids_dataset /outputs participant --participant_label 01

The -v mounts a specific local folder (/Users/srycajal/data/ds005) to a specific folder in the image (/bids_dataset). The ro just means it's read-only.

For you I think this would look like:

docker run -ti --rm \
    -v /download:/bids_dataset:ro \
    -v /home/mina/da:/outputs \
    poldracklab/fmriprep:1.3.2 \
    /bids_dataset /outputs participant --participant_label 01