Skip to content

ValueError: BinaryDilation requires a value for input 'in_file' (using MCRIBS recon w/ precomputed mask) #309

@madisoth

Description

@madisoth

What happened?

The below error occured testing the t1-t2-derivatives branch, in a subject that previously ran w/o error with 23.1.0rc0, with the only differences in the input data being:

  • precomputed mask/aseg derivatives in both T1w and T2w space were included (instead of T2w only)
  • the precomputed derivatives were changed from "space-orig" to "space-T1w" / "space-T2w" naming convention

What command did you use?

singularity run <...> \
nibabies_t1-t2-derivatives.sif /bids_dir /output_dir participant \
--project-goodvoxels \
--surface-recon-method mcribs \
--omp-nthreads 3 \
--derivatives /derivatives/bibsnet \
--resource-monitor \
--cifti-output 91k \
-vv \
-w /wd \
--fd-radius 35 \

What version of NiBabies are you using?

t1-t2-derivatives branch - https://hub.docker.com/layers/nipreps/nibabies/t1-t2-derivatives/images/sha256-1d1272a751e94214569edd69185cab522039242887707f78fc6d19a8758f5b95

Relevant log output

---
Slurm .err
---

(node:4104010) Warning: Closing directory handle on garbage collection
(Use `node --trace-warnings ...` to show where the warning was created)
[WARNING] Citeproc: citation templateflow not found
exception calling callback for <Future at 0x7f113a6ffd90 state=finished raised FileNotFoundError>
concurrent.futures.process._RemoteTraceback: 
"""
Traceback (most recent call last):
  File "/opt/conda/envs/nibabies/lib/python3.10/site-packages/nipype/pipeline/plugins/multiproc.py", line 67, in run_node
    result["result"] = node.run(updatehash=updatehash)
  File "/opt/conda/envs/nibabies/lib/python3.10/site-packages/nipype/pipeline/engine/nodes.py", line 527, in run
    result = self._run_interface(execute=True)
  File "/opt/conda/envs/nibabies/lib/python3.10/site-packages/nipype/pipeline/engine/nodes.py", line 645, in _run_interface
    return self._run_command(execute)
  File "/opt/conda/envs/nibabies/lib/python3.10/site-packages/nipype/pipeline/engine/nodes.py", line 722, in _run_command
    result = self._interface.run(cwd=outdir, ignore_exception=True)
  File "/opt/conda/envs/nibabies/lib/python3.10/site-packages/nipype/interfaces/base/core.py", line 388, in run
    self._check_mandatory_inputs()
  File "/opt/conda/envs/nibabies/lib/python3.10/site-packages/nipype/interfaces/base/core.py", line 275, in _check_mandatory_inputs
    raise ValueError(msg)
ValueError: BinaryDilation requires a value for input 'in_file'. For a list of required inputs, see BinaryDilation.help()

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/conda/envs/nibabies/lib/python3.10/concurrent/futures/process.py", line 246, in _process_worker
    r = call_item.fn(*call_item.args, **call_item.kwargs)
  File "/opt/conda/envs/nibabies/lib/python3.10/site-packages/nipype/pipeline/plugins/multiproc.py", line 70, in run_node
    result["result"] = node.result
  File "/opt/conda/envs/nibabies/lib/python3.10/site-packages/nipype/pipeline/engine/nodes.py", line 223, in result
    return _load_resultfile(
  File "/opt/conda/envs/nibabies/lib/python3.10/site-packages/nipype/pipeline/engine/utils.py", line 291, in load_resultfile
    raise FileNotFoundError(results_file)
FileNotFoundError: /wd/nibabies_23_2_wf/single_subject_SUB_SES_wf/infant_anat_wf/coregistration_wf/refine_mask/result_refine_mask.pklz
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/conda/envs/nibabies/lib/python3.10/concurrent/futures/_base.py", line 342, in _invoke_callbacks
    callback(self)
  File "/opt/conda/envs/nibabies/lib/python3.10/site-packages/nipype/pipeline/plugins/multiproc.py", line 159, in _async_callback
    result = args.result()
  File "/opt/conda/envs/nibabies/lib/python3.10/concurrent/futures/_base.py", line 451, in result
    return self.__get_result()
  File "/opt/conda/envs/nibabies/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result
    raise self._exception
FileNotFoundError: /wd/nibabies_23_2_wf/single_subject_SUB_SES_wf/infant_anat_wf/coregistration_wf/refine_mask/result_refine_mask.pklz
exception calling callback for <Future at 0x7f113a6ffdf0 state=finished raised FileNotFoundError>
concurrent.futures.process._RemoteTraceback: 
"""
Traceback (most recent call last):
  File "/opt/conda/envs/nibabies/lib/python3.10/site-packages/nipype/pipeline/plugins/multiproc.py", line 67, in run_node
    result["result"] = node.run(updatehash=updatehash)
  File "/opt/conda/envs/nibabies/lib/python3.10/site-packages/nipype/pipeline/engine/nodes.py", line 527, in run
    result = self._run_interface(execute=True)
  File "/opt/conda/envs/nibabies/lib/python3.10/site-packages/nipype/pipeline/engine/nodes.py", line 645, in _run_interface
    return self._run_command(execute)
  File "/opt/conda/envs/nibabies/lib/python3.10/site-packages/nipype/pipeline/engine/nodes.py", line 722, in _run_command
    result = self._interface.run(cwd=outdir, ignore_exception=True)
  File "/opt/conda/envs/nibabies/lib/python3.10/site-packages/nipype/interfaces/base/core.py", line 388, in run
    self._check_mandatory_inputs()
  File "/opt/conda/envs/nibabies/lib/python3.10/site-packages/nipype/interfaces/base/core.py", line 275, in _check_mandatory_inputs
    raise ValueError(msg)
