How to get region from (x,y,z) coords

I have (x,y,z) coords in MNI space.
What is the best way to get the region of the point?
e.g. if my coords are (-22,-34,18), what is the respective region? (vmPFC, broca, etc)
Also, the same question given activation maps (as attached - generated using plot_stat_map and plot_prob_atlas) - how can I associate activation to actual regions?

You can use this tool: mni2atlas - File Exchange - MATLAB Central

@Steven Is there a Python equivalent?

Not sure, but it looks like there are some alternative solutions found here (I have not used any of these):

I haven’t explored this package
Worth to check if it serves your purpose.

Also, I have written some code while ago that finds labels given coordinates based on Harvard Oxford atlas.

Feel free to use the code.


@KamalakerD Thanks! When running your code, I get the error:
AttributeError: 'str' object has no attribute 'affine' in the line: affine = atlas_img.affine
I checked, and atlas_img is indeed a string:

Any idea what should be changed?

There is “whereami” functionality in AFNI: If your data is in the same space as a known atlas, you can click in the GUI to see where you are WRT that atlas; you can add that region to the overlay visualization; and you can use the commandline program “whereami”. You can get information from several atlases as once, and you also get distances to nearby regions (because alignment isn’t always perfect, and brain regions/definitions are probably not really “binarized” in reality).

See here in the AFNI Academy tutorials about that (and that playlist covers a lot of ROI/atlas/template considerations):

Here is the command line program help:


Also, please note that when referring to coordinates, you have to be careful about what the signs denote. For example, saying that a point of interest is at (-1, 2, -3) is not enough information: you need to also note what coordinate system you are using (e.g., RAI DICOM, or LPI, etc.), to denote both the ordering of coords and where positive is Right or Left, etc. BUUUUT even that isn’t good enough: you have to denote further what those letters mean, because they mean different things to different software/scanners/people. It is an underappreciated point of confusion (and difficulty for meta-analysis) within the field.

For example, to be complete you should say: “I want point (-1, 2, -3) in RAI coordinates, where right/anterior/inferior are negative.” Because some software might list “RAI” but mean that right/ant/inf are all relatively positive, relative to the coordinate origin. Sigh.