Summary of what happened:
I ran fmriprep with a fully reconned freesurfer subject directory. out of 630 subjects, 24 of them had this problem.
Command used (and if a helper script was used, a link to the helper script or the command generated):
PASTE CODE HERE
Version:
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):
Node Name: fmriprep_22_0_wf.single_subject_7841485_wf.anat_preproc_wf.surface_recon_wf.fsnative2t1w_xfm
File: /scratch/junhong.yu/HCP_BIDS/output/sub-7841485/log/20240223-234903_825fc69b-1c60-4e0c-b9ae-49f2b9731bc8/crash-20240223-235605-junhong.yu-fsnative2t1w_xfm-100137c1-fa85-422f-81a9-dbdae5d21bb2.txt
Working Directory: /scratch/junhong.yu/HCP_BIDS/work/fmriprep_22_0_wf/single_subject_7841485_wf/anat_preproc_wf/surface_recon_wf/fsnative2t1w_xfm
Inputs:
args:
auto_sens: True
environ: {'SUBJECTS_DIR': '/scratch/junhong.yu/HCP_BIDS/output/sourcedata/freesurfer'}
est_int_scale: True
force_double:
force_float:
half_source:
half_source_xfm:
half_targ:
half_targ_xfm:
half_weights:
high_iterations:
in_xfm_file:
init_orient:
iteration_thresh:
least_squares:
mask_source:
mask_target:
max_iterations:
no_init:
no_multi:
out_reg_file: True
outlier_limit:
outlier_sens:
registered_file:
source_file:
subjects_dir: /scratch/junhong.yu/HCP_BIDS/output/sourcedata/freesurfer
subsample_thresh:
target_file:
trans_only:
weights_file:
write_vo2vox:
Traceback (most recent call last):
File "/home/junhong.yu/fmriprepenv/lib/python3.7/site-packages/nipype/pipeline/plugins/multiproc.py", line 67, in run_node
result["result"] = node.run(updatehash=updatehash)
File "/home/junhong.yu/fmriprepenv/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py", line 527, in run
result = self._run_interface(execute=True)
File "/home/junhong.yu/fmriprepenv/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py", line 645, in _run_interface
return self._run_command(execute)
File "/home/junhong.yu/fmriprepenv/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py", line 771, in _run_command
raise NodeExecutionError(msg)
nipype.pipeline.engine.nodes.NodeExecutionError: Exception raised while executing Node fsnative2t1w_xfm.
Cmdline:
mri_robust_register --satit --iscale --lta /scratch/junhong.yu/HCP_BIDS/work/fmriprep_22_0_wf/single_subject_7841485_wf/anat_preproc_wf/surface_recon_wf/fsnative2t1w_xfm/T1_robustreg.lta --mov /scratch/junhong.yu/HCP_BIDS/output/sourcedata/freesurfer/sub-7841485/mri/T1.mgz --dst /scratch/junhong.yu/HCP_BIDS/work/fmriprep_22_0_wf/single_subject_7841485_wf/anat_preproc_wf/anat_validate/sub-7841485_T1w_ras_valid.nii.gz
Stdout:
7.4.1
--satit: Will iterate with different SAT to ensure outliers below wlimit!
--iscale: Enabling intensity scaling!
--lta: Output transform as /scratch/junhong.yu/HCP_BIDS/work/fmriprep_22_0_wf/single_subject_7841485_wf/anat_preproc_wf/surface_recon_wf/fsnative2t1w_xfm/T1_robustreg.lta .
--mov: Using /scratch/junhong.yu/HCP_BIDS/output/sourcedata/freesurfer/sub-7841485/mri/T1.mgz as movable/source volume.
--dst: Using /scratch/junhong.yu/HCP_BIDS/work/fmriprep_22_0_wf/single_subject_7841485_wf/anat_preproc_wf/anat_validate/sub-7841485_T1w_ras_valid.nii.gz as target volume.
reading source '/scratch/junhong.yu/HCP_BIDS/output/sourcedata/freesurfer/sub-7841485/mri/T1.mgz'...
reading target '/scratch/junhong.yu/HCP_BIDS/work/fmriprep_22_0_wf/single_subject_7841485_wf/anat_preproc_wf/anat_validate/sub-7841485_T1w_ras_valid.nii.gz'...
Registration::setSourceAndTarget(MRI s, MRI t, keeptype = TRUE )
Type Source : 0 Type Target : 0 keeping type
Reordering axes in mov to better fit dst... ( -1 -3 2 )
Determinant after swap : 1
Mov: (1, 1, 1)mm and dim (256, 256, 256)
Dst: (1, 1, 1)mm and dim (256, 256, 256)
Asserting both images: 1mm isotropic
- no Mov reslice necessary
- no Dst reslice necessary
Registration::findSaturation
- computing centroids
- computing initial transform
-- using translation info
- Get Gaussian Pyramid Limits ( min size: 16 max size: -1 )
- Build Gaussian Pyramid ( Limits min steps: 0 max steps: 3 )
- Build Gaussian Pyramid ( Limits min steps: 0 max steps: 3 )
- Max Resolution used: 2
-- gpS ( 64 , 64 , 64 )
-- gpT ( 64 , 64 , 64 )
- running loop to estimate saturation parameter:
-- Iteration: 1 trying sat: 16
min sat: 0 ( -1 ), max sat: 16 ( 0.00986734 ), sat diff: 16, (wlimit=0.16)
-- Iteration: 2 trying sat: 8
min sat: 0 ( -1 ), max sat: 8 ( 0.0380718 ), sat diff: 8, (wlimit=0.16)
-- Iteration: 3 trying sat: 4
min sat: 0 ( -1 ), max sat: 4 ( 0.122164 ), sat diff: 4, (wlimit=0.16)
-- Iteration: 4 trying sat: 2
Stderr:
ERROR: All entries are zero! Images do not overlap (anymore?).
This can have several reasons (i.e. different modalities, different
intensity scales, large non-linearities, too diff. voxel sizes ...)
Try calling with --noinit (if the original images are well aligned)
Maybe use --ixform with an approx. alignment
obtained from tkregister or another registration program.
Or do some prior intensity correction?
You can also try to switch off symmetric reg. via --nosym
or manually play around with the --sat parameter.
Traceback:
Traceback (most recent call last):
File "/home/junhong.yu/fmriprepenv/lib/python3.7/site-packages/nipype/interfaces/base/core.py", line 398, in run
runtime = self._post_run_hook(runtime)
File "/home/junhong.yu/fmriprepenv/lib/python3.7/site-packages/niworkflows/interfaces/freesurfer.py", line 248, in _post_run_hook
fix_lta_length(lta_file)
File "/home/junhong.yu/fmriprepenv/lib/python3.7/site-packages/niworkflows/interfaces/freesurfer.py", line 399, in fix_lta_length
lines = Path(lta_file).read_text().splitlines(keepends=True)
File "/usr/local/intel/oneapi/2021.3/intelpython/python3.7/lib/python3.7/pathlib.py", line 1221, in read_text
with self.open(mode='r', encoding=encoding, errors=errors) as f:
File "/usr/local/intel/oneapi/2021.3/intelpython/python3.7/lib/python3.7/pathlib.py", line 1208, in open
opener=self._opener)
File "/usr/local/intel/oneapi/2021.3/intelpython/python3.7/lib/python3.7/pathlib.py", line 1063, in _opener
return self._accessor.open(self, flags, mode)
FileNotFoundError: [Errno 2] No such file or directory: '/scratch/junhong.yu/HCP_BIDS/work/fmriprep_22_0_wf/single_subject_7841485_wf/anat_preproc_wf/surface_recon_wf/fsnative2t1w_xfm/T1_robustreg.lta'