MarsBar教程

工具包及示例數據下載

本文是按照MarsBar0.44官方文檔的教程來對MarsBar工具包來進行學習的,感興趣的同學可以直接參考Mar
sBar官方文檔(tutorial)來進行學習(百度網盤 提取碼:0clb)。教程中所使用的數據爲marsbar_example_data-0.3

安裝MarsBar

教程中提供了兩種安裝方法:一種是在MATLAB中使用,一種是在spm中使用。但是前提是必須得提前裝好spm,我裝的是spm8。這是直接將MarsBar0.44解壓後的文件夾放在MATLAB的toolbox目錄裏,然後在MATLAB中添加文件夾而不選擇添加幷包含子文件夾就好了。驗證是否安裝成功在命令框輸入marsbar,若出現MarsBar的圖形界面那麼就算安裝成功了,接下來就是按照manual去處理示例數據來進行學習了。(這裏建議MATLAB安裝路徑的所有文件夾不要有空格和中文,否則你懂得。)
歡迎界面

數據集描述

數據集的來源不多介紹,我們主要對數據做如下處理:首先定義ROI,然後在ROI中做分析。教程中將介紹兩種定義ROI的方式:一種是基於功能的定義,另一種是基於結構的定義。

數據處理和分析

示例數據包含的文件
rois包含感興趣的預定義區域,目錄sess1、sess2和sess3包含實驗的三個sessions(runs)的切片。數據已經提前進行了時間校正和重新對齊、不失真、空間歸一化數據等預處理。

定義功能性ROI

一個關鍵問題就是如何找到正確的ROI,這個問題在視覺皮層裏比在其他功能區簡單得多。一種方式是使用被試自己的激活模式來定義ROI,在這個數據集中我們感興趣的是run1和run3的差異,因此我們用run2的spm分析來定義視覺皮層,然後將此用作ROI來分析run1和run3。所以在處理該數據集是我們不對run2進行比對,只對run1和run3進行分析。具體定義方法是我們在run2上進行SPM分析,並降低閾值,找出一些因噪聲而比其他體素值更高的體素。我們使用這個噪聲集羣定義ROI,並從ROI中提取數據。

開始處理

一、預處理

首先將下載好的數據集進行解壓,解壓後的文件夾應該有四個子文件夾,如上圖所示。這裏我將解壓後的文件存放到了G:\data\路徑下。切換工作路徑到marsbar0.44->example->batch目錄下,batch裏包含預處理的一些文件。然後在命令框內輸入run_preprocess,之後會出現一個窗口,選擇G:\data路徑裏的marsbar_example_data-0.3文件,然後點擊done進行批處理。
批處理
這個命令將會對每個圖像進行平滑處理(8mm FWHM),並且爲每個run運行spm模型。

二、Define ROIs

preprocessing腳本已經對run1,run2,run3進行了預處理,現在我們需要在視覺皮層找到一個激活羣集。
在marsbar窗口上選擇ROI Definition,如下圖:
定義ROI
每個選項的含義爲:

  1. View… :在結構圖像上顯示一個或多個ROI。
  2. Get SPM cluster(s):使用SPM的顯示結果界面去選擇並可以保存選擇的激活族羣作爲ROIs。
  3. Build:提供用於定義ROIs各種方法的界面(使用形狀、框、球、激活羣集和二進制圖像。)
  4. Transform:提供一個GUI,用於組合ROI,並將ROI的方向翻轉到大腦的右側或左側。
  5. Import:允許將所有SPM激活作爲ROI,或從羣集圖像(如SPM結果界面中所寫入的圖像)中導入ROI,或從ROI定義的圖像中導入ROI。
  6. Export: 把ROI寫成圖像用於其他軟件包,例如MRIcro。

