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'



文献鸟 618 活动


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


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

第六十五期fNIRS Journal Club通知2025/8/30, 10am 兰月教授 陈嘉琳

该文章的声音简介(中文版): 该文章的声音简介(英文版): 在运动想象型脑机接口 (MI-BCI)训练中,不少使用者表现出控制效果不佳,即使经过训练也难以达到理想水平的“BCI 无效性”现象。RDLP
Wanling Zhu
15 sec read

第六十四期fNIRS Journal Club视频 黄润玉

Youtube: https://youtu.be/8lyoR_K2BYA 优酷:https://v.youku.com/v_show/id_XNjQ4MjU2Mzk3Mg==.html 随着全球老龄
Wanling Zhu
14 sec read

第六十四期fNIRS Journal Club通知2025/7/12, 10am 黄润玉

该文章的声音简介(中文版): 该文章的声音简介(英文版): 随着全球老龄化加剧,越来越多老年人面临数字化适应、子女异地独居适应等问题。在青年志愿者人数明显不足以覆盖老龄人口的现实情况下,让老年同龄人进
Wanling Zhu
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
    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

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