Fmriprep: syn_i and syn_j crash when using --syn-sdc

Created on 13 Aug 2017  路  7Comments  路  Source: nipreps/fmriprep

When I use the --syn-sdc on one of my datasets, I get the following error for all the run of one out of 9 subjects (the rest finishes without errors):

Node: fmriprep_wf.single_subject_02_wf.func_preproc_task_binocularrivalry_run_01_wf.nonlinear_sdc_wf.syn_i
Working directory: /scratch/wf/fmriprep_wf/single_subject_02_wf/func_preproc_task_binocularrivalry_run_01_wf/nonlinear_sdc_wf/syn_i

Node inputs:

args = <undefined>
collapse_output_transforms = True
convergence_threshold = [1e-08, 1e-08]
convergence_window_size = [20, 10]
dimension = 3
environ = {'NSLOTS': '1'}
fixed_image = ['/scratch/wf/fmriprep_wf/single_subject_02_wf/func_preproc_task_binocularrivalry_run_01_wf/nonlinear_sdc_wf/t1_2_ref/highres001_BrainExtractionBrain_inv_trans.nii.gz']
fixed_image_mask = <undefined>
fixed_image_masks = ['NULL', '/scratch/wf/fmriprep_wf/single_subject_02_wf/func_preproc_task_binocularrivalry_run_01_wf/nonlinear_sdc_wf/threshold_atlas/fmap_atlas_trans_maths.nii.gz']
float = True
ignore_exception = False
initial_moving_transform = <undefined>
initial_moving_transform_com = <undefined>
initialize_transforms_per_stage = False
interpolation = Linear
interpolation_parameters = <undefined>
invert_initial_moving_transform = <undefined>
metric = ['Mattes', 'CC']
metric_item_trait = <undefined>
metric_stage_trait = <undefined>
metric_weight = [1.0, 1.0]
metric_weight_item_trait = <undefined>
metric_weight_stage_trait = <undefined>
moving_image = ['/scratch/wf/fmriprep_wf/single_subject_02_wf/func_preproc_task_binocularrivalry_run_01_wf/bold_hmc_wf/enhance_and_skullstrip_bold_wf/apply_mask/uni_masked.nii.gz']
moving_image_mask = <undefined>
moving_image_masks = <undefined>
num_threads = 1
number_of_iterations = [[100, 50], [20, 10]]
output_inverse_warped_image = <undefined>
output_transform_prefix = ants_susceptibility
output_warped_image = True
radius_bins_item_trait = <undefined>
radius_bins_stage_trait = <undefined>
radius_or_number_of_bins = [56, 5]
restore_state = <undefined>
restrict_deformation = [[1, 0, 0], [1, 0, 0]]
sampling_percentage = <undefined>
sampling_percentage_item_trait = <undefined>
sampling_percentage_stage_trait = <undefined>
sampling_strategy = <undefined>
sampling_strategy_item_trait = <undefined>
sampling_strategy_stage_trait = <undefined>
save_state = <undefined>
shrink_factors = [[2, 1], [1, 1]]
sigma_units = ['vox', 'vox']
smoothing_sigmas = [[1.0, 0.0], [1.0, 0.0]]
terminal_output = stream
transform_parameters = [(0.8, 2.0, 2.0), (0.8, 2.0, 2.0)]
transforms = ['SyN', 'SyN']
use_estimate_learning_rate_once = [True, True]
use_histogram_matching = [True, True]
verbose = <undefined>
winsorize_lower_quantile = 0.001
winsorize_upper_quantile = 1.0
write_composite_transform = False

Traceback (most recent call last):
  File "/usr/local/miniconda/lib/python3.6/site-packages/niworkflows/nipype/pipeline/plugins/multiproc.py", line 52, in run_node
    result['result'] = node.run(updatehash=updatehash)
  File "/usr/local/miniconda/lib/python3.6/site-packages/niworkflows/nipype/pipeline/engine/nodes.py", line 372, in run
    self._run_interface()
  File "/usr/local/miniconda/lib/python3.6/site-packages/niworkflows/nipype/pipeline/engine/nodes.py", line 482, in _run_interface
    self._result = self._run_command(execute)
  File "/usr/local/miniconda/lib/python3.6/site-packages/niworkflows/nipype/pipeline/engine/nodes.py", line 613, in _run_command
    result = self._interface.run()
  File "/usr/local/miniconda/lib/python3.6/site-packages/niworkflows/nipype/interfaces/base.py", line 1083, in run
    runtime = self._run_wrapper(runtime)
  File "/usr/local/miniconda/lib/python3.6/site-packages/niworkflows/nipype/interfaces/base.py", line 1757, in _run_wrapper
    runtime = self._run_interface(runtime)
  File "/usr/local/miniconda/lib/python3.6/site-packages/niworkflows/nipype/interfaces/base.py", line 1791, in _run_interface
    self.raise_exception(runtime)
  File "/usr/local/miniconda/lib/python3.6/site-packages/niworkflows/nipype/interfaces/base.py", line 1715, in raise_exception
    **runtime.dictcopy()))