我們將使用run2的SPM分析來定義功能ROI。在marsbar界面中選擇Get SPM cluster(s)…,這將會展示spm的結果界面。使用SPM提供的文件選擇窗口導航到sss 2/spm 8_ana目錄。選擇SPM.mat文件,然後點擊Done。如下圖:
選擇SPM.mat
在之後彈出的窗口中選擇t-contrast然後選擇stim_hrf之後點擊Done。如下圖:
Select contrasts
在之後彈出的窗口中按下圖選擇即可:
相關參數
回車後,就會出現如下界面:
在這裏插入圖片描述
在這裏插入圖片描述
與此同時MATLAB的工作路徑已經轉化到了sess2/SPM8_ana裏了。將SPM圖形窗口中的紅色箭頭移動到可視皮質中的激活羣集。您可以通過拖動箭頭或右鍵點擊圖像區域,選擇goto global maxima來執行此操作。
選擇區域
當紅色箭頭指向主族時,在spm的輸入窗口中點擊Write ROI(s)按鈕,並且選擇Write one cluster。如下圖:
Write ROIs
爲了簡單起見,之後選擇默認值即可,將stim_hrf_-9_-93_-15_roi.mat保存到sess2/SPM8_ana目錄下。
Write ROI(s) 其他選項的含義:
Write one cluster :在選定位置寫入單個族羣。
Write all clusters :從SPM映射中寫入所有集羣;marsbar在將每個ROI保存爲單獨的文件之前,將請求一個目錄來保存這些文件,併爲ROI文件提供一個根名。
Return results UI:重新啓動SPM結果界面,可以重新選擇.Mat文件。
查看ROI:我們可以選擇ROI definition的View來查看之前保存的ROI來檢查效果如何。
效果圖
理想情況下,我們希望將ROI限制在主要視覺皮層中的體素上。我們可以通過定義一個包含我們感興趣的區域的box的感興趣區域來實現這一點,並將其與激活集羣相結合。如下:
Defining a box ROI :定義此盒子ROI,首先單擊 ROI definition,然後選擇Build。SPM輸入窗口中會彈出一個新菜單。點擊後選擇Box (ranges XYZ),然後按照如下設置參數:
Type of ROI
參數
保存.mat文件到默認路徑,即和之前的.mat同目錄。檢查效果的話和之前一樣,選擇 ROI Definition->View,選擇這兩個.mat文件,點擊Done。這樣之前的區域會被藍色的框所覆蓋住。如下圖:
效果圖
接下來就需要 combine這兩個ROI,僅選擇框和激活羣集共享的體素。
Combine ROIs : 選擇ROI Definition->Transform,會出現一個新的spm窗口 ,之後選擇Combine ROIs ,在彈出的窗口中將兩個.mat文件都選中,Done。然後會彈出一個 Combine ROIs的界面,按照如下輸入:
參數
其中functions to combine ROIs中r1和r2的含義爲:r1表示你選擇的第一個ROI,r2表示你選擇的第二個ROI,這裏我們希望得到他們的重疊部分,因此用&連接符。
筆記 : 您可以使用大多數數學函數來組合ROI。如果您想組合兩個ROI,那麼組合出來的新的ROI具有ROI1中的所有體素和ROI2中的所有體素,可以使用函數r1|r2(讀作“r1 或 r2”)。如果只希望得到ROI1不在ROI2中的體素,使用r1 & ~ r2。同樣,您可以選擇兩個以上的ROI並組合它們。函數(r1 & r2)&~r3提供的是所有的ROI1和ROI2中的但不包括ROI3中的體素。需要注意的是r1 & r2表示的兩個ROI的交集,r1 | r2表示的是兩個ROI的並集。
Export :僅僅當做練習,我們可能會用別的工具來查看ROI,比如MRIcro。點擊ROI definition->Export…->image 從彈出的界面中選擇trim_stim_roi.mat作爲輸出的ROI,然後Done在Space for ROI image裏選擇 ROI native space之後按照默認操作即可。

三、ROI analysis

分爲三個階段來進行分析:

  1. Choosing the design
  2. Extracting the data
  3. Estimating the design model with the data

1、Choosing the design

在marsbar的窗口上選擇Design,如下:
界面
design菜單提供了創建、估計、處理spm/MarsBaR設計。每個選項的含義爲:
Show default design summary:在spm圖形窗口中顯示當前加載的設計摘要。
set design from file:會讓你選擇一個.mat的文件,並將它加載到MarsBaR中。加載進來的文件會成爲默認的design,MarsBar將假定您要使用此設計工作,除非你通過加載不同的.mat文件來告知它。
Save design to file:將會保存當前的設計爲一個文件。
Set design from estimated:當marsbar估計一個design時,它會將估計的design存儲在內存中。有時,使用這個估計的design並將其設置爲默認設計是有用的,以便能夠使用這些菜單選項中的各種來檢查設計。
PET models,FMRI models,and BAsic models:將使用SPM設計程序進行設計,並將其存儲在內存中作爲默認設計。
Explore:運行spm界面,用於審查和掃描設計。
Frequencies(event+data):可用於fmri設計。該選項提供了ROI數據中的頻率圖和特定fMRI事件的設計迴歸器。這將允許你選擇一個高通濾波器,它不會移除設計中的大部分頻率,但會去除數據中的低頻,而這些數據通常是由噪聲主導的。
Add images to FMRI design:允許你爲尚未包含圖像的fMRI設計指定圖像。SPM和MarsBar可以在沒有圖像的情況下創建fMRI設計。如果要使用design提取數據(請參見下面),您可能希望使用此菜單項將圖像添加到設計中。
Add/edit filter for FMRI design:提供用於指定高通和可能(SPM 99)低通濾波器的菜單選項,以及自相關選項(SPM 2及更高版本)。
check images in the design:查找設計中的圖像名稱,並簡單檢查磁盤上是否存在這些名稱,在MATLAB控制檯窗口中打印一條消息。使用保存的SPM設計的一個常見問題是,設計中指定的圖像已經移動或刪除。此選項是查看已發生的有用檢查。
Change path to image:允許您更改保存在SPM設計中的圖像文件名的路徑,以處理自設計保存以來圖像已移動的情況。
Convert to unsmoothed:獲取設計中的圖像名稱,並對它們進行更改,以便它們引用相同圖像的未平滑版本–實際上它只是從文件名中刪除了“s”前綴。當您想要使用最初運行在平滑圖像上的spm設計時,這是非常有用的,但是您的ROI非常精確,因此您希望避免對平滑的數據運行ROI分析。在你的ROI中模糊不想要的信號。

回到我們的例子中,在design菜單欄裏選擇Set design from file選項,然後在彈出的窗口中選擇sess1/SPM8_ana路徑下的SPM.mat文件,點擊Done。marsbar將設計加載到內存中,並在SPM圖形窗口中顯示設計矩陣。

2、extracting the data
在運行模型之前,我們需要從功能像中提取ROI數據。因此要先在data菜單欄裏選擇EXtract ROI data(default),然後進行簡單的分析。
Data菜單欄裏其它選項的含義如下:
Extract ROI data(default):獲取一個或多個ROI文件和設計,並在設計中的所有圖像中提取ROI內的數據。對於默認設計,MarsBar將數據存儲在內存中,以便進一步使用。
Extract ROI data(full options):允許您指定要從其中提取數據的任何圖像集,並將爲您提供用於提取數據的所有圖像縮放選項。
Default region…:當您爲多個ROI提取數據時,這將非常有用。在這個例子裏,您可能需要限制繪圖功能(下面)只查看其中一個區域; 您可以設置與此選項一起使用的區域。如果您沒有指定,Mars BaR將假設您想查看所有區域。
Plot data(simple):繪製ROI數據到SPM圖形窗口的時間歷程曲線。繪圖數據(完整)具有用於在繪圖之前使用SPM設計過濾器過濾數據的選項,以及其他類型的繪製圖,例如作爲自相關係數的頻率曲線或曲線。
Import data:允許您導入用於從MATLAB、文本文件或電子表格進行分析的數據。同理,Export data可以將數據導出到MATLAB變量、文本文件或電子表格。
Split regions into files :在您從多個ROI中提取數據的情況下是有用的,但您要使用來自這些ROI中的一個ROI的數據進行估計。
Merge data files: 通過將一系列ROI數據文件與多個ROI數據文件一起轉換成一組數據,從而逆轉上述拆分文件的過程。
Set data from file:將向MarsBar請求一個數據文件(默認後綴_mdata.mat),並將其加載到內存中作爲當前數據集。
Save data to file:將將當前數據集保存到MarsBar數據文件中。
Show data summary:將一些摘要文本輸出到SPM圖形窗口。

