教程 | 如何用 Homer 處理 fNIRS 數(shù)據(jù)?

一、Homer2軟件介紹
Homer2的下載:https://www.nitrc.org/frs/?group_id=619&release_id=3661Homer2官網(wǎng):https://homer-fnirs.org/Homer2安裝:使用matlab的set path即可安裝;有可能每次打開(kāi)matlab都要重新安裝一下。Homer2使用中的一些常見(jiàn)問(wèn)題:https://homer-fnirs.org/faq/除了這里面提及的問(wèn)題,有一點(diǎn)要注意的是在使用參數(shù)檢驗(yàn)時(shí),沒(méi)有default掉Homer2很有可能導(dǎo)致程序報(bào)錯(cuò)。
二、Homer2可識(shí)別的NIRS文件格式
Probe source-detector 探頭排布:.sd filesfNIRS experimental 數(shù)據(jù)格式:.nirs filesData processing stream處理過(guò)程:.cfg filesProcessed data files結(jié)果文件:groupResults.mat
2.1 .SD file format?排布文件格式:描述?2D?源/探測(cè)器幾何結(jié)構(gòu)Matlab .sd 文件包含結(jié)構(gòu)體變量 SD,其中包含以下域:
域
定義
維度
例子
Lambda
用于數(shù)據(jù)采集的波長(zhǎng)
1×n(數(shù)據(jù)采集的波長(zhǎng))
[690 830]
nSrcs
光源數(shù)
1×1
1
nDets
探測(cè)器數(shù)
1×1
2
SrcPos
源坐標(biāo)陣列
nSrcs×3
[0 0 0]
DetPos
探測(cè)器坐標(biāo)陣列
nDets×3
[30 0 0;0 30 0]
MeasList
測(cè)量通道列表
[源idx?探測(cè)器idx?使用情況?波長(zhǎng)idx]
通道數(shù)量*2×4
[1 1 1 1;1 2 1 1;
1 1 1 2;1 2 1 2]
注意:SD 結(jié)構(gòu)也包含在 .nirs 文件格式中編輯SD文件的界面,可通過(guò)SDgui啟動(dòng)

2.2 .NIRS?file format數(shù)據(jù)格式:包含近紅外數(shù)據(jù)信息。
Matlab .nirs?文件包含以下變量:
域
定義
維度
SD
探針幾何排布,與.sd文件相同
結(jié)構(gòu)體變量
t
數(shù)據(jù)時(shí)間點(diǎn)數(shù)組
時(shí)間點(diǎn)數(shù)×1
d
時(shí)間序列的原始光強(qiáng)
時(shí)間點(diǎn)數(shù)×通道數(shù)
s
刺激onset信息
時(shí)間點(diǎn)數(shù)×條件數(shù)
aux
每個(gè)時(shí)間點(diǎn)下每個(gè)輔助通道的數(shù)據(jù)
時(shí)間點(diǎn)數(shù)×Aux數(shù)
注1:除了上述參數(shù)外,在 Homer2 數(shù)據(jù)處理過(guò)程中,.nirs 文件也會(huì)出現(xiàn)其他參數(shù)。
注2:其他一些數(shù)據(jù)格式(Hitachi、NIRx、Shimadzu 等)轉(zhuǎn)換成.nirs,可參閱?http://homer-fnirs.org/faq
2.3 .cfg file format進(jìn)程文件:包含了數(shù)據(jù)分析的步驟,一系列Homer2 函數(shù)最簡(jiǎn)單的處理流:光密度->血氧濃度->疊加平均->血液動(dòng)力學(xué)響應(yīng)函數(shù)(HRF),也可以在處理流中添加多個(gè)更高級(jí)的功能:修剪數(shù)據(jù),回歸短SD,刪除壞段,識(shí)別運(yùn)動(dòng)偽跡,帶通濾波,刪除或校正運(yùn)動(dòng)偽跡象。
創(chuàng)建處理過(guò)程:
MATLAB?版本:運(yùn)行MATLAB,運(yùn)行“setpaths”函數(shù),然后從命令窗口調(diào)用 Homer2_UI。當(dāng)界面要求您加載流程選項(xiàng)時(shí)點(diǎn)擊取消,然后將目錄更改為存儲(chǔ).nirs數(shù)據(jù)的文件夾。接下來(lái)可以通多‘tools->Process Stream GUI’創(chuàng)建處理流,下圖是創(chuàng)建處理流的界面簡(jiǎn)介。

