Fmriprep node error

Summary of what happened:

I am getting an error when running fmriprep. “Node Name: fmriprep_23_0_wf.single_subject_01_wf.syn_preprocessing_auto_00001.epi_reference_wf.validate_nii”

everything else seemed to run okay and the output looks accurate from the html file.

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

/opt/conda/bin/fmriprep /data /data//derivatives/fmriprep participant --participant-label 01 -w /work/ -vv --omp-nthreads 8 --nthreads 12 --mem_mb 30000 --output-spaces MNI152NLin2009cAsym:res-2 anat fsnative fsaverage5 --use-aroma --fs-subjects-dir /fsdir --bids-filter-file /data/filter-file_post.json

Version:

fmriprep 23.0.2

Environment (Docker, Singularity, custom installation):

singularity

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

BIDS validated

Relevant log outputs (up to 20 lines):

Errors

Node Name: fmriprep_23_0_wf.single_subject_01_wf.syn_preprocessing_auto_00001.epi_reference_wf.validate_nii

File: /data/derivatives/fmriprep/sub-01/log/20230523-203835_cf0aba38-5e2b-477c-92cd-70bb4461a679/crash-20230523-204005-tinney.e-validate_nii-0060c27e-1190-4770-9799-16eaa469988c.txt
Working Directory: /work/fmriprep_23_0_wf/single_subject_01_wf/syn_preprocessing_auto_00001/epi_reference_wf/validate_nii
Inputs:
in_file:
Traceback (most recent call last):
  File "/opt/conda/lib/python3.9/site-packages/nipype/pipeline/plugins/multiproc.py", line 292, in _send_procs_to_workers
    num_subnodes = self.procs[jobid].num_subnodes()
  File "/opt/conda/lib/python3.9/site-packages/nipype/pipeline/engine/nodes.py", line 1309, in num_subnodes
    self._check_iterfield()
  File "/opt/conda/lib/python3.9/site-packages/nipype/pipeline/engine/nodes.py", line 1332, in _check_iterfield
    raise ValueError(
ValueError: Input in_file was not set but it is listed in iterfields.


When creating this crashfile, the results file corresponding
to the node could not be found.
Node Name: fmriprep_23_0_wf.single_subject_01_wf.syn_preprocessing_auto_00002.epi_reference_wf.validate_nii
File: /data/derivatives/fmriprep/sub-01/log/20230523-203835_cf0aba38-5e2b-477c-92cd-70bb4461a679/crash-20230523-204005-tinney.e-validate_nii-27b4e1de-c601-420b-b675-bda872d3f259.txt
Working Directory: /work/fmriprep_23_0_wf/single_subject_01_wf/syn_preprocessing_auto_00002/epi_reference_wf/validate_nii
Inputs:
in_file:
Traceback (most recent call last):
  File "/opt/conda/lib/python3.9/site-packages/nipype/pipeline/plugins/multiproc.py", line 292, in _send_procs_to_workers
    num_subnodes = self.procs[jobid].num_subnodes()
  File "/opt/conda/lib/python3.9/site-packages/nipype/pipeline/engine/nodes.py", line 1309, in num_subnodes
    self._check_iterfield()
  File "/opt/conda/lib/python3.9/site-packages/nipype/pipeline/engine/nodes.py", line 1332, in _check_iterfield
    raise ValueError(
ValueError: Input in_file was not set but it is listed in iterfields.

When creating this crashfile, the results file corresponding
to the node could not be found.

Screenshots / relevant information:

Hi @ET_123456,

It seems strange that this is running when there are no syn-sdc arguments in your command. Are you reusing a work directory from a previous run where you used SYN preprocessing?

You say you use singularity, but this suggests you used the Anaconda installation. Or was this just the command used by a Singularity fmriprep-wrapper?

Best,
Steven

Hi @Steven
No, i am not reusing a work directory. I used a completely fresh working directory. And yes, this was just the command used by the singularity fmriprep wrapper. it looks like all the output is correct and the rest of the html file looks okay, so i dont know why I am getting this error.

Thanks!

Just wondering if anyone has a solution for this. Thanks!

What are the contents of filter-file-post.json? And what are the contents of your BIDS directory?

Hi @effigies

my filter-file-post.json

{
    "t1w": {
        "datatype": "anat",
        "session": "2",
        "acquisition": null,
        "suffix": "T1w"
    },
    "bold": {
        "datatype": "func",
        "session": "2",
        "suffix": "bold"
    },
     "fmap": {
        "datatype": "fmap",
        "session": "2",
        "suffix": "fmap"
    }
}

attached are screenshots of my BIDS dir.




Here’s a problem, fmap is not a valid suffix for fieldmap files. Your files have the epi suffix (which is valid), so try changing this line to "suffix": "epi".

Best,
Steven

Yes, @Steven’s seen the only thing I can see, as well. Just a note that, since all of your fieldmaps have suffix epi, you could remove that filter object altogether. You also don’t have acq- entities with your T1w images, so that’s not doing anything for you, unless you expect to have acq- entities that you want to ignore in other cases.

Hi both, @Steven @effigies

I appreciate your help. unfortunately I am still getting these same two error message. are there any other solutions that I could try to get this working? Is this error even causing an issue in my output? It seems like everything is being made and looks ok according to the html file.

hi,

i am wondering if anyone has a solution or comment about these errors, or if we are at a dead end. Thank you again.

This looks the same as `validate_nii` node failing when using SYN SDC · Issue #3046 · nipreps/fmriprep · GitHub. I hope to debug this the week after next.

Hi, are there any updates on this error? its causing a failure to produce files such as
sub-01_ses-2_task-rest_bold.nii_events.tsv, hence not allowing me to import this into CONN.

thank you for your help.

Hi, yes. This is fixed in source. I need to make a release, but can’t promise it before the start of August, as I’m currently at a conference. (It might still happen…)

Hi, any update on if this update is released? thanks!

Hi @ET_123456,

23.1.4 is released, give it a shot! For future reference, you can always look at development on the GitHub repo and see the currently available containers on Dockerhub.

Best,
Steven

1 Like