Errors with cbf_ts_summary and warp_atlases_to_asl_space

Summary of what happened:

aslprep is throwing two errors during execution. they seem to be related to cbf_ts_summary and warp_atlases_to_asl_space. I’m not terribly familiar with ASL, it’s part of a larger study my lab is working on. any help would be appreciated!

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

docker run -ti --rm \
-v /data/ubcitar/ICE_analysis/raw:/data:ro \
-v /data/ubcitar/ICE_analysis/derivatives:/out \
-v /data/ubcitar/ICE_analysis/code/license.txt:/fs \
-v /data/ubcitar/ICE_analysis/working:/work \ 
pennlinc/aslprep:0.3.0 /data /out/aslprep-0.3.0 participant --participant-label 'M01' --fs-license-file /fs --skip-bids-validation -w /work --verbose

Version:

0.3.0

Environment (Docker, Singularity, custom installation):

Docker

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

BIDS validated. There are a few warnings:

    2: [WARN] It is recommended to define 'VascularCrushing' for this file. 'VascularCrushing' is a boolean value indicating if an ASL crusher method is used.                                                                                                                                                       
                                                                                                                                                                                                                                                                                         
    3: [WARN] It is recommended to define 'PulseSequenceDetails' for this file. 'PulseSequenceDetails' is the information beyond pulse sequence type that identifies the specific pulse sequence used (for example, 'Standard Siemens Sequence distributed with the VB17 software', 'Siemens WIP ### version #.##', or 'Sequence written by X using a version compiled on MM/DD/YYYY').                                                                                                                                                  
                                                                                                                                                                                                                                                                                         
    4: [WARN] It is recommended to define 'BackgroundSuppressionPulseTime' for this file, when the 'BackgroundSuppression' is set to true. 'BackGroundSuppressionPulseTime' is an array of numbers containing timing, in seconds, of the background suppression pulses with respect to the start of the labeling. In case of multi-PLD with different background suppression pulse times, only the pulse time of the first PLD should be defined.                                                                                       
                                                                                                                                                                                                                                                                                         
    5: [WARN] It is recommended to define 'BackgroundSuppressionNumberPulses' for this file, in case 'BackgroundSuppression' is set to true. 'BackgroundSuppressionNumberPulses' is the number of background suppression pulses used. Note that this excludes any effect of background suppression pulses applied before the labeling. 

Relevant log outputs (up to 20 lines):

Error 1 :

 Traceback (most recent call last):
 File "/usr/local/miniconda/lib/python3.8/site-packages/nipype/pipeline/plugins/multiproc.py", line 67, in run_node
result["result"] = node.run(updatehash=updatehash)
  File "/usr/local/miniconda/lib/python3.8/site-packages/nipype/pipeline/engine/nodes.py", line 527, in run
result = self._run_interface(execute=True)
  File "/usr/local/miniconda/lib/python3.8/site-packages/nipype/pipeline/engine/nodes.py", line 645, in _run_interface
return self._run_command(execute)
File "/usr/local/miniconda/lib/python3.8/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 cbf_ts_summary.

