moving from MNI to Haskins space


I have been analyzing various resting state fMRI datasets using Freesurfer and AFNI. Specifically, my pipeline includes Freesurfer recon-all, then SUMA, then SSWarper, and then Afterwards, the preprocessed data are parcellated using the Schaefer-Yeo atlases (which are provided in MNI space).

One of the datasets I am working on was collected in youth aged 9-15 so I was thinking that it might be preferable to use the Haskins pediatric atlas as a base image during the SSWarper and stages, but I don't think I would then be able to parcellate the preprocessed rsfMRI data using the Schaefer-Yeo atlas unless I am able to get this atlas into Haskins space.

Is this possible? And more importantly, is it worth doing? By using the Haskins atlas during preprocessing, I was hoping to avoid additional deformations during the processing stages (as mentioned in Different age groups in sample - #2 by pmolfese) but changing the space of the Schaefer-Yeo atlas may lead to the same issues via a different route.

I understand that there may not be a perfect way to handle this, but would you think it is possible/advisable to try to put the Schaefer-Yeo atlases into Haskins space, or does it make more sense just to process this dataset in MNI space?

Thank you for any advice you can offer,


You can accomplish what you want to do a few different ways, but I think we're mixing up a few topics, and your goals are not completely clear to me. First, Haskins Pediatric atlas and template are available volumetric datasets. Freesurfer provides parcellation, but its main job is to give surfaces for a surface analysis. You may want to decide on a surface or a volumetric analysis.

  1. Volumetric analysis - Haskins, MNI hybrid. The Haskins template can be volumetrically warped to an MNI space (MNI 2009c, for instance) where we have Schaefer-Yeo atlases. Alignment of each subject to the Haskins template and then the single common transformation to the MNI 2009c space will preserve the improved correspondence of the pediatric template from that first step.

  2. Volumetric analysis - Haskins (MNI version of Schaefer-Yeo). Alternatively, inverting the same transformation can move the Schaefer-Yeo atlases to the Haskins space. The Schaefer-Yeo atlases are blobby, similar sized regions, that won't suffer too much from interpolation among spaces.

  3. Surface analysis - native space. The Schaefer-Yeo atlas is principally defined on the surface, with only cortical region definitions. In AFNI, the standard meshes created by @SUMA_MakeSpecFS allows each subject to share nodal correspondence. That includes the surface atlas definitions for Schaefer-Yeo atlases.

  4. Surface atlas -> Volumetric analysis - Haskins space. Because of the same nodal correspondence in 3 above, atlases defined on a surface may be projected back into any volume that has a standard mesh defined surface. That can include the Haskins pediatrics template, although I'm not sure if we have done that yet, which is only running Freesurfer on the pediatric template dataset followed by @SUMA_MakeSpecFS.

Whichever way you choose, check that regions look sensible for your analysis.

1 Like


Thanks for the comprehensive reply, and apologies for being unclear. I have been doing a volumetric analysis using the Schaefer_17N_1000 atlas provided as part of afni_sydist_atlas_v1.0.

Based on your reply, I think that I the best option for me would be number 1: to transform the Haskins single subject data in Haskins space to MNI2009c space. I think this would provide the best correspondence with the other adult fMRI datasets that I have processed.

What command would you recommend to transform the Haskins-aligned subject data to MNI space?

Thank you very much for your help with this.

sswarper2 (or @SSwarper) can be used with the Haskins template as the source input dataset and the MNI 2009c asymmetric template as the base space. You can apply the computed affine transformation with 3dNwarpApply. To reduce interpolation to a single step, either concatenate the transformations with 3dNwarpCat or apply all 4 transformations together in the 3dNwarpApply warp string.

Ah that's a clever way to do it. Thank you so much for your assistance in figuring this out, I really appreciate it!