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:

cuixufindstructure.m

This program requires the anatomical database file (TDdatabase.mat), which is free for downloading at https://www.alivelearn.net/xjview. 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

    'undefined'
    'undefined'



写作助手,把中式英语变成专业英文


AI writing papers with real references


Want to receive new post notification? 有新文章通知我

第七十期fNIRS Journal Club通知2026/3/7, 10am 李日辉团队

传统fNIRS测量由于通道距离单一,干扰源多,存在空间分辨率不足,信号有效成分低的缺点。来自澳门大学的李日辉团队将分享基于多距离、高密度fNIRS的DOT成像技术,并通过单脑运动和双人社交互动范式验证
Wanling Zhu
22 sec read

第六十九期fNIRS Journal Club视频 赵伟华课题组

Youtube: https://youtu.be/VKMgJT9oESI 优酷: https://v.youku.com/v_show/id_XNjUxMzkzOTkyNA==.html?playM
Wanling Zhu
17 sec read

第六十九期fNIRS Journal Club通知2026/1/31, 10am 赵伟华课题组

社会学习是个体通过观察与模仿他人行为获取社会知识与技能的核心过程,其中情绪面孔模仿在情感交流与社会互动中扮演关键角色。长期情绪面孔模仿学习如何动态塑造镜像神经元系统的神经表征,并影响后续社会情绪感知尚
Wanling Zhu
12 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
    Matti

  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?

    –Stuart

  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.
    Regards,
    Sahin.

  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.

    Best,
    Ziqian

  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 :
    @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.

    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 to Asieh daneshi Cancel reply

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