Preprocessed bold images in cvs_avg35_inMNI152

Hi all,

In fmriprep, we can select the output spaces using the “–output-spaces” option. Although we can select the standard surface spaces such as fsaverage5, we cannot select cvs_avg35_inMNI152 space directly using this option ( ).

When we want to get the preprocessed bold images in cvs_avg35_inMNI152, how can we get them?



Hi Yuki,

I’m not super familiar with the cvs_avg35_inMNI152 “space,” so I don’t know what the use is. Knowing the use would be helpful for me. Hopefully, someone can answer better than me, but maybe I can help get you started!

The naming makes it sound like the cvs_avg35 is already in MNI152 space. You could use --output-spaces and choose the MNI152 space that matches if you know which it is (there are linear and nonlinear options from 6th generation version and the 2009 version). You can look here to see the options:

If the “MNI152” space in freesurfer isn’t the same as any of those options, you will have to apply some transformation to get your BOLD images into the correct space. There are different software available that do registration well (e.g. FSL’s flirt tool or ANTS). I would probably find the transformation between the MNI152NLin2009Asym brain (the default in fmriprep) and the cvs_avg35_inMNI152 brain. Then I would let fmriprep do all the work of getting the BOLD images to MNI152NLin2009Asym, since it does a good job at doing that. Then register the BOLD_in_MNI152NLin2009Asym image to the cvs_avg35_inMNI152 image by applying the transformation you found to convert the MNI152NLin2009Asym brain to cvs_avg35_inMNI152 brain.

I use FSL more than ANTS. If you use FSL, you’ll need to convert the .mgz image to .nii format. Then using FSL flirt, the commands would be something like:

flirt -in -ref <cvs_avg35_inMNI152> -out <MNI152_in_cvs_avg35inMNI152> -omat <MNI152_in_cvs_avg35inMNI152.mat>

flirt -in <BOLD_in_MNI152_from_fmriprep> -ref <cvs_avg35_inMNI152> -applyxfm -init <MNI152_in_cvs_avg35inMNI152.mat> -out <the_image_you_want>

Hi Benjamin,

Thank you very much for your response and sorry for my unclear question.

In my understanding, cvs_avg35_inMNI152 (20,000 vertices) is one of the standard surface spaces and has a different number of vertices compared with fsaverage5 (20,484 vertices) and fsaverage4 (5,124 vertices).

In volumetric data, I understand some transformations using FSL or ANTs will work as you suggested. However, I’m not sure how we can transform between different surfaces with different granularity since I’m not familiar with the surface space analysis.

I would appreciate it very much if you could advise me on anything.



Hi @yuki1209,

For fMRIPrep to recognize a new standard space and use it as a target, there are two options here:

  • as @Benjamin_Zimmerman suggested, if this is a volumetric template then we would need to add it to templateflow (see, which is an archive of templates from which fMRIPrep can automatically pull information.
  • however, this is a bit special case because these are alternative output spaces that are already implemented in FreeSurfer. If someone (or some FS documentation out there) could guide you to find the mapping between fsnative (or one fsaverage scale) and your cvs_avg35_inMNI152, then you could post-process fMRIPrep outputs.

Either way, fMRIPrep is open to contributions and expanding the output spaces to cover these FS variants would be a great addition - would you like to try?

Hi @oesteban
Thank you for your kind suggestion.
I searched on the Internet and could not find any precise information on transforming between fsnative (or one fsaverage scale) and cvs_avg35_inMNI152.
If anyone has any information on this, it would be much appreciated.