Skip to content

fMRIPrep next preliminary results #3162

@effigies

Description

@effigies

I have run two datasets for testing using fMRIPrep 23.1.4 and 23.2.0a2. Just opening up an issue for discussion.

Run commands

Name Command
Old time fmriprep-docker -i nipreps/fmriprep:23.1.4 sourcedata/raw . participant -w $SCRATCH --cifti-output --output-spaces MNI152NLin2009cAsym
Minimal time fmriprep-docker -i nipreps/fmriprep:23.2.0a2 sourcedata/raw . participant -w $SCRATCH --cifti-output --output-spaces MNI152NLin2009cAsym --level minimal
Full time fmriprep-docker -i nipreps/fmriprep:23.2.0a2 sourcedata/raw . participant -w $SCRATCH --cifti-output --output-spaces MNI152NLin2009cAsym --level full

Timing and storage results

Dataset Run Runtime Scratch Size Scratch Files Output Size Output files
A Old 2h24m 54.8GB 36.8K 2.30GB 176
A Minimal 1h35m 2.91GB 5.89K 602MB 128
A Full 1h47m 19.8GB 10.0K 6.37GB 206
B Old 4h25m 121GB 157K 5.10GB 286
B Minimal 1h29m 1.88GB 12.0K 543MB 206
B Full 2h7m 56.5GB 19.8K 14.7GB 348

Notes

An interesting result is the dramatic reduction in scratch size (>50%) between the old and full runs. I would attribute this primarily to the single-shot resampling eliminating the need for splitting, applying and merging.

A surprising result is the increase in the output size. One component was #3159. The other is that the outputs are now saved in float32 instead of the original (int16, in these cases) dtypes.

The runtime reduction is most likely attributable to the elimination of the per-volume fieldmap resampling that was previously implemented in sdcflows. However, I do not have a profile to confirm this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions