Incomplete fmriprep html output in case with no errors

Summary of what happened:

I successfully ran fmriprep using version 22.0.0rc1, and I get a message that there were no errors in the html file, but I don’t see the images that I usually see with a successful run (image montages, compcor plots, carpet plots, and others. Is there a way to regenerate the correct html file from the command line?

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

This was generated from an fmriprep-docker call, but the command translates as:
/opt/conda/bin/fmriprep /data /out participant --ignore=slicetiming --stop-on-first-crash --n_cpus=4 --omp-nthreads=4 --notrack --low-mem --dummy-scans=8 -vvv -w /scratch

Version:

v. 22.0.0rc1

Environment (Docker, Singularity, custom installation):

docker

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

I get error messages like:

./ses-BAS1/func/sub-A00060005_ses-BAS1_task-rest_acq-1400_bold.nii.gz
                        Session label in the filename doesn't match with the path of the file. File seems to be saved in incorrect session directory.
                        Evidence: File: /ses-BAS1/func/sub-A00060005_ses-BAS1_task-rest_acq-1400_bold.nii.gz is saved in incorrect session directory as per ses-id in filename.

and:

 ./ses-BAS1/func/sub-A00060005_ses-BAS1_task-rest_acq-1400_bold.nii.gz
                        Subject label in the filename doesn't match with the path of the file. File seems to be saved in incorrect subject directory.
                        Evidence: File: /ses-BAS1/func/sub-A00060005_ses-BAS1_task-rest_acq-1400_bold.nii.gz is saved in incorrect subject directory as per sub-id in filename.

However, I get these errors in other directories where the html file looks fine.

Relevant log outputs (up to 20 lines):

Screenshots / relevant information:

Hi,

Does this behavior persist with version 22.1.0 (most recent at this time)?

Best,
Steven

Please provide the actual fmriprep-docker command and the the RUNNING: line from fmriprep-docker.

It appears you have an invalid dataset. The first thing to do is to resolve validation errors. We will only consider it an fMRIPrep bug if it occurs on valid datasets.

Hi. Thanks for your response!
I haven’t tried that version because all the other cases, the vast majority of which have worked, used the version I named. I don’t want to switch to a new version, and I’m not how to install another version alongside it

Do you have any suggestions to deal with that?

You can install another version by upgrading the fmriprep-docker package in Pip, e.g., python -m pip install --user --upgrade fmriprep-docker. You should start by addressing the BIDS validation errors as suggested in the other answer.

Ok, that worked all the way through, including the BIDS validation (within fmriprep). However, I now have the problem that the rest of the dataset is processed with 22.0.0rc1. Is there a way to “upgrade” the prior analyses? I did not update my freesurfer processing in this run, I merely took what I had, deleted the html file, and reran the fmriprep-docker call with 22.1.0 as you suggested.

Thanks!

Glad to hear it’s working now! Now you can rerun fmriprep for the whole dataset. When you do, you should use a new working directory. but you should be able to keep the Freesurfer outputs you have from your 22.0.0rc1 run, which will cut down the run time. You also might want to rename the preexisting output directory, for organizational purposes, making sure that each output directory only has derivatives from one fMRIprep version.

Thanks. So to confirm, I’ll create a new output directory and move the pre-existing freesurfer outputs into that directory. Then when I rerun the fmriprep command, this will fill the output directory with the new outputs.

PS. My assumption is that in remaining cases, freesurfer output will be the same for the new version as for the old version (given that the same freesurfer version is being used.

FreeSurfer outputs should have been created in a directory outside of fMRIPrep outputs (usually either in $BIDS_ROOT/sourcedata/freesurfer or $BIDS_ROOT/derivatives/freesurfer depending on the output layout specified in the fmriprep command). These should not be moved as fMRIprep will look for them in the same place they were created to decide whether outputs can be reused.

Yes, beginning in 22.0.0, freesurfer was upgraded to 7.2, and this is still the current version, so it should be safe to reuse the previously computed freesurfer outputs.

Great!! Again thanks a lot!

1 Like