ValueError: BinaryDilation requires a value for input 'in_file'. For a list of required inputs, see BinaryDilation.help()

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/conda/envs/nibabies/lib/python3.10/concurrent/futures/process.py", line 246, in _process_worker
    r = call_item.fn(*call_item.args, **call_item.kwargs)
  File "/opt/conda/envs/nibabies/lib/python3.10/site-packages/nipype/pipeline/plugins/multiproc.py", line 70, in run_node
    result["result"] = node.result
  File "/opt/conda/envs/nibabies/lib/python3.10/site-packages/nipype/pipeline/engine/nodes.py", line 223, in result
    return _load_resultfile(
  File "/opt/conda/envs/nibabies/lib/python3.10/site-packages/nipype/pipeline/engine/utils.py", line 291, in load_resultfile
    raise FileNotFoundError(results_file)
FileNotFoundError: /wd/nibabies_23_2_wf/single_subject_SUB_SES_wf/infant_anat_wf/coregistration_wf/reg_mask/result_reg_mask.pklz
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/conda/envs/nibabies/lib/python3.10/concurrent/futures/_base.py", line 342, in _invoke_callbacks
    callback(self)
  File "/opt/conda/envs/nibabies/lib/python3.10/site-packages/nipype/pipeline/plugins/multiproc.py", line 159, in _async_callback
    result = args.result()
  File "/opt/conda/envs/nibabies/lib/python3.10/concurrent/futures/_base.py", line 451, in result
    return self.__get_result()
  File "/opt/conda/envs/nibabies/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result
    raise self._exception
FileNotFoundError: /wd/nibabies_23_2_wf/single_subject_SUB_SES_wf/infant_anat_wf/coregistration_wf/reg_mask/result_reg_mask.pklz
slurmstepd: error: *** JOB 75319551 ON acl22 CANCELLED AT 2023-08-18T23:53:05 DUE TO TIME LIMIT ***



---
Slurm .log (up to "nibabies started!"):
---
230818-17:53:24,124 cli INFO:
	 Making sure the input data is BIDS compliant (warnings can be ignored in most cases).
[email protected]
	[33m1: [WARN] The recommended file /README is missing. See Section 03 (Modality agnostic files) of the BIDS specification. (code: 101 - README_FILE_MISSING)[39m

[36m	Please visit https://neurostars.org/search?q=README_FILE_MISSING for existing conversations about this issue.[39m

        [34m[4mSummary:[24m[39m               [34m[4mAvailable Tasks:[24m[39m        [34m[4mAvailable Modalities:[24m[39m 
        20 Files, 1.2GB        rest                    MRI                   
        1 - Subject                                                          
        1 - Session                                                          


[36m	If you have any questions, please post on https://neurostars.org/tags/bids.[39m
230818-17:53:30,326 nipype.workflow IMPORTANT:
	 
    Running nibabies version 23.2.0.dev15+gd48007f:
      * BIDS dataset path: /bids_dir.
      * Participant list: [['SUB', 'SES']].
      * Run identifier: 20230818-175310_afd0442f-47c4-4ce0-ab6b-e3f6cf68a9ad.
      * Output spaces: MNIInfant.
      * Pre-run FreeSurfer's SUBJECTS_DIR: /output_dir/sourcedata/freesurfer.
230818-17:53:31,156 nipype.workflow INFO:
	 Searching for derivatives in /derivatives/bibsnet
230818-17:53:31,680 nipype.workflow INFO:
	 Found precomputed derivatives t2w_aseg
t1w_aseg
t1w_mask
t2w_mask
230818-17:53:31,892 nipype.workflow INFO:
	 Derivatives used:
	<T1 mask False>
	<T1 aseg False>
	<T2 mask True>
	<T2 aseg True>
230818-17:53:32,795 nipype.workflow INFO:
	 No single-band-reference found for sub-SUB_ses-SES_task-rest_acq-AP_run-03_bold.nii.gz.
230818-17:53:32,796 nipype.workflow INFO:
	 Found usable B0-map (fieldmap) estimator(s) <auto_00001> to correct </bids_dir/sub-SUB/ses-SES/func/sub-SUB_ses-SES_task-rest_acq-AP_run-03_bold.nii.gz> for susceptibility-derived distortions.
230818-17:53:32,909 nipype.workflow IMPORTANT:
	 BOLD series will be slice-timing corrected to an offset of 0.311s.
230818-17:53:35,103 nipype.workflow INFO:
	 No single-band-reference found for sub-SUB_ses-SES_task-rest_acq-PA_run-01_bold.nii.gz.
230818-17:53:35,104 nipype.workflow INFO:
	 Found usable B0-map (fieldmap) estimator(s) <auto_00000> to correct </bids_dir/sub-SUB/ses-SES/func/sub-SUB_ses-SES_task-rest_acq-PA_run-01_bold.nii.gz> for susceptibility-derived distortions.
230818-17:53:35,194 nipype.workflow IMPORTANT:
	 BOLD series will be slice-timing corrected to an offset of 0.311s.
230818-17:53:35,563 nipype.workflow INFO:
	 No single-band-reference found for sub-SUB_ses-SES_task-rest_acq-PA_run-02_bold.nii.gz.
230818-17:53:35,563 nipype.workflow INFO:
	 Found usable B0-map (fieldmap) estimator(s) <auto_00001> to correct </bids_dir/sub-SUB/ses-SES/func/sub-SUB_ses-SES_task-rest_acq-PA_run-02_bold.nii.gz> for susceptibility-derived distortions.
230818-17:53:35,655 nipype.workflow IMPORTANT:
	 BOLD series will be slice-timing corrected to an offset of 0.311s.
230818-17:53:35,974 nipype.workflow INFO:
	 Fieldmap estimators found: [<EstimatorType.PEPOLAR: 2>, <EstimatorType.PEPOLAR: 2>]
230818-17:53:37,269 nipype.workflow INFO:
	 Setting-up fieldmap "auto_00000" (EstimatorType.PEPOLAR) with <sub-SUB_ses-SES_dir-AP_run-02_epi.nii.gz, sub-SUB_ses-SES_dir-PA_run-01_epi.nii.gz>
230818-17:53:37,292 nipype.workflow INFO:
	 Setting-up fieldmap "auto_00001" (EstimatorType.PEPOLAR) with <sub-SUB_ses-SES_dir-AP_run-04_epi.nii.gz, sub-SUB_ses-SES_dir-PA_run-03_epi.nii.gz>
230818-17:53:38,4 nipype.workflow INFO:
	 NiBabies workflow graph with 1058 nodes built successfully.
230818-17:53:38,15 cli INFO:
	 Generating an HTML version of the citation boilerplate...
230818-17:53:40,625 cli INFO:
	 Generating a LaTeX version of the citation boilerplate...
230818-17:53:41,164 nipype.workflow VERBOSE:
	 nibabies config:
		[environment]
		cpu_count = 128
		exec_env = "singularity"
		free_mem = 1641.3
		overcommit_policy = "heuristic"
		overcommit_limit = "50%"
		nipype_version = "1.8.6"
		templateflow_version = "23.0.0"
		version = "23.2.0.dev15+gd48007f"
		
		[execution]
		bids_dir = "/bids_dir"
		bids_database_dir = "/wd/20230818-175310_afd0442f-47c4-4ce0-ab6b-e3f6cf68a9ad/bids_db"
		bids_description_hash = "cb2b9d74d3ee45030afbed8b010af9a61270952f6b0dde28ed1718d7199a57df"
		boilerplate_only = false
		sloppy = false
		debug = []
		derivatives = [ "/derivatives/bibsnet",]
		fs_license_file = "/opt/freesurfer/license.txt"
		fs_subjects_dir = "/output_dir/sourcedata/freesurfer"
		layout = "BIDS Layout: .../bids_dir | Subjects: 1 | Sessions: 1 | Runs: 4"
		log_dir = "/output_dir/logs"
		log_level = 15
		low_mem = false
		mcribs_dir = "/output_dir/sourcedata/mcribs"
		md_only_boilerplate = false
		nibabies_dir = "/output_dir"
		notrack = false
		output_dir = "/output_dir"
		me_output_echos = false
		output_layout = "bids"
		reports_only = false
		run_uuid = "20230818-175310_afd0442f-47c4-4ce0-ab6b-e3f6cf68a9ad"
		participant_label = [ "SUB",]
		templateflow_home = "/home/feczk001/tmadison/.cache/templateflow"
		unique_labels = [ [ "SUB", "SES",],]
		work_dir = "/wd"
		write_graph = false
		
		[workflow]
		analysis_level = "participant"
		anat_only = false
		aroma_err_on_warn = false
		aroma_melodic_dim = -200
		bold2t1w_dof = 6
		bold2t1w_init = "register"
		cifti_output = "91k"
		fd_radius = 35.0
		fmap_bspline = false
		force_syn = false
		hires = true
		ignore = []
		longitudinal = false
		medial_surface_nan = false
		project_goodvoxels = true
		regressors_all_comps = false
		regressors_dvars_th = 1.5
		regressors_fd_th = 0.5
		run_reconall = true
		skull_strip_fixed_seed = false
		skull_strip_template = "UNCInfant:cohort-1"
		skull_strip_t1w = "force"
		slice_time_ref = 0.5
		surface_recon_method = "mcribs"
		use_aroma = false
		use_bbr = false
		use_syn_sdc = false
		
		[nipype]
		crashfile_format = "txt"
		get_linked_libs = false
		nprocs = 24
		omp_nthreads = 3
		plugin = "MultiProc"
		resource_monitor = true
		stop_on_first_crash = false
		
		[seeds]
		master = 21728
		ants = 62702
		numpy = 23605
		
		[nipype.plugin_args]
		maxtasksperchild = 1
		raise_insufficient = false
230818-17:53:41,164 nipype.workflow IMPORTANT:
	 nibabies started!

Add any additional information or context about the problem here.

The MCRIBS recon still completed for this subject (derivatives/sourcedata/mcribs contains the expected outputs, and the MCRIBS logs reported no errors)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions