Skullstripping errors in MRIQC with pre-processed data

Summary of what happened:

Hello,

I have used MRIQC (0.15.1) in the past with raw T1w images (1.5T, 3T, and synthesized) but now I’m running into errors when I try to run pre-processed images. All of my images are in the BIDS format. I am trying to compare the quality of images pre-processed through different toolboxes (CAT12, MALP-EM, volBrain). The volBrain output is run through MRIQC with no problems, but the CAT12 and MALP-EM outputs crash during the skullstripping step for seemingly different reasons. I have tried to realign the MALP-EM images, I have run the --deoblique specification in the command, and I have run them on both a participant and group level but so far nothing has worked.

Any help would be very much appreciated!

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

PASTE CODE HERE

Version:

MRIQC 0.15.1
CAT12 v?
MALP-EM v?
volBrain v?

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

Data formatted according to a validatable standard? Please provide the output of the validator:

PASTE VALIDATOR OUTPUT HERE

Relevant log outputs (up to 20 lines):

Here is the CAT12 output error:

RuntimeError: Command:
3dSkullStrip -input /mnt/d/outputfolder/BIDS_3T_CAT12/derivatives/mriqc/sub-003/workflow_enumerator/anatMRIQCT1w/AFNISkullStripWorkflow/_in_file–data–sub-018..anat..sub-018_T1w.nii.gz/skullstrip/sub-018_t1w_conformed_corrected.nii.gz -prefix sub-018_t1w_confirmed_corrected_skullstrip.nii.gz
Standard output:

Standard error: 
Oo     Warning 3dSkullStrip (SUMA_3dSkullStrip.c:1565):
Input dataset has a very low value range.
If stripping fails, repeat with option -fac 1000
–     Error SUMA_LoadPrepInVol (SUMA_BrainWrap.c:77):
98 percentile is 0!
What kind of dataset is this?
–     Error 3dSkullStrip (SUMA_3dSkullStrip.c:2027);
Failed to load/prep volume
** If you report this crash to the AFNI message board,
** please copy the error messages EXACTLY, and give
** the command line you used to run the program, and
** any other information needed to repeat the problem.
** You may later be asked to upload data to help debug.
** Crash log is appended to file /root/.afni.crashlog
Return code: 1

And here is the MALP-EM output error:

RuntimeError: Command:
3dSkullStrip -input /mnt/d/outputfolder/BIDS_3T_MALPEM/derivatives/mriqc/sub-003/workflow_enumerator/anatMRIQCT1w/AFNISkullStripWorkflow/_in_file–data–sub-018..anat..sub-018_T1w.nii.gz/skullstrip/sub-018_t1w_conformed_corrected.nii.gz -prefix sub-018_t1w_confirmed_corrected_skullstrip.nii.gz

Standard output:
e[7m+ WARNING:e[0m If you are performing spatial transformations on an oblique dset,
such as /mnt/d/outputfolder/BIDS_3T_MALPEM/derivatives/mriqc/sub-003/workflow_enumerator/anatMRIQCT1w/AFNISkullStripWorkflow/_in_file–data–sub-018..anat..sub-018_T1w.nii.gz/skullstrip/sub-018_t1w_conformed_corrected.nii.gz,
or viewing/combining it with volumes of differing obliquity,
you should consider running:
3dWarp -deoblique
on this and other oblique datasets in the same session.
See 3dWarp -help for details.
++ Oblique

Fatal Signal 11 (SIGSEGV) received
SUMA_SurfGrideIntersect
SUMA_FindVoxelsInSurface
3dSkullStrip
Bottom of Debug Stack
**AFNI version = AFNI_17.3.03 Compile date = Nov 9 2017
**[[Precompiled binary linux_ubuntu_16_64: Nov 9 2017]]
**Program Death**
** If you report this crash to the AFNI message board,
** please copy the error messages EXACTLY, and give
** the command line you used to run the program, and
** any other information needed to repeat the problem.
** You may later be asked to upload data to help debug.
** Crash log is appended to file /root/.afni.crashlog
Return code: 1

Screenshots / relevant information:


Hi @owmneuro,

In the future, please try to keep the Software Support post category template as the information it prompts for could be valuable for us. I have edited your post to add it back in, but there is still info we are missing. You can edit the post to add it in.

That’s a pretty old version, try updating?

Can you return the output of the BIDS validator? I know that the BIDS validator ignores derivatives, but you can try to make a “raw” BIDS folder with your preprocessed images.

Best,
Steven

Hi, thanks for your help while I’m new at posting here. I was hoping to avoid updating MRIQC as I am trying to keep the analysis consistent with a previous one. I tried to update but it will only update v0.16.1+81.g0093e62.dirty, even though when I pull 23.1.0 I get the confirmation that it is pulled.

user@DESKTOP-SGO41GM:/home/owm$ docker run -it poldracklab/mriqc:latest --version

You are using MRIQC v0.16.1+81.g0093e62.dirty, and a newer version is available: 23.1.0.

MRIQC v0.16.1+81.g0093e62.dirty
user@DESKTOP-SGO41GM:/home/owm$ docker run -it poldracklab/mriqc:0.15.1 --version

mriqc v0.15.1
user@DESKTOP-SGO41GM:/home/owm$ docker run -it poldracklab/mriqc:23.1.0 --version

Unable to find image 'poldracklab/mriqc:23.1.0' locally

docker: Error response from daemon: manifest for poldracklab/mriqc:23.1.0 not found: manifest unknown: manifest unknown.

See 'docker run --help'.
user@DESKTOP-SGO41GM:/home/owm$ docker pull poldracklab/mriqc:23.1.0
Error response from daemon: manifest for poldracklab/mriqc:23.1.0 not found: manifest unknown: manifest unknown

Also, here is the original command I used:

docker run -it --rm -v $bids_root_dir:/data:ro -v $bids_root_dir/derivatives/mriqc/sub-${subj}:/out \
  poldracklab/mriqc:0.15.1 /data /out \
  participant \
  --n_proc $nthreads \
  --hmc-fsl \
  --correct-slice-timing \
  --mem_gb $mem \
  --float32 \
  --ants-nthreads $nthreads \
  -w $bids_root_dir/derivatives/mriqc/sub-${subj}

Here is the output from the BIDS validator:

File Path: The Authors field of dataset_description.json should contain an array of fields - with one author per field. This was triggered based on the presence of only one author field. Please ignore if all contributors are already properly listed.

	Type:		Warning

======================================================


File Path: The recommended file /README is very small. Please consider expanding it with additional information about the dataset.

	Type:		Warning
	File:		README
	Location:		BIDS_REMI_15T/README
	Reason:		The recommended file /README is very small. Please consider expanding it with additional information about the dataset.

======================================================

Hi @owmneuro,

For future posts please format code and terminal outputs with tick marks so it looks nice

like this.

I have made the edits to your above post.

poldrack/mriqc, is incorrect. You will find the updated version at nipreps/mriqc.

You should not use subject-specific directories for the output. MRIQC will automatically make subject specific folders in /out/mriqc.

I do not recommend putting the work directory in the BIDS root.

Best,
Steven

Thank you for the help Steven. I tried using nipreps instead of poldracklab and I got the confirmation that MRIQC was pulled:

MRIQC v23.1.0 Pull complete

but I am still getting this error:

user@DESKTOP-SGO41GM:/home/owm$ docker run -it nipreps/mriqc:23.1.0 --version
Unable to find image 'nipreps/mriqc:23.1.0' locally
docker: Error response from daemon: manifest for nipreps/mriqc:23.1.0 not found: manifest unknown: manifest unknown.
See 'docker run --help'.