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

一、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×1 1
nDets 探测器数 1×1 2
SrcPos 源坐标阵列 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 数据时间点数组 时间点数×1
d 时间序列的原始光强 时间点数×通道数
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时这些时间段包括的刺激 mark 将不再考虑。

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

3.4 mark信息的编辑

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

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),下图是数据所包含的域以及其代表的意义。后续可通过代码提取感兴趣的变量做后续分析。

更多资讯看下图

手把手教你用 Homer 处理 fNIRS 数据相关推荐

  1. python爬取资料怎么样_手把手教你Python爬取新房数据

    原标题:手把手教你Python爬取新房数据 项目背景 新房数据,对于房地产置业者来说是买房的重要参考依据,对于房地产开发商来说,也是分析竞争对手项目的绝佳途径,对于房地产代理来说,是踩盘前的重要准备. ...

  2. 以『公众号』为例,手把手教你爬取PC端数据

    之前教过大家如何爬取手机APP数据[以某乎为实战案例,教你用Python爬取手机App数据] 思路:主要是通过手机设置代理,然后在pc端开启抓包工具获取数据包,然后在编写python代码(get方式) ...

  3. 手把手教你用seq2seq模型创建数据产品(附代码)

    原文标题:How To Create Data Products That Are Magical Using Sequence-to-Sequence Models 作者:Hamel Husain ...

  4. 【手把手教你】Python获取财经数据和可视化分析

    内容来自:微信公众号:python金融量化 关注可了解更多的金融与Python干货. "巧妇难为无米之炊",找不到数据,量化分析也就无从谈起.对于金融分析者来说,获取数据是量化分析 ...

  5. 手把手教你用YOLOv5算法训练数据和检测目标(不会你捶我)

    前言 本人从一个小白,一路走来,已能够熟练使用YOLOv5算法来帮助自己解决一些问题,早就想分析一下自己的学习心得,一直没有时间,最近工作暂时告一段落,今天抽空写点东西,一是为自己积累一些学习笔记,二 ...

  6. python刷题一亩三分地_手把手教你用python抓网页数据【一亩三分地论坛数据科学版】...

    前言:. visit 1point3acres.com for more. 数据科学越来越火了,网页是数据很大的一个来源.最近很多人问怎么抓网页数据,据我所知,常见的编程语言(C++,java,pyt ...

  7. 手把手教你使用Dygraphs可视化时间序列数据(附代码、链接)

    作者:Margo Schaedel 翻译:张一豪 校对:丁楠雅 本文约1200字,建议阅读5分钟. 本文将介绍如何使用JavaScript的图形库Dygraphs来动态地可视化存储在InfluxDB( ...

  8. 数据双向绑定_手把手教你用JavaScript如何实现数据双向绑定

    近几年前端技术栈真是发展的太迅速了,从以前的针对dom操作的框架如jquery,ext.js等框架逐步过渡到当前的mvvm模式,让前端开发者将注意力从dom操作逐渐解脱出来,专注于逻辑的实现,个人认为 ...

  9. 手把手教你Python获取全部金融数据

    恒有数(UDATA)金融数据社区,由恒生电子出品.社区推出了Python金融量化资源合集(持续更新),建议收藏.

最新文章

  1. coreldraw水涟漪怎么做_凉皮调料水的做法 调凉皮的调料水怎么做
  2. python读取文件特定内容_python读取指定内存的内容
  3. SQLServer:用户自定义数据类型用法
  4. Java——多线程(线程安全问题)
  5. 计算机科学的鼻祖,现代计算机科学的鼻祖,编程界的上帝
  6. windows下执行testng用例
  7. 数据库课程设计 医院管理系统 SQL
  8. centos php ioncube_如何在CentOS 7云服务器上安装ionCube?
  9. 分析、归纳、综合、演绎
  10. 音乐心理学 | 书籍推荐
  11. 解决contenteditable内自动生成font标签问题
  12. 金融货币学笔记(米什金)第一章 为什么研究货币、银行与金融市场
  13. 今年双旦期间简直人品爆棚,晒晒我抽中的趣享付趣号卡
  14. 什么是用计算机的主存,计算机的主存储器是指什么
  15. DAY2_L2正则化
  16. ping 的错误回应
  17. markdown 图片索引
  18. IDEA系列新手上路(作者使用经历,长篇预警)
  19. rtp协议丢包以及包重复判断
  20. 链全财经成功举办WBO第一届世界区块链高峰论坛

热门文章

  1. IO多路复用select,poll epoll以及区别
  2. 遗传算法--函数最值问题
  3. AcFun_API 之 分页读取番剧列表
  4. 构建Raspberry Pi,脉冲传感器和LCD的心跳计数器
  5. 深度学习最全优化方法总结比较(SGD,Adagrad,Adadelta,Adam,Adamax,Nadam)
  6. 自助提取公积金(北京)
  7. 键盘定位板图纸_防火卷帘轨道安装强制定位
  8. 计算机未来设计建筑,未来设计的趋势解析,参数化设计及创意设计案例欣赏
  9. 服务器硬盘数据备份到nas,谁说固态硬盘做存储是鸡肋?NAS存储服务器还能这样玩...
  10. 坚果O1S画面竟然出现折边?对比同价位当贝D3X,坚果O1S值得入手吗?