Fmriprep v22 freesurfer recon-all autorecon1 Talairach transformation failing

Summary of what happened:

We are running a new task through fMRIprep and are getting two new errors related to FreeSurfer. We are running fMRIprep version 22 and FreeSurfer version 6.0.0, although we also tried FreeSurfer 7.1.0, which produced identical errors.The first error occurred within the recon-all -autorecon1 command, specifically in the Talairach transformation:


talairach_afd -T 0.005 -xfm transforms/talairach.xfm ERROR: talairach_afd: Talairach Transform: transforms/talairach.xfm ***FAILED*** (p=0.0000, pval=0.0000 < threshold=0.0050)

After this error, fMRIprep automatically retried the Talairach align using a 3T based atlas, which also failed:

ERROR: /opt/freesurfer/average/3T18yoSchwartzReactN32_as_orig.4dfp.img does not exist!

The second error occurred in the N4BiasFieldCorrection command. The “_inu_n40” folder exists in the working directory for this subject, but the “T1w_ras_valid_maths_corrected.nii.gz” file does not exist as it should.

traits.trait_errors.TraitError: The 'output_image' trait of a N4BiasFieldCorrectionOutputSpec instance must be a pathlike object or string representing an existing file, but a value of '/bgfs/adombrovski/DNPL_DataMesh/Data/EXP/wrkdir_SPOTT/fmriprep_22_1_wf/single_subject_440200_wf/anat_preproc_wf/brain_extraction_wf/inu_n4/mapflow/_inu_n40/sub-440200_T1w_ras_valid_maths_corrected.nii.gz' <class 'str'> was specified.

Can anyone give insight into these errors or suggest possible troubleshooting steps?

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

sbatch -n 1 --mem=62000 --time=48:0:0 --cpus-per-task=8 --job-name="sub-440200_fmriprep" --output=/bgfs/adombrovski/DNPL_DataMesh/Data/EXP/logs/FMRIprep_logs/Output-sub-440200_fmriprep-jobid-%j.out --mail-user langerbe@upmc.edu --mail-type=FAIL --wrap="unset PYTHONPATH; export SINGULARITYENV_TEMPLATEFLOW_HOME=/bgfs/adombrovski/DNPL_DataMesh/Code/Singularity/template_flow; singularity run -B ${TEMPLATEFLOW_HOME:-$HOME/.cache/templateflow}:/bgfs/adombrovski/DNPL_DataMesh/Code/Singularity/template_flow,/bgfs/adombrovski/DNPL_DataMesh -e /bgfs/adombrovski/lab_resources/nipreps_fmriprep_22.1.1-2023-01-04-1f3bc1872943.simg /bgfs/adombrovski/DNPL_DataMesh/Data/EXP/data_BIDS_spott /bgfs/adombrovski/DNPL_DataMesh/Data/EXP/data_fmriprep_SPOTT participant --participant-label 440200 -w /bgfs/adombrovski/DNPL_DataMesh/Data/EXP/wrkdir_SPOTT --fs-license-file /bgfs/adombrovski/DNPL_DataMesh/Licensure/fs-license/.license --nthreads 8 --use-aroma --error-on-aroma-warnings"

Version:

fmriprep v22
freesurfer v6

Environment (Docker, Singularity, custom installation):

singularity container ported onto HPC

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

BIDS-formatted data

Relevant log outputs (up to 20 lines):

See main post.

Screenshots / relevant information:

This was run on a High Performance Cluster.

This looks like a problem with the Docker image. We exclude those files, and didn’t detect the issue because we haven’t had failures that led to attempting to retry with that atlas. Are you able to run FreeSurfer directly on this subject? There are Docker images provided by FreeSurfer that might be convenient to use: Docker

We re-ran a subject with fmriprep v20 and it skipped the Talairach step, but it crashed on the N4BiasFieldCorrection with this error:

RuntimeError: Command:
N4BiasFieldCorrection --bspline-fitting [ 200 ] -d 3 --input-image /bgfs/adombrovski/DNPL_DataMesh/Data/EXP/wrkdir_SPOTT/fmriprep_wf/single_subject_440200_wf/anat_preproc_wf/brain_extraction_wf/truncate_images/mapflow/_truncate_images0/sub-440200_T1w_ras_valid_maths.nii.gz --convergence [ 50x50x50x50, 1e-07 ] --output sub-440200_T1w_ras_valid_maths_corrected.nii.gz --shrink-factor 4

I’ve never run freesurfer independently of fmriprep, so it might take some time to figure out how to do that on the HPC.

Can you try with 23.1.3? I re-added the missing files.