Summary of what happened:
Hi everyone,
I’m encountering an issue with field maps in my diffusion dataset. I have field maps for both the AP and PA directions (with the phase encoding direction for my DWI NIfTI files set to j-). I’ve ensured that both field maps are recognized by qsiprep by using the ‘Intended for’ field in the corresponding JSON files for the field maps. Despite this, qsiprep (across both versions I’ve tried) repeatedly disregards the field map for the AP direction during the topup step. Instead, it appears to use an image from the DWI run itself—one that isn’t even a B0 image—as the reference for distortion correction in the AP direction.
When I used qsiprep version 0.24.0, the preprocessing was completed without any errors, but the output DWI still displayed field distortions. After upgrading to version 1.0.1, the issue with the topup persists, but I am now also receiving a fatal error during the distortion merger step (see the crash log below). My input raw DWI images are in 4D.
Additionally, after upgrading to version 1.0.1, I encountered a new error in the SynthSeg node, which is searching for a specific file that doesn’t exist. I’m not sure what is causing this error—it may be related to memory issues—but I’m puzzled because I used the same dataset and the same computer for both versions, and only version 1.0.1 produced this error.
Any help or insight would be much appreciated!
Thank you in advance!
Kristina
Command used (and if a helper script was used, a link to the helper script or the command generated):
docker run -ti --rm \
-v /path/to/your/data:/data:ro \
-v /path/to/your/data/derivatives/qsiprep:/out \
-v /path/to/your/data/derivatives:/work \
pennlinc/qsiprep:latest /data /out participant \
--participant-label sub-XXX \
--output-resolution 1.3 \
--fs-license-file /path/to/your/license.txt \
-w /work
I also tried adding --prefer_dedicated_fmaps and --distortion-group-merge concat, it didn’t make a difference.
Version:
QSIPrep version v1.0.1
QSIPrep version v0.24.0
Environment (Docker, Singularity / Apptainer, custom installation):
Docker (version 27.3.1)
Data formatted according to a validatable standard? Please provide the output of the validator:
Yes, using dcm2bids
[WARN] The recommended file /README is missing. See Section 03 (Modality agnostic files) of the BIDS specification. (code: 101 - README_FILE_MISSING)
The part of the crash log from the QSIPrep v1.0.1
Node: qsiprep_1_0_wf.sub_DD02_wf.sub_DD02_final_merge_wf.distortion_merger
Working directory: /work/qsiprep_1_0_wf/sub_DD02_wf/sub_DD02_final_merge_wf/distortion_merger
Node inputs:
b0_refs = <undefined>
b0_threshold = 100
bids_dwi_files = <undefined>
bval_files = <undefined>
bvec_files = <undefined>
carpetplot_data = <undefined>
denoising_confounds = <undefined>
dwi_files = <undefined>
harmonize_b0_intensities = True
raw_concatenated_files = <undefined>
scan_metadata = <undefined>
...
.DimensionError: Input data has incompatible dimensionality: Expected dimension is 4D and you provided a 3D image. See https://nilearn.github.io/stable/manipulating_images/input_output.html.
Screenshots / relevant information:
Here is the message of the topupsummary_dwi report: “A total of 2 distortion groups were included in the data data. Distortion group ‘0 -1 0 0.061685’ was represented by image 3 from sub-DD02_run-02_dwi.nii.gz. Distortion group ‘0 1 0 0.061685’ was represented by image 0 from sub-DD02_dir-PA_epi.nii.gz.”