Traceback:
    Traceback (most recent call last):
      File "/usr/local/miniconda/lib/python3.8/site-packages/numpy/lib/npyio.py", line 985, in _read
        data = iter(fname)
    TypeError: '_Undefined' object is not iterable

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

    Traceback (most recent call last):
      File "/usr/local/miniconda/lib/python3.8/site-packages/nipype/interfaces/base/core.py", line 397, in run
        runtime = self._run_interface(runtime)
      File "/usr/local/miniconda/lib/python3.8/site-packages/aslprep/interfaces/plotting.py", line 154, in _run_interface
        fig = CBFtsPlot(
      File "/usr/local/miniconda/lib/python3.8/site-packages/aslprep/utils/plotting.py", line 128, in __init__
        volindex = np.loadtxt(scoreindex)
      File "/usr/local/miniconda/lib/python3.8/site-packages/numpy/lib/npyio.py", line 1356, in loadtxt
        arr = _read(fname, dtype=dtype, comment=comment, delimiter=delimiter,
      File "/usr/local/miniconda/lib/python3.8/site-packages/numpy/lib/npyio.py", line 987, in _read
        raise ValueError(
    ValueError: fname must be a string, filehandle, list of strings,
    or generator. Got <class 'traits.trait_base._Undefined'> instead.

Error 2:

  Node inputs:
  
  args = <undefined>
  default_value = 0.0
  dimension = 3
  environ = {'NSLOTS': '1'}
  float = False
  input_image = <undefined>
  input_image_type = 3
  interpolation = GenericLabel
  interpolation_parameters = <undefined>
  invert_transform_flags = <undefined>
  num_threads = 1
  out_postfix = _trans
  output_image = <undefined>
  print_out_composite_warp_file = <undefined>
  reference_image = <undefined>
  transforms = <undefined>

Traceback (most recent call last):
  File "/usr/local/miniconda/lib/python3.8/site-packages/nipype/pipeline/plugins/multiproc.py", line 292, in _send_procs_to_workers
    num_subnodes = self.procs[jobid].num_subnodes()
  File "/usr/local/miniconda/lib/python3.8/site-packages/nipype/pipeline/engine/nodes.py", line 1308, in num_subnodes
    self._get_inputs()
  File "/usr/local/miniconda/lib/python3.8/site-packages/nipype/pipeline/engine/nodes.py", line 1322, in _get_inputs
    super(MapNode, self)._get_inputs()
  File "/usr/local/miniconda/lib/python3.8/site-packages/nipype/pipeline/engine/nodes.py", line 619, in _get_inputs
    self.set_input(key, deepcopy(output_value))
  File "/usr/local/miniconda/lib/python3.8/site-packages/nipype/pipeline/engine/nodes.py", line 1157, in set_input
    self._set_mapnode_input(parameter, deepcopy(val))
  File "/usr/local/miniconda/lib/python3.8/site-packages/nipype/pipeline/engine/nodes.py", line 1164, in _set_mapnode_input
    setattr(self._inputs, name, newvalue)
  File "/usr/local/miniconda/lib/python3.8/site-packages/nipype/interfaces/base/traits_extension.py", line 424, in validate
    value = super(MultiObject, self).validate(objekt, name, newvalue)
  File "/usr/local/miniconda/lib/python3.8/site-packages/traits/trait_types.py", line 2699, in validate
    return TraitListObject(self, object, name, value)
  File "/usr/local/miniconda/lib/python3.8/site-packages/traits/trait_list_object.py", line 582, in __init__
    super().__init__(
  File "/usr/local/miniconda/lib/python3.8/site-packages/traits/trait_list_object.py", line 213, in __init__
    super().__init__(self.item_validator(item) for item in iterable)
  File "/usr/local/miniconda/lib/python3.8/site-packages/traits/trait_list_object.py", line 213, in <genexpr>
    super().__init__(self.item_validator(item) for item in iterable)
  File "/usr/local/miniconda/lib/python3.8/site-packages/traits/trait_list_object.py", line 865, in _item_validator
    return trait_validator(object, self.name, value)
  File "/usr/local/miniconda/lib/python3.8/site-packages/nipype/interfaces/base/traits_extension.py", line 330, in validate
    value = super(File, self).validate(objekt, name, value, return_pathlike=True)
  File "/usr/local/miniconda/lib/python3.8/site-packages/nipype/interfaces/base/traits_extension.py", line 135, in validate
    self.error(objekt, name, str(value))
  File "/usr/local/miniconda/lib/python3.8/site-packages/traits/base_trait_handler.py", line 74, in error
    raise TraitError(
traits.trait_errors.TraitError: Each element of the 'input_image' trait of a DynamicTraitedSpec instance must be a pathlike object or string representing an existing file, but a value of '/usr/local/miniconda/lib/python3.8/site-packages/aslprep/data/niftiatlas/Schaefer2018_100Parcels>

Error setting node input:
Node: warp_atlases_to_asl_space
input: input_image
results_file: /work/aslprep_wf/single_subject_M01_wf/asl_preproc_ses_2122begin_wf/parcellate_cbf_wf/atlas_file_grabber/result_atlas_file_grabber.pklz
value: ['/usr/local/miniconda/lib/python3.8/site-packages/aslprep/data/niftiatlas/Schaefer2018_100Parcels_17Networks_order_FSLMNI152_2mm.nii', '/usr/local/miniconda/lib/python3.8/site-packages/aslprep/data/niftiatlas/Schaefer2018_200Parcels_17Networks_order_FSLMNI152_2mm.nii', '/usr/>

Screenshots / relevant information: