fMRI: how to do ROI analysis

42 sec read

ROI stands for region of interest. The region is predefined usually from glm contrast. For example, you find visual cortex is activated when a flash is presented through glm analysis, you may then do more analysis on this particular region.

ROI analysis usually means a plot of BOLD signal in this region against time. In some cases, you may also want to do correlation analysis. I will explain how to do these analysis below. I will also give an example.

Before you do any ROI analysis, you should have the following data in hand:
1. Preprocessed image files which contains the BOLD signals. The file names are usually of the format swaf*.img and swaf*.hdr.
2. The onset time of each event of interest.
3. The coordinates of the voxels in the region of interest, or a mask image.
4. If you want to find the correlation between two regions, you need another set of 3.
5. If you want to find the correlation between BOLD signal and the stimulus property (such as the intensity of flash), you need data of this property.

The following script is written in MatLab. It explains how to do basic ROI analysis. download roi.m


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

第五十四期fNIRS Journal Club通知2024/07/27, 10am 黄鑫

Wanling Zhu
10 sec read

第五十三期fNIRS Journal Club视频 李洪

Youtube:优酷: 个体在处理不同
Wanling Zhu
12 sec read

第五十三期fNIRS Journal Club通知2024/06/22, 10am 李洪

Wanling Zhu
8 sec read

8 Replies to “fMRI: how to do ROI analysis”

  1. I am attempting to run your ROI script, but I always receive errors for the line: coord = mask2coord(‘mymask.img’). Matlab does not undersand the mask2coord command or function. I have to ten .img files for the ROI. How can I find the coordinates so that they work with your script?

  2. Dear Xu,
    What is the difference of the ROI analysis between the method you introduced here and the way carried out marsbar?

  3. Hello Xu,

    I am doing a MSc internship in a neuroimaging lab and being asked to run over 100 ROI analysis for every patient we are scanning and also at group level. Our regions have all been defined a-priori by reading the literature in particular a meta-analysis of the disorder. Nonetheless these amount to over 50 activation region masks (sometimes multiple masks per region), and around 20 deactivations and 20 correlations with little overlap.

    My basic question is how many ROI analysis is it ok to run? Is there a guideline somewhere? Most studies seem to concentrate on no more than 10 regions. Is my supervisor being unreasonable and not rigorous enough? Is this frowned upon?

    I know this comment is not specifically on your program but I cannot email the SPM list because my supervisor will know who I am and I am trying to understand his reasoning behind ROI analysis (which he is not helping me understand). I would be really grateful if you could give me some advice or point me to someone who could.


  4. @Alex

    During data exploration phase, one can do a lot of analysis, including tons of ROIs. Of course, only a small fraction are included in the final manuscript. However, the more ROI you do, the more likely you will discover something false positive. You can use FDR correction though.

    Keep in mind the time spent on 1 ROI is not much different from the time on 100 ROI if you have a matlab script to do it automatically (Feel free to adopt my code to your own use). I would do what your advisor asked for, summarize the findings, and let your advisor decide which to include in the final manuscript.

    Good luck!

  5. Hi,
    I have 2 groups of data,controls & patients.
    I have fmri datas of them in auditory task.
    now I need extracting ROIs of them( related to activity),
    How can I do it?


Leave a Reply

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