RuntimeError: Command:
antsRegistration --collapse-output-transforms 1 --dimensionality 3 --float 1 --initialize-transforms-per-stage 0 --interpolation Linear --output [ ants_susceptibility, ants_susceptibility_Warped.nii.gz ] --transform SyN[ 0.8, 2.0, 2.0 ] --metric Mattes[ /scratch/wf/fmriprep_wf/single_subject_02_wf/func_preproc_task_binocularrivalry_run_01_wf/nonlinear_sdc_wf/t1_2_ref/highres001_BrainExtractionBrain_inv_trans.nii.gz, /scratch/wf/fmriprep_wf/single_subject_02_wf/func_preproc_task_binocularrivalry_run_01_wf/bold_hmc_wf/enhance_and_skullstrip_bold_wf/apply_mask/uni_masked.nii.gz, 1, 56 ] --convergence [ 100x50, 1e-08, 20 ] --smoothing-sigmas 1.0x0.0vox --shrink-factors 2x1 --use-estimate-learning-rate-once 1 --use-histogram-matching 1 --restrict-deformation 1x0x0 --masks [ NULL, NULL ] --transform SyN[ 0.8, 2.0, 2.0 ] --metric CC[ /scratch/wf/fmriprep_wf/single_subject_02_wf/func_preproc_task_binocularrivalry_run_01_wf/nonlinear_sdc_wf/t1_2_ref/highres001_BrainExtractionBrain_inv_trans.nii.gz, /scratch/wf/fmriprep_wf/single_subject_02_wf/func_preproc_task_binocularrivalry_run_01_wf/bold_hmc_wf/enhance_and_skullstrip_bold_wf/apply_mask/uni_masked.nii.gz, 1, 5 ] --convergence [ 20x10, 1e-08, 10 ] --smoothing-sigmas 1.0x0.0vox --shrink-factors 1x1 --use-estimate-learning-rate-once 1 --use-histogram-matching 1 --restrict-deformation 1x0x0 --masks [ /scratch/wf/fmriprep_wf/single_subject_02_wf/func_preproc_task_binocularrivalry_run_01_wf/nonlinear_sdc_wf/threshold_atlas/fmap_atlas_trans_maths.nii.gz, NULL ] --winsorize-image-intensities [ 0.001, 1.0 ]  --write-composite-transform 0
Standard output:

Standard error:
 file NULL does not exist . 
 file NULL does not exist . 
 file NULL does not exist . 
/tmp/ANTs/build/ITKv4/Modules/ThirdParty/VNL/src/vxl/core/vnl/algo/vnl_svd.hxx: suspicious return value (2) from SVDC
/tmp/ANTs/build/ITKv4/Modules/ThirdParty/VNL/src/vxl/core/vnl/algo/vnl_svd.hxx: M is 2x2
M = [ ...
            -nan             -nan 
            -nan             -nan  ]

Return code: 1
Interface Registration failed to run. 
SyN-SDC bug

All 7 comments

You're running in Singularity? I wonder if there's a conflicting version of ANTs in your environment. Singularity does a kind of minimal masking of the environment, so it's possible that the native installation of ANTs is being run instead of the version in the container.

I'm running under Singularity, but I have no ANTS binaries in my PATH. I sent you an email with the data, so you can maybe have a look if you have time.

@effigies is that 'NULL' in

fixed_image_masks = ['NULL', '/scratch/wf/fmriprep_wf/single_subject_02_wf/func_preproc_task_binocularrivalry_run_01_wf/nonlinear_sdc_wf/threshold_atlas/fmap_atlas_trans_maths.nii.gz']

acceptable?

  • seems like ANTs is trying to open a file named NULL...

Weird I never got the email from you @Gilles86

@oesteban That's expected (and actually hard-coded), but pre-2.2.0 it would have caused issues. That's why I at first thought that the wrong version of ANTs might be being called.

I was able to reproduce this issue with the provided data.

This seems to be another partial FoV issue. The ref_2_t1 node is producing the identity affine:

Transform file: /data/scratch/hollander/fmriprep_wf/single_subject_02_wf/func_preproc_task_binocularrivalry_run_01_wf/nonlinear_sdc_wf/ref_2_t1/transform0GenericAffine.mat
AffineTransform (0x2d83e00)
  RTTI typeinfo:   itk::AffineTransform<double, 3u>
  Reference Count: 3
  Modified Time: 660
  Debug: Off
  Object Name: 
  Observers: 
    none
  Matrix: 
    1 0 0 
    0 1 0 
    0 0 1 
  Offset: [0, 0, 0]
  Center: [0, 0, 0]
  Translation: [0, 0, 0]
  Inverse: 
    1 0 0 
    0 1 0 
    0 0 1 
  Singular: 0

I suspect the initial transform is failing to overlap.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jsmentch picture jsmentch  路  3Comments

manishsaggar1 picture manishsaggar1  路  5Comments

oesteban picture oesteban  路  5Comments

ptubiolo37 picture ptubiolo37  路  4Comments

jawaltz picture jawaltz  路  4Comments