Output-space "fsaverage" error

Hello Experts,
I am trying use “fsaverage” as a template instead of fsaverage5 ( the default one) but got an error message ( below). Did i made any mistake on following command line function that i ran ?

fmriprep-docker --fs-license-file /usr/local/pkg/freesurfer6.0/.license /data/in /data/out participant --participant_label 110 --mem-mb 32000 --cifti-output --output-space T1w template fsaverage

Thanks
BL

Error on terminal:
traits.trait_errors.TraitError: Each element of the ‘surface_target’ trait of a DynamicTraitedSpec instance must be ‘fsaverage5’ or ‘fsaverage6’, but a value of ‘fsaverage’ <class ‘str’> was specified.
Error setting node input:
Node: gen_cifti
input: surface_target
results_file: /root/src/fmriprep/work/fmriprep_wf/single_subject_110_wf/func_preproc_ses_01_task_ABC_acq_PA_run_04_wf/bold_surf_wf/targets/result_targets.pklz
value: [‘fsaverage’]

We don’t currently support fsaverage and CIFTI, as the output files would be very large.

It would not be a very difficult addition, if it’s important.

1 Like

I got a similar error, and I’m assuming it has to do with using fsnative as an output space? Is that not kosher (it’s in the docs here). Honestly I was just trying to play it safe by generating many output spaces as I may ppc these subjects in a handful of different ways down the line, and wanted it in subject space.

traits.trait_errors.TraitError: Each element of the 'surface_target' trait of a DynamicTraitedSpec instance must be 'fsaverage5' or 'fsaverage6', but a value of 'sub-NDARINVW4JM1V5R' <class 'str'> was specified.
Error setting node input:
Node: gen_cifti
input: surface_target
results_file: /tmp/4198892.1.all.q/fmriprep_wf/single_subject_NDARINVW4JM1V5R_wf/func_preproc_task_rest_run_04_wf/bold_surf_wf/targets/result_targets.pklz
value: ['sub-NDARINVW4JM1V5R', 'fsaverage5']

This also seems to maybe be killing my jobs early before they can write outputs? I’m not sure, but one of the subjects who should be finished processing, as their log files end with the below lines, has a subject directory that contains only an empty figures folder.

Preprocessing did not finish successfully. Errors occurred while processing data from participants: NDARINVW4JM1V5R (4). Check the HTML reports for details.
Sentry is attempting to send 4 pending error messages
Waiting up to 2.0 seconds
Press Ctrl-C to quit
Captured warning (<class 'ResourceWarning'>): unclosed <socket.socket fd=7, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6, laddr=('10.1.255.238', 52004), raddr=('35.188.42.15', 443)>

The above one should have been fixed very recently with version 1.3.0, released last Thursday. Please let us know if that is true for your case.

The second post is just a message that gets appended so we can track the errors you are getting. That is still a bit noisy and some successful runs may show that message nonetheless. If you don’t find any other signal of error on your logs then it is highly likely everything went well.

In summary, if you see that coda to your log, please make sure you report the real error that should be somewhere in the logs. If you are getting a lot of false positives with this Sentry message, you can disable the tracking using the --notrack, although that will block us to identify problems early (and it may make me a bit sad as well :frowning: )

Fantastic, thanks so much, @oesteban! I’m just coming back to preprocessing now, and I will give the 1.3.0 update a shot. Will come back to this thread if I run into any issues (but I don’t anticipate that :grinning:).

Thanks also for the info about the Sentry error! Whenever something (i.e. the cifti output, etc.) doesn’t work, I had that number of error messages as a coda, so I did find it helpful as a double-check of the number of errors reported, actually. The ResourceWarnings about “unclosed sockets” occur a fair amount but I’d decided after looking it up once that I didn’t need to worry about them.

1 Like