在本教程中,我們希望從設計中的圖像中提取ROI的數據。選擇Extract ROI data(default),GUI將要求您選擇一個或多個ROI文件;選擇trim_stim_roi.mat文件,然後Done。

3、estimating the model
點擊Results菜單裏的第一個選項Estimate results,marsbar將會在MATLAB控制檯和spm界面生成一系列報告參數。

四、基本結果

讓我們通過爲設計中的效果獲取一些T值和F值來開始評估。點擊MarBar界面的Results菜單,其中其他選項的含義如下:
Estimate results:採用默認設計和ROI數據,並估計模型。MarsBar將所估計的結果存儲在內存中,作爲要估計的設計。
Import contrasts:提供一個界面,供您從其他分析中選擇對比,並將它們導入當前分析的對比列表中。
Refresh F contrasts:如果已將MarsBar設置爲不刷新F對比度(請參閱選項:Statistic:Load updates F contrasts),那麼可以使用此菜單選項刷新對比度。
Add trial specific F:將爲每個試驗和每個部分添加F對比度,如果沒有的話。
Default contrast:將設置一個對比度作爲此菜單上其他選項去默認使用,例如marsbar SPM圖形的繪圖功能。
Default region:適用於當前結果有多個區域的情況。它將從數據中選擇一個區域以用於分析和繪圖。
Plot residuals:從模型中提出各種殘差圖,以檢查是否違反了假設或主要的異常值。
MarsBaR SPM graph:使用SPM繪圖函數繪製參數估計、擬合和調整響應、事件或塊相關響應估計等的對比圖。
Statistic table:顯示所選對比的各種統計數據。
% signal change:將會顯示單個事件的百分比信號變化的估計值。
Set results from file:允許您選擇要查看的結果。當您在marsbar中估計模型時,程序將自動將新結果設置爲“結果”菜單的最新結果。如果你想分析一些其他的MarsBar結果,您可以使用此選項來選擇和加載其他分析文件。marsbar估計結果的默認文件後綴是_mres.mat。
Save results to file:將當前估計結果(包括用於估計的數據)保存到磁盤上。

