I wonder why it is not possible to specify a custom output voxel size in fMRIPrep. My subjects have slightly different resolutions across sessions. I need to resample all native-space BOLD images to 3x3x3, but this does not seem to be possible without running a separate resampling script after fMRIPrep.
Is this because of fMRIPrep’s ‘minimal preprocessing’ philosophy?
From an implementation perspective, supporting different native-space resolutions would probably take a bit of work. The way output spaces are defined isn’t really compatible with arbitrary resolutions. The res-<label>
part of an output space (for example, MNI152NLin6Asym:res-01:res-02
references a resolution entity in the template, rather than the actual resolution of the template in millimeters. For example, in templateflow templates (at least MNI152NLin6Asym), res-01 is 1x1x1 mm and res-02 is 2x2x2 mm, but res-03 is 0.5x0.5x0.5 mm, not 3x3x3 mm.
With the non-standard output spaces, including the native boldref space, there is no preexisting mapping from resolution label to actual resolution, so fMRIPrep would have to parse the non-standard-space output-space definitions in a different way from standard-space definitions, which could be confusing for users.
The fMRIPrep team may have other reasons for not supporting this feature, but that’s what comes to mind for me.