Hi all,
fmriprep (version 1.4.0) did not work when --use-syn-sdc applied, while did work without --use-syn-sdc.
All data passed BIDS validation.
My script was:
fmriprep-docker /home/jshino/BIDS /home/jshino/results participant -w /home/jshino/work --output-spaces MNI152NLin6Asym:res-2 anat --participant-label 01 -t facelocalizer --fs-license-file /home/jshino/license.txt --use-syn-sdc --use-aroma
The error in terminal was:
Error while checking node hash, forcing re-run. Although this error may not prevent the workflow from running, it could indicate a major problem. Please report a new issue at https://github.com/nipy/nipype/issues adding the following information:
Node: fmriprep_wf.single_subject_01_wf.func_preproc_task_facelocalizer_wf.sdc_wf.syn_sdc_wf.atlas_2_ref
Interface: niworkflows.interfaces.fixes.FixHeaderApplyTransforms
Traceback:
Traceback (most recent call last):File “/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/plugins/base.py”, line 338, in _local_hash_check
cached, updated = self.procs[jobid].is_cached()File “/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py”, line 296, in is_cached
hashed_inputs, hashvalue = self._get_hashval()File “/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py”, line 493, in _get_hashval
self._get_inputs()File “/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py”, line 540, in _get_inputs
self.set_input(key, deepcopy(output_value))File “/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py”, line 278, in set_input
setattr(self.inputs, parameter, deepcopy(val))File “/usr/local/miniconda/lib/python3.7/site-packages/traits/trait_handlers.py”, line 172, in error
value )traits.trait_errors.TraitError: The ‘transforms’ trait of an ApplyTransformsInputSpec instance must be a list of items which are an existing file name or ‘identity’, but a value of [’/scratch/fmriprep_wf/single_subject_01_wf/func_preproc_task_facelocalizer_wf/sdc_wf/syn_sdc_wf/ref_2_t1/transform0GenericAffine.mat’, ‘/scratch/fmriprep_wf/single_subject_01_wf/anat_preproc_wf/anat_norm_wf/_template_MNI152NLin6Asym/registration/ants_t1_to_mniInverseComposite.h5’, ‘/usr/local/miniconda/lib/python3.7/site-packages/fmriprep/data/fmap_atlas_2_MNI152NLin6Asym_affine.mat’] <class ‘list’> was specified.
Error setting node input:
Node: atlas_2_ref
input: transforms
results_file: /scratch/fmriprep_wf/single_subject_01_wf/func_preproc_task_facelocalizer_wf/sdc_wf/syn_sdc_wf/transform_list/result_transform_list.pklz
value: [’/scratch/fmriprep_wf/single_subject_01_wf/func_preproc_task_facelocalizer_wf/sdc_wf/syn_sdc_wf/ref_2_t1/transform0GenericAffine.mat’, ‘/scratch/fmriprep_wf/single_subject_01_wf/anat_preproc_wf/anat_norm_wf/_template_MNI152NLin6Asym/registration/ants_t1_to_mniInverseComposite.h5’, ‘/usr/local/miniconda/lib/python3.7/site-packages/fmriprep/data/fmap_atlas_2_MNI152NLin6Asym_affine.mat’]190531-04:16:03,394 nipype.workflow INFO:
[Node] Setting-up “fmriprep_wf.single_subject_01_wf.func_preproc_task_facelocalizer_wf.sdc_wf.syn_sdc_wf.atlas_2_ref” in “/scratch/fmriprep_wf/single_subject_01_wf/func_preproc_task_facelocalizer_wf/sdc_wf/syn_sdc_wf/atlas_2_ref”.
190531-04:16:05,322 nipype.workflow ERROR:
Node atlas_2_ref failed to run on host 4505441b4a40.
190531-04:16:05,325 nipype.workflow ERROR:
Saving crash info to /out/fmriprep/sub-01/log/20190531-030818_44b90f91-da9c-4dbe-b3e9-06c1b4228399/crash-20190531-041605-root-atlas_2_ref-71e0490d-7312-47dc-86ff-c6e24e6fe71d.txt
Traceback (most recent call last):
File “/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/plugins/multiproc.py”, line 69, in run_node
result[‘result’] = node.run(updatehash=updatehash)
File “/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py”, line 410, in run
cached, updated = self.is_cached()
File “/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py”, line 296, in is_cached
hashed_inputs, hashvalue = self._get_hashval()
File “/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py”, line 493, in _get_hashval
self._get_inputs()
File “/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py”, line 540, in _get_inputs
self.set_input(key, deepcopy(output_value))
File “/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py”, line 278, in set_input
setattr(self.inputs, parameter, deepcopy(val))
File “/usr/local/miniconda/lib/python3.7/site-packages/traits/trait_handlers.py”, line 172, in error
value )
traits.trait_errors.TraitError: The ‘transforms’ trait of an ApplyTransformsInputSpec instance must be a list of items which are an existing file name or ‘identity’, but a value of [’/scratch/fmriprep_wf/single_subject_01_wf/func_preproc_task_facelocalizer_wf/sdc_wf/syn_sdc_wf/ref_2_t1/transform0GenericAffine.mat’, ‘/scratch/fmriprep_wf/single_subject_01_wf/anat_preproc_wf/anat_norm_wf/_template_MNI152NLin6Asym/registration/ants_t1_to_mniInverseComposite.h5’, ‘/usr/local/miniconda/lib/python3.7/site-packages/fmriprep/data/fmap_atlas_2_MNI152NLin6Asym_affine.mat’] <class ‘list’> was specified.Error setting node input:
Node: atlas_2_ref
input: transforms
results_file: /scratch/fmriprep_wf/single_subject_01_wf/func_preproc_task_facelocalizer_wf/sdc_wf/syn_sdc_wf/transform_list/result_transform_list.pklz
value: [’/scratch/fmriprep_wf/single_subject_01_wf/func_preproc_task_facelocalizer_wf/sdc_wf/syn_sdc_wf/ref_2_t1/transform0GenericAffine.mat’, ‘/scratch/fmriprep_wf/single_subject_01_wf/anat_preproc_wf/anat_norm_wf/_template_MNI152NLin6Asym/registration/ants_t1_to_mniInverseComposite.h5’, ‘/usr/local/miniconda/lib/python3.7/site-packages/fmriprep/data/fmap_atlas_2_MNI152NLin6Asym_affine.mat’]190531-04:16:07,320 nipype.workflow ERROR:
could not run node: fmriprep_wf.single_subject_01_wf.func_preproc_task_facelocalizer_wf.sdc_wf.syn_sdc_wf.atlas_2_ref
fMRIPrep failed: Workflow did not execute cleanly. Check log for details
Preprocessing did not finish successfully. Errors occurred while processing data from participants: 01 (1). Check the HTML reports for details.
Sentry is attempting to send 3 pending error messages
Waiting up to 2.0 seconds
Press Ctrl-C to quit
In the crash-.txt in log directory,
Node: fmriprep_wf.single_subject_01_wf.func_preproc_task_facelocalizer_wf.sdc_wf.syn_sdc_wf.atlas_2_ref
Working directory: /scratch/fmriprep_wf/single_subject_01_wf/func_preproc_task_facelocalizer_wf/sdc_wf/syn_sdc_wf/atlas_2_refNode inputs:
args =
default_value = 0.0
dimension =
environ = {‘NSLOTS’: ‘5’}
float = False
input_image = /usr/local/miniconda/lib/python3.7/site-packages/fmriprep/data/fmap_atlas.nii.gz
input_image_type =
interpolation = Linear
interpolation_parameters =
invert_transform_flags = [True, False, False]
num_threads = 5
out_postfix = _trans
output_image =
print_out_composite_warp_file =
reference_image =
transforms =Traceback (most recent call last):
File “/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/plugins/multiproc.py”, line 69, in run_node
result[‘result’] = node.run(updatehash=updatehash)
File “/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py”, line 410, in run
cached, updated = self.is_cached()
File “/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py”, line 296, in is_cached
hashed_inputs, hashvalue = self._get_hashval()
File “/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py”, line 493, in _get_hashval
self._get_inputs()
File “/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py”, line 540, in _get_inputs
self.set_input(key, deepcopy(output_value))
File “/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py”, line 278, in set_input
setattr(self.inputs, parameter, deepcopy(val))
File “/usr/local/miniconda/lib/python3.7/site-packages/traits/trait_handlers.py”, line 172, in error
value )
traits.trait_errors.TraitError: The ‘transforms’ trait of an ApplyTransformsInputSpec instance must be a list of items which are an existing file name or ‘identity’, but a value of [’/scratch/fmriprep_wf/single_subject_01_wf/func_preproc_task_facelocalizer_wf/sdc_wf/syn_sdc_wf/ref_2_t1/transform0GenericAffine.mat’, ‘/scratch/fmriprep_wf/single_subject_01_wf/anat_preproc_wf/anat_norm_wf/_template_MNI152NLin6Asym/registration/ants_t1_to_mniInverseComposite.h5’, ‘/usr/local/miniconda/lib/python3.7/site-packages/fmriprep/data/fmap_atlas_2_MNI152NLin6Asym_affine.mat’] <class ‘list’> was specified.Error setting node input:
Node: atlas_2_ref
input: transforms
results_file: /scratch/fmriprep_wf/single_subject_01_wf/func_preproc_task_facelocalizer_wf/sdc_wf/syn_sdc_wf/transform_list/result_transform_list.pklz
value: [’/scratch/fmriprep_wf/single_subject_01_wf/func_preproc_task_facelocalizer_wf/sdc_wf/syn_sdc_wf/ref_2_t1/transform0GenericAffine.mat’, ‘/scratch/fmriprep_wf/single_subject_01_wf/anat_preproc_wf/anat_norm_wf/_template_MNI152NLin6Asym/registration/ants_t1_to_mniInverseComposite.h5’, ‘/usr/local/miniconda/lib/python3.7/site-packages/fmriprep/data/fmap_atlas_2_MNI152NLin6Asym_affine.mat’]
I tried the new version (1.4.1rc1) but the same error was printed.
Also, I changed “/scratch” to “/tmp”,shown below, but the same error was occurred.
docker run --rm -it -e DOCKER_VERSION_8395080871=18.09.6 -v /home/jshino/license.txt:/opt/freesurfer/license.txt:ro -v /home/jshino/BIDS:/data:ro -v /home/jshino/results:/out -v /home/jshino/work:/tmp poldracklab/fmriprep:1.4.0 /data /out participant --output-spaces MNI152NLin6Asym:res-2 anat --participant-label 01 -t facelocalizer --use-aroma --use-syn-sdc --fs-no-reconall -w /tmp
However, the below script, fmriprep worked completely
fmriprep-docker /home/jshino/BIDS /home/jshino/results participant -w /home/jshino/work --output-spaces MNI152NLin6Asym:res-2 anat --participant-label 01 -t facelocalizer --fs-license-file /home/jshino/license.txt --use-aroma
Therefore, I cannot use SyN distortion correction in fmriprep 1.4.0.
Really appreciate your help!