Troubleshooting
Getting help
If you have a question about how to use QSIPrep or about its behavior,
post it on NeuroStars with the
qsiprep tag in the “Software Support” category. Earlier questions are at
https://neurostars.org/tag/qsiprep/.
To report a bug or request a feature, open an issue at https://github.com/pennlinc/qsiprep/issues. Include the command line, the version, and the relevant part of the log.
Logs and crash files
Logs and crash files are written to
<output_dir>/sub-<label>/log/<run uuid>/. A crash file is written for
each node that failed and contains the command that was run, its output and
the traceback. The Nipype tutorial’s Errors and Crashes
page explains how to read them. Rerunning with the same --work-dir picks
up after the last successful node.
Grouping and metadata errors
Before building the workflow, QSIPrep groups the subject’s scans and checks the metadata (see How scans become outputs). Warnings are printed and shown in the report; errors stop the run before any processing, with the message:
GroupingError: ... [<code>]
Run qsiplan on the dataset to see the same warnings and errors without
starting QSIPrep (Previewing the plan with qsiplan). Every code is listed with its
meaning in the qsiplan issue-code reference. The ones seen most often:
missing-pedirA DWI series has no
PhaseEncodingDirection, so no susceptibility distortion correction can be estimated for it. Add the field to the sidecar.eddy-requires-shelledThe data are not shelled (Cartesian or random q-space sampling) and
--hmc-method eddycannot run. Use--hmc-method tortoise.unlinked-fmapA fieldmap in
fmap/lists no DWI series in itsIntendedFororB0FieldIdentifier, so it is not used. See Linking fieldmaps to DWI series.partial-multipartSome series of the subject have a
MultipartIDand others do not, so each series without one is an output of its own. SetMultipartIDon every series you want combined (How scans become outputs).reverse-pe-not-inferredThe subject has linked fieldmaps, so no reverse phase-encoded pairs are inferred and the series named get no fieldmap. Link them too (Linking fieldmaps to DWI series).
fov-grid-mismatch/fov-obliqueSeries that would be concatenated were acquired on different grids or with differently rotated fields of view. Use
--separate-all-dwis, orMultipartIDto keep them apart;--ignore fovforces concatenation of rotated fields of view.no-sdcNo fieldmap reaches a series and no fallback is configured. The series is processed without distortion correction; set
--sdc-anat-referencefor a fieldmap-less correction.
FAQ
- Why did several runs become one output file?
By default all the DWI series of a session are concatenated so that head motion correction has as much data as possible. Use
--separate-all-dwisorMultipartIDto change that (Grouping and concatenation).- Why is there no preprocessed DWI in MNI space?
The T1w cannot align white matter to a template accurately enough. Outputs are in the subject’s
ACPCspace, and theACPCto template transform is written so normalization can be done after model fitting, in QSIRecon.- My GRE fieldmap shows up as “also eligible” and is not applied.
The series is also linked to a reverse phase-encoded correction, which QSIPrep prefers. The GRE fieldmap is not wasted: it initializes DRBUDDI or T2Wreg (Initializing DRBUDDI and T2Wreg from a GRE fieldmap). To apply the GRE fieldmap itself, list only it in the series’
B0FieldSourceor pass--ignore pepolar-dwis.- SHORELine printed a removal notice.
--hmc-method shorelineis scheduled for removal.--hmc-method tortoisehandles the same non-shelled data and also corrects eddy currents.- How do I use the GPU with Apptainer?
Add
--nvto theapptainer runcall and pass--gpuwith the tasks to accelerate (Head motion and eddy-current correction).- QSIPrep refuses my GE gradient coefficient file.
Convert it to an ITK displacement field and pass that, or pass
--ignore gradwarp(Gradient coefficient files).- The run was killed with no error.
The process ran out of memory. On Docker Desktop, raise the memory limit to at least 6 GB. Otherwise lower
--nprocs, set--mem, or add--low-mem.- How do I run only some sessions or files?
--session-labelselects sessions, and--bids-filter-fileany combination of BIDS entities (Running QSIPrep).