?三、Homer2數(shù)據(jù)處理流程
一個(gè)簡(jiǎn)單的處理包括,光密度->光強(qiáng)度->血氧濃度->疊加平均->血液動(dòng)力學(xué)響應(yīng)函數(shù)(HRF),下面以該流程為例子演示Homer2提取HRF。
3.1?創(chuàng)建數(shù)據(jù)流在procStreamGUI定義好處理流函數(shù)后保存為當(dāng)前處理,接下數(shù)據(jù)的處理以當(dāng)前的數(shù)據(jù)處理流為準(zhǔn),若選擇Config file,則將該處理流程流程另存為.cfg文件。調(diào)用已保存的處理流文件可以通過(guò)load process option(*.cfg)



回到Homer2_UI界面,點(diǎn)擊主界面的Options選項(xiàng)可以查閱當(dāng)前的數(shù)據(jù)處理流程,并可對(duì)相應(yīng)參數(shù)進(jìn)行修改。

參數(shù)數(shù)值修改完畢后,需要回車(chē)。否則修改無(wú)效。

3.2?數(shù)據(jù)預(yù)覽
在SD光極排布窗口中,字母表示sources;數(shù)字表示 detector;左鍵點(diǎn)擊某個(gè) source 或 detector 附近會(huì)顯示與該 source 或 detector 關(guān)聯(lián)的所有 channel 的數(shù)據(jù),按住 shift 鍵,左鍵每個(gè)通道即可預(yù)覽所有通道的時(shí)間序列。右鍵單擊 SD 光極排布窗口某個(gè) channel 的連線,該連線會(huì)變?yōu)樘摼€,同時(shí)左側(cè)數(shù)據(jù)預(yù)覽窗口波形消失。再次右鍵單擊連線,連線變?yōu)閷?shí)線、波形出現(xiàn)。在顯示設(shè)置欄里,Zoom 按鈕可以放大數(shù)據(jù):選中該按鈕后,鼠標(biāo)在數(shù)據(jù)預(yù)覽窗口拖動(dòng)選擇感興趣的時(shí)間段即可放大;Pan 按鈕可以平移數(shù)據(jù):選中該按鈕后,左擊鼠標(biāo)平移數(shù)據(jù);數(shù)據(jù)預(yù)覽完后可點(diǎn)擊 Zoom Reset 或在 Data window 右鍵單擊選擇 Reset to Original View 恢復(fù)至原始繪圖窗口。
3.3?標(biāo)記壞段與壞通道Exclude Time?按鈕可以手動(dòng)刪除(噪音較大)數(shù)據(jù):選中該按鈕后,鼠標(biāo)在數(shù)據(jù)預(yù)覽界面選中待刪除時(shí)間段的數(shù)據(jù);這些片段段會(huì)標(biāo)記為紫色;如果發(fā)現(xiàn)某個(gè)時(shí)間段錯(cuò)誤地被標(biāo)記為需要?jiǎng)h除時(shí),可以用鼠標(biāo)左鍵或者右鍵單擊這個(gè)紫色區(qū)域,會(huì)彈出一個(gè)對(duì)話框:Remove this Excluded Region? 選擇 Yes 即可
?如果?Show Excluded?前面打勾,那么被刪除的時(shí)間段標(biāo)記為紅色
?如果?Show Excluded?前面不打勾,那么被刪除的時(shí)間段無(wú)波形
手動(dòng)刪除數(shù)據(jù)后,不會(huì)對(duì)計(jì)算?OD?和血氧濃度時(shí)造成影響(這部分?jǐn)?shù)據(jù)不被刪除),但是在計(jì)算HRF時(shí)這些時(shí)間段包括的刺激?mark?將不再考慮。
對(duì)于噪音很大的通道,鼠標(biāo)左鍵單擊該通道的連線,該連線變?yōu)樘摼€,即表示標(biāo)記壞通道成功;再次鼠標(biāo)左鍵單擊該通道,恢復(fù)為實(shí)線,則取消標(biāo)記該通道。
3.4 mark信息的編輯選中顯示設(shè)置面板上的?Stim Reject?按鈕后,在數(shù)據(jù)窗口中框選某個(gè) mark 的線,這個(gè)線會(huì)變?yōu)楹谏志€的,并彈出一個(gè)窗口彈窗提示語(yǔ)是 Action for these stim marks,并要求選擇兩個(gè)選項(xiàng)之一:Toggle active on/off 和 Cancel。選擇前者,mark 的線會(huì)變?yōu)樗{(lán)色的虛線,選擇后者,mark 的線會(huì)恢復(fù)為原來(lái)的藍(lán)色實(shí)線。變?yōu)樗{(lán)色虛線后,重新選擇這個(gè)線,并選擇前者,會(huì)變?yōu)樗{(lán)色實(shí)線(這個(gè) mark 又可使用)。變?yōu)樘摼€后,后續(xù)的數(shù)據(jù)處理則不考慮該 mark。當(dāng)要永久性的刪除或者編輯某個(gè) mark 時(shí),可打開(kāi)Tools下拉菜單的 StimGUI;在 StimGUI 界面選中某個(gè) mark,會(huì)出現(xiàn)下方窗口。通過(guò)此窗口可修改mark,也可以選中 New condition 指定新的 mark;也可以選中 Toggle active on/off 將該 mark 后續(xù)分析不考慮(與 Stim Reject 相同);也可以選中 Delete 將該 mark 直接永久性刪除掉。