接下來,我們需要指定對比度,Import contrasts選項允許從以前的分析中得到對比度。我們首先點擊這個選項,然後在彈出的界面中選擇sess1/SPM8_ana路徑下的SPM.mat文件,點擊Done。之後按照如下圖:
在這裏插入圖片描述
點擊Done。這裏我們只選擇了一個來對比,其實也可以選擇多個來對比。現在,單擊MarsBar中的Results菜單中的“Statistic table”選項,選擇stim_hrf contrast 然後單擊Done。
在這裏插入圖片描述
t統計量是自解釋的,未校正的p值只是用於分析的自由度的該t統計的單尾p值。校正後的P爲未校正的P值對分析中的區域數進行Bonferroni校正得到的。在這個例子裏,我們只對一個區域進行了分析,因此校正後的P值與未校正的P值相同。marsbar(像SPM一樣)不會嘗試校正對比度數目的p值,因爲對比可能不是正交的,這將使Bonferroni校正過於保守。對於Contrast value列的值,對於T統計,這裏的值是一個效果大小。請記住,t統計量由效應大小組成,除以這種效應的標準差。這裏我們的對比很簡單,只包含單個1,因此,對比值與模型中第一個參數的值相同。該參數的值將是與fMRI信號相關的HRF高度迴歸值的最佳擬合斜率。此效果大小度量是spm爲con_0001.img,con_0002.img…一系列中的每個體素存儲的數字。這些是用於標準二級/隨機效應分析的數值。
同樣的,我們也可以運行F contrast。再次點擊Statistic table,如下:
在這裏插入圖片描述
點擊Done即可。MATLAB控制檯會輸出如下信息:
在這裏插入圖片描述
現在,對比度值已經成爲Extra SS。這是將添加到不包含對比度影響的模型中的方差的度量。F Statistic是度量值,調整用於效果的數量,併除以整個模型的殘差方差。在二級分析中,沒有使用這個額外SS值的簡單方法。

1、Comparing fast and slow events
到目前爲止,我們的結果表明,視覺刺激確實對視覺皮層產生了非常顯著的影響,即使在非常頻繁的事件中也是如此。到目前爲止,這還不是“自然”雜誌的論文。爲了讓事情變得更有趣,我們可以將run1中的效果與run3中的效果進行比較,在run3中,事件發生的頻率要低得多。
在MarsBar窗口點擊Design菜單欄,Set design from file,這次選擇sess3/SPM8_ana下的SPM.mat文件。然後在Data菜單裏選擇Extract ROI data(default),MarsBar會詢問你是否保存之前的數據,選擇no,接下來再次選擇trim_stim_roi.mat。點擊Done,運行完之後在Results欄點擊Estimate results ,當再次詢問時,仍選擇no。
當estimation完成後,單擊Results裏的Statistic table。接下來我們需要點擊Define new contrast輸入HRF對比度,如下圖:
在這裏插入圖片描述
在這裏插入圖片描述
Done。之後控制檯會輸出:
在這裏插入圖片描述
您可以看到,對於run3而言,對比度值(與單個事件的信號變化成正比)大於run1。對此的一個解釋是,run1中有更多的事件,因此對每個事件信號變化的估計更可靠(方差較小)。

五、使用結構ROI

到目前爲止,我們已經使用了一個功能ROI。這具有通常很好地調諧到我們正在分析的被試的優點。缺點是我們必須使用完整的數據來定義ROI,我們將傾向於能夠分析,並且當激活信號不強烈時,功能性ROI可能是噪聲的。另一種方法是利用大腦的解剖來估計功能區的位置。

與使用函數ROI運行分析完全相同。先選擇Design->Set design from file ,之後選擇sess1/SPM8_ana/SPM.mat文件。然後點擊Data->Extract ROI data(default)。當讓你選擇ROI文件時,定位到rois路徑下,選擇MNI_Putamen_L_roi.mat,然後點擊Done。結束後,選擇Results->Estimate results,同樣的結束後,選擇Results->Statistic table,輸入stim_hrf contrast,對MNI_Putamen_R_roi.mat進行同樣的操作你會在控制檯看見兩個表。如下:
在這裏插入圖片描述
在這裏插入圖片描述
研究對象用右手做出反應,因此我們預計右側殼核的信號會比左邊少。

六、批處理

將工作路徑切換到example/batch下,在命令框輸入run_tutorial.m,這將會批處理之前的大部分操作。具體可以查看代碼。

七、總結

至此,MarsBar官方文檔的教程已經結束了,這裏只是將文檔的示例數據的操作重複了一遍,對一些知識點進行了翻譯。有些細節並沒提到,讀者可以去閱讀文檔來查看更多細節。
終於結束了,文檔看的頭疼。。。。

發佈了17 篇原創文章 · 獲贊 60 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章