首页 > 编程知识 正文

手把手教你用 Homer 处理 fNIRS 数据

时间:2023-05-03 21:21:21 阅读:233271 作者:1044

文章来源于微信公众号(茗创科技),欢迎有兴趣的朋友搜索关注

一、Homer2软件介绍

Homer2的下载:https://www.nitrc.org/frs/?group_id=619&release_id=3661

Homer2官网:https://homer-fnirs.org/Homer2安装:使用matlab的set path即可安装;有可能每次打开matlab都要重新安装一下。

Homer2使用中的一些常见问题:https://homer-fnirs.org/faq/除了这里面提及的问题,有一点要注意的是在使用参数检验时,没有default掉Homer2很有可能导致程序报错。

二、Homer2可识别的NIRS文件格式

Probe source-detector 探头排布:.sd filesfNIRS experimental 数据格式:.nirs filesData processing stream处理过程:.cfg filesProcessed data files结果文件:groupResults.mat

2.1 .SD file format 排布文件格式:描述 2D 源/探测器几何结构

Matlab .sd 文件包含结构体变量 SD,其中包含以下域:

域定义维度例子Lambda用于数据采集的波长1×n(数据采集的波长)[690 830]nSrcs光源数1×11nDets探测器数1×12SrcPos源坐标阵列nSrcs×3[0 0 0]DetPos探测器坐标阵列nDets×3[30 0 0;0 30 0]MeasList测量通道列表[源idx 探测器idx 使用情况 波长idx]通道数量*2×4[1 1 1 1;1 2 1 1;1 1 1 2;1 2 1 2]

注意:SD 结构也包含在 .nirs 文件格式中

编辑SD文件的界面,可通过SDgui启动

2.2 .NIRS file format数据格式:包含近红外数据信息。

Matlab .nirs 文件包含以下变量:

域定义维度SD探针几何排布,与.sd文件相同结构体变量t数据时间点数组时间点数×1d时间序列的原始光强时间点数×通道数s刺激onset信息时间点数×条件数aux每个时间点下每个辅助通道的数据时间点数×Aux数

注1:除了上述参数外,在 Homer2 数据处理过程中,.nirs 文件也会出现其他参数。

注2:其他一些数据格式(Hitachi、NIRx、Shimadzu 等)转换成.nirs,可参阅 http://homer-fnirs.org/faq

2.3 .cfg file format进程文件:包含了数据分析的步骤,一系列Homer2 函数

最简单的处理流:光密度->血氧浓度->叠加平均->血液动力学响应函数(HRF),也可以在处理流中添加多个更高级的功能:修剪数据,回归短SD,删除坏段,识别运动伪迹,带通滤波,删除或校正运动伪迹象。

创建处理过程:

MATLAB 版本:运行MATLAB,运行“setpaths”函数,然后从命令窗口调用 Homer2_UI。当界面要求您加载流程选项时点击取消,然后将目录更改为存储.nirs数据的文件夹。接下来可以通多‘tools->Process Stream GUI’创建处理流,下图是创建处理流的界面简介。

三、Homer2数据处理流程

一个简单的处理包括,光密度->光强度->血氧浓度->叠加平均->血液动力学响应函数(HRF),下面以该流程为例子演示Homer2提取HRF。

3.1 创建数据流

在procStreamGUI定义好处理流函数后保存为当前处理,接下数据的处理以当前的数据处理流为准,若选择Config file,则将该处理流程流程另存为.cfg文件。调用已保存的处理流文件可以通过load process option(*.cfg)

回到Homer2_UI界面,点击主界面的Options选项可以查阅当前的数据处理流程,并可对相应参数进行修改。

参数数值修改完毕后,需要回车。否则修改无效。

3.2数据预览在SD光极排布窗口中,字母表示sources;数字表示 detector;左键点击某个 source 或 detector 附近会显示与该 source 或 detector 关联的所有 channel 的数据,按住 shift 键,左键每个通道即可预览所有通道的时间序列。右键单击 SD 光极排布窗口某个 channel 的连线,该连线会变为虚线,同时左侧数据预览窗口波形消失。再次右键单击连线,连线变为实线、波形出现。在显示设置栏里,Zoom 按钮可以放大数据:选中该按钮后,鼠标在数据预览窗口拖动选择感兴趣的时间段即可放大;Pan 按钮可以平移数据:选中该按钮后,左击鼠标平移数据;数据预览完后可点击 Zoom Reset 或在 Data window 右键单击选择 Reset to Original View 恢复至原始绘图窗口。

3.3 标记坏段与坏通道

Exclude Time 按钮可以手动删除(噪音较大)数据:选中该按钮后,鼠标在数据预览界面选中待删除时间段的数据;这些片段段会标记为紫色;如果发现某个时间段错误地被标记为需要删除时,可以用鼠标左键或者右键单击这个紫色区域,会弹出一个对话框:Remove this Excluded Region? 选择 Yes 即可

•如果 Show Excluded 前面打勾,那么被删除的时间段标记为红色

•如果 Show Excluded 前面不打勾,那么被删除的时间段无波形

手动删除数据后,不会对计算 OD 和血氧浓度时造成影响(这部分数据不被删除),但是在计算HRF时这些时间段包括的刺激 radys 将不再考虑。

对于噪音很大的通道,鼠标左键单击该通道的连线,该连线变为虚线,即表示标记坏通道成功;再次鼠标左键单击该通道,恢复为实线,则取消标记该通道。

3.4 radys信息的编辑

选中显示设置面板上的 Stim Reject 按钮后,在数据窗口中框选某个 radys 的线,这个线会变为黑色粗线的,并弹出一个窗口弹窗提示语是 Action for these stim radyss,并要求选择两个选项之一:Toggle active on/off 和 Cancel。选择前者,radys 的线会变为蓝色的虚线,选择后者,radys 的线会恢复为原来的蓝色实线。变为蓝色虚线后,重新选择这个线,并选择前者,会变为蓝色实线(这个 radys 又可使用)。变为虚线后,后续的数据处理则不考虑该 radys。当要永久性的删除或者编辑某个 radys 时,可打开Tools下拉菜单的 StimGUI;在 StimGUI 界面选中某个 radys,会出现下方窗口。通过此窗口可修改radys,也可以选中 New condition 指定新的 radys;也可以选中 Toggle active on/off 将该 radys 后续分析不考虑(与 Stim Reject 相同);也可以选中 Delete 将该 radys 直接永久性删除掉。

3.5数据处理结果预览与导出定义好处理流并调整好参数以及标记完坏段/通道/试次之后,才可以计算HRF。通过 Calculate HRF 下方的下拉菜单选择对某个被试单个 run 的数据处理(Run **)、某个被试所有run的数据处理(Session **)和对所有被试的所有 run 的数据处理(Group **)。

处理后的数据可以预览每个数据的不同波长的原始数据、不同波长的 OD 以及血氧浓度(HbO、HbR、 HbT),按住 shift 可查看多通道/条件/波长的数据。也可以查看每个数据的 HRF(show Run HRF)、每个被试的 HRF(show Sess HRF)以及组平均水平的 HRF(show Grp HRF)。

尽管 Homer2 提供了数据导出选项,但是在做后续统计分析并不方便。由于 Homer2 每次处理完数据会在原始数据基础上生成新的变量,因此,可以在 matlab 加载 nirs 文件:load MCKJ.nirs -mat 加载 nirs 文件(.nirs格式只是将 mat 的文件后缀改成.nirs),下图是数据所包含的域以及其代表的意义。后续可通过代码提取感兴趣的变量做后续分析。

 

更多资讯看下图

CSS中div滚动条样式如何设置

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。