?3.5數(shù)據(jù)處理結(jié)果預(yù)覽與導(dǎo)出定義好處理流并調(diào)整好參數(shù)以及標(biāo)記完壞段/通道/試次之后,才可以計(jì)算HRF。通過(guò)?Calculate HRF?下方的下拉菜單選擇對(duì)某個(gè)被試單個(gè)?run?的數(shù)據(jù)處理(Run **)、某個(gè)被試所有run的數(shù)據(jù)處理(Session **)和對(duì)所有被試的所有 run 的數(shù)據(jù)處理(Group **)。

處理后的數(shù)據(jù)可以預(yù)覽每個(gè)數(shù)據(jù)的不同波長(zhǎng)的原始數(shù)據(jù)、不同波長(zhǎng)的?OD?以及血氧濃度(HbO、HbR、 HbT),按住 shift?可查看多通道/條件/波長(zhǎng)的數(shù)據(jù)。也可以查看每個(gè)數(shù)據(jù)的?HRF(show Run HRF)、每個(gè)被試的 HRF(show Sess HRF)以及組平均水平的 HRF(show Grp HRF)。


?
盡管 Homer2 提供了數(shù)據(jù)導(dǎo)出選項(xiàng),但是在做后續(xù)統(tǒng)計(jì)分析并不方便。由于 Homer2 每次處理完數(shù)據(jù)會(huì)在原始數(shù)據(jù)基礎(chǔ)上生成新的變量,因此,可以在 matlab 加載 nirs 文件:load MCKJ.nirs -mat 加載 nirs 文件(.nirs格式只是將 mat 的文件后綴改成.nirs),下圖是數(shù)據(jù)所包含的域以及其代表的意義。后續(xù)可通過(guò)代碼提取感興趣的變量做后續(xù)分析。


小伙伴們點(diǎn)星標(biāo)關(guān)注茗創(chuàng)科技,將第一時(shí)間收到精彩內(nèi)容推送哦~
