Find anatomical location of a list of MNI coordinates

31 sec read

Quite often you need to know what is the brain structure (anatomical name) of a given coordinate, say (-8, 2, 6)? Is there a program for this? The answer is yes.

Please download the following matlab script:


This program requires the anatomical database file (TDdatabase.mat), which is free for downloading at Please note TDdatabase.mat is included in the xjview package.

Remember to add both files to matlab path.

How to use it?

Here is one example to find the structure of two points 20 6 10 and 30 9 12:

[oneline, cellarray]=cuixuFindStructure([20 6 10; 30 9 12]);

You will find

>> oneline{1}

ans =

 // Right Cerebrum // Sub-lobar // Lentiform Nucleus // Gray Matter // Putamen // undefined

>> oneline{2}

ans =

 // Right Cerebrum // Sub-lobar // Extra-Nuclear // White Matter // undefined // undefined
>> cellarray

cellarray = 

  Columns 1 through 5

    'Right Cerebrum'    'Sub-lobar'    'Lentiform Nucleus'    'Gray Matter'     'Putamen'
    'Right Cerebrum'    'Sub-lobar'    'Extra-Nuclear'        'White Matter'    'undefined'

  Column 6


第三十期 fNIRS Journal Club 通知 2022/05/28,10am

三个臭皮匠顶个诸葛亮背后的机理是什么?浙江大学潘亚峰研究员将为大家讲解他们最近发布的一篇用三人超扫描研究合作学习的文章。热烈欢迎大家参与讨论。 时间: 北京时间2022年5月28日周六上午10点地点: https://zoom.com房间号: 869 5374 8016 密码: 383720 Pan, Cheng, Hu (2022) Three heads are better than one: cooperative learning brains wire together...
Xu Cui
6 sec read

第二十九期 fNIRS Journal Club 视频

光子在大脑中是如何散射的?如何用计算机模拟的方法了解fNIRS的测量基础?来自波士顿大学的程小峻博士为大家分享他们近期在 J Biomed Opt 发表的文章。 Youtube: Youku: 相关资源: 文献鸟(追踪科学文献)文献大分析(两分钟了解一个领域)
Xu Cui
5 sec read

第二十九期 fNIRS Journal Club 通知 2022/4/30,10:00am

光子在大脑中是如何散射的?如何用计算机模拟的方法了解fNIRS的测量基础?来自波士顿大学的程小峻博士将为大家分享他们近期在 J Biomed Opt 发表的文章。 热烈欢迎大家参与讨论。 时间: 北京时间2022年4月30日上午10:00地点: https://zoom.com房间号: 868 4070 8135密码: 655816 程小峻要讲解的文章如下: Cheng, Chen, Sie, Marsili, Boas (2022) Development of a Monte...
Xu Cui
9 sec read

20 Replies to “Find anatomical location of a list of MNI coordinates”

  1. Hi! I love this function. I have a naive question: For specifying the optional DB, what are ALL the allowable strings one can include? E.g., if I want to just find AAL’s label for a set of coordinates.

  2. Hi,
    your code/xjview is very helpful, thanks!

    I have one question; For Coordinate (-53 -10 24) I recieve this string of names: ‘Left Cerebrum’ ‘Frontal Lobe’ ‘Precentral Gyrus’ ‘White Matter’ ‘undefined’ ‘Postcentral_L (aal)’

    I was wondering, why I am given different assignments to one Coordinate. What I mean; do I have to assign my Coordinate now to Precentral Gyrus or the Postcentral Gyrus? Maybe I oversee something obvious, but right now I am am very confused by this. Do the first 5 Label and the last label represent different brain atli?

    I am loocking forward to your answer

  3. @Isabelle
    There are multiple anatomical databases out there and sometimes their reports are inconsistent. The information xjview gives you is only a guidance, and you should consider other factors such as cluster extent etc.

  4. Hi,

    thanks alot for sharing this code. I was wondering whether there is a “find nearest gray matter” tool available? (like in the talairach tool, e.g. perform a search within a 5mm radius).

    I was thinking about implementing it, but since it seems to be some work involved I’d rather ask first if that code exists already 🙂

    Best wishes

  5. @Matti
    Matti, I don’t have a script like this. If you do implement it and are willing to share it, please feel free to let me know.

  6. Dear Xu,

    The last column is always from the AAL atlas. The previous column give Brodmann’s areas. So, is this list of areas a culmination of the Brodmann, AAL, Ch2better, etc maps that you asked us to copy into spm/canonical?


  7. Dear Xu,
    Thank you very much for sharing this. What is the unit if measure in the MNI system you use? I will use your code to extract voxels in the ICBM152 dataset in Brainstorm, which consist of 15002 voxels in the cortex.

  8. Dear Xu,
    this function is really helpful for me. But here are some questions about it.
    1. Have a set of coordinates in csv file with the delimiter of comma, and I was wondering if you have the method to input the csv file directly. Cause there are thousands of coordinates, I can’t type them one by one.
    If your toolbox doesn’t support this kind of input format, do you have any idea about how to solve it.
    2. No offense, do you know any other toolbox also has this kind of coordinates information achievement function? I just wanna compare them and find the best one for my study.


  9. @Ziqian
    We do not have a function taking csv as input unfortunately. I also do not know other programs with similar functions. If you find out please let me know.

  10. Xu Cui :
    We do not have a function taking csv as input unfortunately. I also do not know other programs with similar functions. If you find out please let me know.

    The only another one I know is fsl and in my mind maybeb freesurfer would also have this similar fuction.
    The command I remember is ‘atlasquery’.
    I am totally a neophyte of matlab. My file is like each set of coordinates one each line. How do you think I can translate it to fit your input format? I could send you an example if necessary.
    Any suggestion is helpful. Thank you.

  11. Xjview used AAL1 to report brain regions which only have 116 regions in default. If I want to report regions based on AAL3 with 170 regions, what should I do?

    1. You will need to replace xjview’s database (the .mat file). Are you good at MatLab?

Leave a Reply

Your email address will not be published. Required fields are marked *