Availability of the Harvard-Oxford atlas in MNI152NLin2009cAsym template


I’m having a similar issue where I’ve preprocessed my data in fmriprep using the MNI152NLin2009cAsym template, and an now performing an ROI analysis, using the Harvard-Oxford atlas from FSL (which is mapped to FSL’s MNI152 template).

From the templateflow’s github page, I see this template option, https://github.com/templateflow/tpl-MNI152NLin6Sym, which correct me if I’m wrong, looks very similar to FSL’s MNI152 template.

With that being said, I have a few quick questions:
1). Can fmriprep (1.3.0 or higher) accept a different template, such as the MNI152NLin6Sym?
2). If not, is there a way to align the Harvard-Oxford atlas ROIs to the fmriprep output? When I’ve taken the output to FSL, I’ve followed this strategy for avoiding FSL’s registration step, since it’s already been performed in fmriprep. Thinking over my issue, my thought has been to allow FSL’s registration to the MNI152 template, but this seems like an unnecessary interpolation step.

Thank you for any assistance.

Parcellation for MNI152NLin2009cAsym?

As you will see in this conversation, that one looks very similar to FSL’s MNI152 but it is not quite the same thing.

We would like to include that template into TemplateFlow ASAP. We would be extremely happy to accept help in the task (that is the bottleneck at this point in time).

We’ve been taking steps towards making this possible, but it is not yet there. Creating TemplateFlow (a way to dynamically pull from a pool of templates that can be selected under a controlled vocabulary of identifiers) we solved a big portion of the problem. However, the latest releases (1.3.0 and higher) have mostly addressed issues derived from TemplateFlow’s integration. It seems that 1.3.2 is giving positive signals as to whether TemplateFlow’s integration has reached acceptable reliability and now we can move on and make use of TemplateFlow’s features.

In sum, the answer to this question is not yet.

If you could allow some time for us to provide with a good solution to this (i.e. generating the Harvard-Oxford segmentation on fMRIPrep’s MNI flavor) I could commit to having this included within TemplateFlow in one week.

If you can’t wait that long, then it depends on the inaccuracy in registration you’d be willing to accept. If you don’t need submm accuracy, then just resampling the HO atlas with an identity interface would work. Otherwise, you’ll need a solution where you run some registration protocol between MNI152NLin2009c and FSL152NLin2006Asym (which is what I’ll run to provide the first solution to this question).

Finally, the best solution is to wait for fMRIPrep to leverage TemplateFlow and allow you to set FSL152NLin2006Asym as target template. That will probably take the longest time.


Thanks @oesteban for your reply. This isn’t an urgent time crunch for me, so waiting a week or so for the Harvard Oxford segmentation on fmriprep’s template isn’t a problem.

Also, for users who are interested in potentially helping with the development of new features/enhancements, what steps need to be taken to do that?


A Harvard-Oxford segmentation on fMRIPrep’s MNI flavor would be great! I could not find it yet on the TemplateFlow hompage - is it already uploaded?


Not yet. Adding the Harvard-Oxford atlas in MNI152NLin2009cAsym would be the final straw of ongoing work. For now, I’ll try to get it uploaded in its original MNI152NLin6Asym space ASAP. This way, at least you should be able to use it via the --template MNI152NLin6Asym flag.

1 Like

Hey @oesteban, I’m also super interested in a Harvard-Oxford Atlas in MNI 2009c space and look forward to it.

My PI is bugging me to get some preliminary ROI analyses done though, so I was wondering if you could clarify a little bit on how to do this:

If you don’t need submm accuracy, then just resampling the HO atlas with an identity interface would work.


  1. Which software should I use? I was thinking about nilearn’s resample_to_img function:

nilearn.image. resample_to_img ( source_img , target_img , interpolation=‘continuous’ , copy=True , order=‘F’ , clip=False , fill_value=0 )

  1. How do I specify the transformation? E.g., in the function above, I’m assuming that source_img would be something like HarvardOxford-cort-maxprob-thr0-1mm.nii, but what would be the “identity interface”? Do you mean to specify a brain mask in 2009c space as the target here?

Thank you so much for clarifying! :slight_smile:


Hi all,

Sorry for the slow response. We have finally managed to map the Harvard-Oxford parcellation into MNI152NLin2009cAsym. We’ve made them available via TemplateFlow:

>>> from templateflow.api import get
>>> [f.name for f in get('MNI152NLin2009cAsym', resolution=2, atlas="HO.*")]                                                             

The atlas namings correspond to the original FSL’s acronyms for them (HOCPA=Harvard-Oxford Cortical Probabilistic Atlas; HOCPAL=Harvard-Oxford Cortical Probabilistic Atlas Lateralized; HOSPA=Harvard-Oxford Subcortical Probabilistic Atlas)

There are two more bonuses: 1) an ITK transform to map information from MNI152NLin6Asym space onto MNI152NLin2009cAsym; 2) The Schaefer2018 atlas.

1 Like

Hey Oscar, I’m using that code verbatim, and I end up with an empty list. Initially I tried to retrieve the Schaefer atlas in 2009cAsym space, but that didn’t work. So I copy+pasted your code and that didn’t seem to work either.



Thanks for the heads up and your patience, I’ve just checked and you are right. I’ll cut a new release of the client fixing this today.


Okay, this should be fixed.

Please run:

$ rm -r ${TEMPLATEFLOW_HOME:-$HOME/.cache/templateflow}
$ pip install -U templateflow

And then, try the code above again. It should give you the list of files stated above.


Doesn’t seem to be working. I still get an empty list. I have templateflow version 0.1.9.


Did you remove the old TemplateFlow?
Are you sure you are indeed using the latest templateflow version?
Perhaps a problem with environments - can you update with the following command?

python -m pip install -U templateflow

I’ve checked in two platforms and it seems to work for me.


That didn’t seem to work either, but I found a solution. In case others encounter this issue: I’m working in a virtual environment, so I closed my code editor (Atom using the Hydrogen plugin) and my virtualenv and rebooted them both. Now it works fine!

Thanks so much for your help!