MRtrix3 Docker complains that fmap files aren't there, but they are

Based on the documentation, I’m running this command:

docker run -i --rm \
      -v /Volumes/Data/Research/fmri/fmri_rep_sup:/bids_dataset \
      -v /Volumes/Data/Research/fmri/fmri_rep_sup/output:/output \
      bids/mrtrix3_connectome \
      /bids_dataset /output preproc --participant_label 01

And this is my data structure for sub-01 within the folder I’ve pointed bids_dataset to:

sub-01
├── anat
│  ├── sub-01_T1w.json
│  └── sub-01_T1w.nii
├── dwi
│  ├── sub-01_dwi.bval
│  ├── sub-01_dwi.bvec
│  ├── sub-01_dwi.json
│  └── sub-01_dwi.nii
├── fmap
│  ├── sub-01_magnitude1.json
│  ├── sub-01_magnitude1.nii
│  ├── sub-01_phasediff.json
│  └── sub-01_phasediff.nii
└── func
   ├── sub-01_task-ao_run-01_bold.json
   ├── sub-01_task-ao_run-01_bold.nii
   ├── sub-01_task-ao_run-01_events.tsv
   ├── sub-01_task-ao_run-02_bold.json
   ├── sub-01_task-ao_run-02_bold.nii
   ├── sub-01_task-ao_run-02_events.tsv
   ├── sub-01_task-ao_run-03_bold.json
   ├── sub-01_task-ao_run-03_bold.nii
   ├── sub-01_task-ao_run-03_events.tsv
   ├── sub-01_task-ao_run-04_bold.json
   ├── sub-01_task-ao_run-04_bold.nii
   └── sub-01_task-ao_run-04_events.tsv

Yet, MRtrix3 complains that the fmap folder isn’t present.

mrtrix3_connectome.py: Commencing execution for session: 'sub-01'
mrtrix3_connectome.py: Generated scratch directory: /mrtrix3_connectome.py-tmp-VS3ZOU/
mrtrix3_connectome.py: Importing DWI data into scratch directory
Command:  mrconvert /bids_dataset/sub-01/dwi/sub-01_dwi.nii /mrtrix3_connectome.py-tmp-VS3ZOU/dwi1.mif -fslgrad /bids_dataset/sub-01/dwi/sub-01_dwi.bvec /bids_dataset/sub-01/dwi/sub-01_dwi.bval -json_import /bids_dataset/sub-01/dwi/sub-01_dwi.json
mrtrix3_connectome.py: Importing fmap data into scratch directory

mrtrix3_connectome.py: [ERROR] Inadequate data for pre-processing of session "sub-01": No phase-encoding contrast in input DWIs, and no fmap/ directory, so EPI distortion correction cannot be performed

Thanks for any suggestions!

Hello @JohnAtl and welcome!

I haven’t used the Docker version before, but could it be that the phasediff.json file is missing some required information? Like an “IntendedFor:” , or “PhaseEncodingDirection:” field…

Hope this helps,
Nick