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 视频 高飞

澳门大学的高飞博士分享了他们利用fNIRS和EEG来揭示人类大脑对中文构词规则的神经编码机制的研究工作。 Youtube: htt
Xu Cui
14 sec read

第三十四期 fNIRS Journal Club 通知 2022/09/24,10am 高飞

中文词语是如何被人脑编码的?构词-语义加工的神经认知机制是什么?来自澳门大学的高飞博士将分享他们利用fNIRS和EEG来揭示人类大脑对中文构词规则的神经编码机制的研究工作。 欢迎大家踊跃参与和讨论。
Xu Cui
11 sec read

第三十三期 fNIRS Journal Club 视频 翟雪彤

Brain AnalyzIR toolbox是一款基于MATLAB开发的高效的fNIRS处理工具箱,由匹兹堡大学Theodore Huppert团队开发(Homer的主要开发者)。来自Theodore
Xu Cui
10 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 *