ASLPrep error: All entries are zero!

Summary of what happened:

I’m running ASLPrep on a few subjects with many sessions each. One subject keeps crashing with errors due to some files missing from the working directory. I have previously ran this subject before and ASLPrep ran successfully but I’m running it now with new sessions added. Separately, this dataset has previously been BIDS validated but I recently started getting an internal error (see here: Internal Error from BIDS Validator) so I ran ASLPrep with the --skip_bids_validation flag for this subject. The crash file from this run is quite long so I’ve only attached the end of it but I’m happy to provide more information from it if it’s helpful. It looks like ASLPrep may have crashed during a template-merge step using T2w images - is it possible to skip processing the T2w images if that is the issue? We collect two at each session, one whole-brain T2 and a high-res image of the medial temporal lobe that has different dimensions, and I haven’t had issues with these files in other subjects.

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

singularity run -B /zwork/hannah/mbp/data:/bids-root 
-B /zwork/hannah/mbp/data/derivatives/aslprep:/output 
-B /zwork/hannah/mbp/workdir:/workdir 
-B /sw/freesurfer/license.txt:/license  
/zwork/hannah/mbp/data/code/aslprep/aslprep-0.7.2.simg 
/bids-root 
/output 
participant 
--participant_label sub-2004B 
-w /workdir 
--fs-license-file /license 
--longitudinal 
--scorescrub 
--basil 
--skip_bids_validation

Version:

0.7.2

Environment (Docker, Singularity / Apptainer, custom installation):

Singularity container on a shared computing cluster

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

bids-validator@1.14.6
(node:1618782) Warning: Closing directory handle on garbage collection
(Use `node --trace-warnings ...` to show where the warning was created)
	1: [ERR] Internal error. SOME VALIDATION STEPS MAY NOT HAVE OCCURRED (code: 0 - INTERNAL ERROR)
		Evidence: TypeError: Cannot read properties of undefined (reading 'split')
    at splitDateString (/usr/local/lib/node_modules/bids-validator/dist/commonjs/cli.js:100086:29)
    at parseISO (/usr/local/lib/node_modules/bids-validator/dist/commonjs/cli.js:100035:23)
    at /usr/local/lib/node_modules/bids-validator/dist/commonjs/cli.js:100228:28
    at Array.map (<anonymous>)
    at checkAcqTimeFormat (/usr/local/lib/node_modules/bids-validator/dist/commonjs/cli.js:100225:12)
    at TSV (/usr/local/lib/node_modules/bids-validator/dist/commonjs/cli.js:100933:7)
    at /usr/local/lib/node_modules/bids-validator/dist/commonjs/cli.js:101382:9

	Please visit https://neurostars.org/search?q=INTERNAL ERROR for existing conversations about this issue.

        Summary:                   Available Tasks:        Available Modalities: 
        2217 Files, 125.4GB                                MRI                   
        17 - Subjects                                                            
        27 - Sessions                                                            


	If you have any questions, please post on https://neurostars.org/tags/bids.

Relevant log outputs (up to 20 lines):

         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 <init.lta> 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 "/opt/conda/envs/aslprep/lib/python3.11/site-packages/nipype/interfaces/base/core.py", line 453, in aggregate_outputs
            setattr(outputs, key, val)
          File "/opt/conda/envs/aslprep/lib/python3.11/site-packages/nipype/interfaces/base/traits_extension.py", line 424, in validate
            value = super(MultiObject, self).validate(objekt, name, newvalue)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          File "/opt/conda/envs/aslprep/lib/python3.11/site-packages/traits/trait_types.py", line 2699, in validate
            return TraitListObject(self, object, name, value)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          File "/opt/conda/envs/aslprep/lib/python3.11/site-packages/traits/trait_list_object.py", line 582, in __init__
            super().__init__(
          File "/opt/conda/envs/aslprep/lib/python3.11/site-packages/traits/trait_list_object.py", line 213, in __init__
            super().__init__(self.item_validator(item) for item in iterable)
          File "/opt/conda/envs/aslprep/lib/python3.11/site-packages/traits/trait_list_object.py", line 213, in <genexpr>
            super().__init__(self.item_validator(item) for item in iterable)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^
          File "/opt/conda/envs/aslprep/lib/python3.11/site-packages/traits/trait_list_object.py", line 865, in _item_validator
            return trait_validator(object, self.name, value)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          File "/opt/conda/envs/aslprep/lib/python3.11/site-packages/nipype/interfaces/base/traits_extension.py", line 330, in validate
            value = super(File, self).validate(objekt, name, value, return_pathlike=True)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          File "/opt/conda/envs/aslprep/lib/python3.11/site-packages/nipype/interfaces/base/traits_extension.py", line 135, in validate
            self.error(objekt, name, str(value))
          File "/opt/conda/envs/aslprep/lib/python3.11/site-packages/traits/base_trait_handler.py", line 74, in error
            raise TraitError(
        traits.trait_errors.TraitError: Each element of the 'transform_outputs' trait of a RobustTemplateOutputSpec instance must be a pathlike object or string representing an existing file, but a value of '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp01.lta' <class 'str'> was specified.

        During handling of the above exception, another exception occurred:

        Traceback (most recent call last):
          File "/opt/conda/envs/aslprep/lib/python3.11/site-packages/nipype/interfaces/base/core.py", line 400, in run
            outputs = self.aggregate_outputs(runtime)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          File "/opt/conda/envs/aslprep/lib/python3.11/site-packages/nipype/interfaces/base/core.py", line 460, in aggregate_outputs
            raise FileNotFoundError(msg)
        FileNotFoundError: No such file or directory '['/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp01.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp02.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp03.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp04.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp05.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp06.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp07.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp08.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp09.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp10.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp11.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp12.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp13.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp14.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp15.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp16.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp17.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp18.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp19.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp20.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp21.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp22.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp23.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp24.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp25.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp26.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp27.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp28.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp29.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp30.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp31.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp32.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp33.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp34.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp35.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp36.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp37.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp38.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp39.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp40.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp41.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp42.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp43.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp44.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp45.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp46.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp47.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp48.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp49.lta', '/workdir/aslprep_0_7_wf/sub_2004B_wf/anat_fit_wf/t2w_template_wf/anat_merge/tp50.lta']' for output 'transform_outputs' of a StructuralReference interface


241003-01:23:59,915 cli ERROR:
         Preprocessing did not finish successfully. Errors occurred while processing data from participants: 2004B (1). Check the HTML reports for details.

Screenshots / relevant information:


You can use --bids-filter-file to filter the T2w scans. For example:

{
    "t2w": {"acquisition": "skip"}
}

As long as there are no T2w scans with acq-skip in the filename then ASLPrep should just not find any T2ws.

I’m not sure what’s going on with the failure unfortunately. If you can share the full stdout and stderr files from the failing run that might help.

Thanks Taylor, that worked! My guess is that it was trying to align the high-res medial temporal lobe scans with the rest of the data

1 Like