No automatic averaging of fieldmaps with multiple directions in qsiprep?

Summary of what happened:

I have one DWI scan and two fieldmaps (one normal and one with inverted polarity) organised the following directory structure:

.
├── anat
│   ├── sub-gr01_T1w.json
│   └── sub-gr01_T1w.nii.gz
├── dwi
│   ├── sub-gr01_dwi.bval
│   ├── sub-gr01_dwi.bvec
│   ├── sub-gr01_dwi.json
│   └── sub-gr01_dwi.nii.gz
└── fmap
    ├── sub-gr01_acq-invpol_epi.json
    ├── sub-gr01_acq-invpol_epi.nii.gz
    ├── sub-gr01_acq-norm_epi.json
    └── sub-gr01_acq-norm_epi.nii.gz

The JSON files for the fieldmaps have the required “IntendedFor” field. Qsiprep seems to recognise the fieldmaps just fine as I can see on top of the HTML output file:

Summary

    Subject ID: sub-gr01
    Structural images: 1 T1-weighted
    Diffusion-weighted series: inputs 3, outputs 1
        Output Name: sub-gr01
        Scan group: sub-gr01 (PE Dir j-)
            DWI Files:
            /path/sub-gr01/dwi/sub-gr01_dwi.nii.gz
            Fieldmap type: epi
            suffix: epi
            epi: ['/path/sub-gr01/fmap/sub-gr01_acq-dwi_dir-invpol_epi.nii.gz', '/path/sub-gr01/fmap/sub-gr01_acq-dwi_dir-norm_epi.nii.gz']
    Resampling targets: ACPC
    Transform targets: ['ACPC', 'MNI152NLin2009cAsym']

However, in the section “B0 field mapping” of the report it seems that only one of the fieldmaps was used (namely the one with the inverted polarity):

A total of 2 distortion groups were included in the data data. Distortion group ‘0 -1 0 0.047626’ was represented by image 4 from sub-gr01_dwi.nii.gz. Distortion group ‘0 1 0 0.047626’ was represented by image 0 from sub-gr01_acq-dwi_dir-invpol_epi.nii.gz.

The other fieldmaps seems to have been ignored and B0 average map were derived from the DWI images and used instead? Or am I misunderstanding the output here? Hence, my question is how do I get qsiprep to average/combine my fieldmaps and use both for correction?

Command used (and if a helper script was used, a link to the helper script or the command generated):

qsiprep command: /opt/conda/envs/qsiprep/bin/qsiprep /path/ /path/derivatives/qsiprep/ participant -w /path/tmp/qsiprep/ --participant-label sub-gr01 --skip-bids-validation --output-resolution 1.7 --fs-license-file /path/license.txt --resource-monitor --nthreads 16 --stop-on-first-crash

Version:

qsiprep version: 1.0.1.dev0+gee9aa2e.d20250115

Environment (Docker, Singularity / Apptainer, custom installation):

Singularity image, derived from Docker image according to instructions on web site.


Hi @t_p,

Yes, only the inverted polarity is needed because the same polarity part comes from the b0 in the DWI itself.

Best,
Steven