【fNIRS可视化学习1】基于NIRS-SPM进行光极可视化并计算通道坐标


一、前言

  功能性近红外光谱(fNIRS)是一种无创的脑功能成像技术。在fNIRS研究中,光极的空间定位和通道坐标的计算至关重要。

1.光极可视化

  光极可视化的重要性我就不赘述了,它可以直观检查probe设计的合理性,确认光极覆盖目标脑区,帮助优化光极排布方案,以及用于结果展示和论文发表。

2.计算通道的MNI坐标

  其实笔者学习使用NIRS-SPM的主要动机并非光极可视化,因为相信大家可以看出来,NIRS- SPM的绘图风格还是比较上古世纪的😭,而是为了解决通道的皮层空间MNI坐标计算问题。因为我们通过3D定位仪或是EEG10-5系统得到的都是头皮空间的点,如何高效的求解到头皮空间投影到大脑皮层空间的MNI坐标,准确定位激活脑区,并且与fMRI的研究进行比较,就需要用到NIRS-SPM。

二、配置说明

1.NIRS-SPM v4.1【https://www.nitrc.org/projects/nirs_spm/

2.SPM5【SPM5 Software - Statistical Parametric Mapping

  有一说一,我在使用NIRS-SPM的时候有感受到,这个软件开发时间距离现在还是挺久远的,如果想让它读取模版顺利,最好还是下载和它兼容性最高的SPM5吧,使用的时候重新设置一下路径。以及笔者使用MATLAB2020a,+WINDOWS发现,部分脚本中的变量加载语法需要手动调整,我都没用来分析任务态,不然应该还有更多需要自己调试的地方。纯粹为了进行可视化和快速得到通道MNI坐标。

三、实现原理:

1.代码过程

  笔者主要是读NIRS- SPM里的这个"NIRSget_channelpos.m"代码学习的坐标系转化过程。核心过程如下:

  Digitizer空间 → MRI空间 → MNI空间 → 皮层表面

2.数学原理

  至于头皮空间和皮层空间之间的投影,主要通过“ProjectionBS_f”函数实现,其中运用的是气球膨胀算法(Balloon-inflation algorithm)。之前有幸研究经颅脑图谱的时候,有复现过这个算法,可以回答经颅研究的问题:如何准确地找到头皮上的测量点对应的大脑皮层投射位置?传统TMS和fNIRS研究中,我们曾需要依赖人工经验或者简单的几何模型来确定投射点,精确度和效率都不尽如人意。气球膨胀算法通过模拟物理过程,提供了一个更自然高效的解决方案。

  

复现的步骤图

  1.初始条件定义
  设头皮上的目标点为P₀(x₀, y₀, z₀),需要在大脑皮层点集S上找到最合适的投影点P'。

  2.局部点云提取
  首先计算目标点P₀到皮层表面所有点的欧氏距离:
  d(P₀, Pi) = √[(x₀-xi)² + (y₀-yi)² + (z₀-zi)²]
 选取距离最小的200个点构成子集S'。

  3.初始投影方向确定
  计算S'的质心C:
  C = (1/n)∑Pi, Pi∈S'
  其中n=200。
  初始投影向量v = C - P₀

  4.圆柱体搜索空间构建
  以v为轴线,构建半径r的圆柱体搜索空间:
  对于点P(x,y,z),满足:
  |(P - P₀) × v|/|v| ≤ r
  其中×表示叉积,这个不等式定义了圆柱体的边界条件。

  5.最终投影点计算
  在圆柱体空间内找到最近的3个点{P₁, P₂, P₃}
  最终投影点P' = (P₁ + P₂ + P₃)/3

四、操作步骤

1.准备光极文件

  格式可以参考your_path_to\NIRS_SPM_v4_r1\Sample_data\Registration里的MNI_standalone_optd_Singh05_NeuroImage.txt。

  NIRS- SPM不区分source和detector,在它那里众生平等都叫光极,所以从上到下写x,y,z就可以。

2.准备通道配置文件

    格式可以参考your_path_to\NIRS_SPM_v4_r1\Sample_data\Ch_config里的Standalone_Singh2005_NeuroImage.txt。

  只需要把每个channel是哪两个光极相连写出来就行。

3.导入文件

   分别导入光极坐标.txt,和通道配置.txt,既可以收货远古风格fNIRS光极排布可视化图片几张。

后记

  不要忘记SAVE channel的MNI文件,这是NIRS-SPM提供给我们的重要信息!

在进行功能性近红外谱(fNIRS)数据分析时,使用NIRS-KIT工具箱可以大地简化分析过程。为帮助你掌握如何进行基本预处理和分析,推荐以下步骤和操作:(具体步骤、代码示例、数据分析图表、扩展学习建议,此处略) 参考资源链接:[MATLAB工具箱NIRS-KIT实现fNIRS数据分析](https://wenku.csdn.net/doc/2vb1vusqec?spm=1055.2569.3001.10343) 1. 数据导入:首先,你需要将fNIRS数据导入MATLAB中。NIRS-KIT提供了一系列函数来读取不同格式的数据文件,例如NIRS-SPM格式或自定义格式。 2. 数据预处理:对数据进行初步检查,包括滤波和去除噪声。NIRS-KIT中的预处理模块可以帮助你快速完成这些步骤,例如去除运动伪影、心率和呼吸噪声等。 3. 统计分析:完成预处理后,你可以使用一般的线性模型(GLM)等统计方法对任务相关的脑活动变化进行分析。 4. 结果可视化:数据分析完成后,NIRS-KIT中的可视化工具可以帮助你生成时间序列图表、统计映射图以及三维脑图等,直观地展示你的分析结果。 5. 逆向建模:如果你想进一步确定大脑中活跃区域的位置,可以使用NIRS-KIT提供的源定位功能进行逆向建模。 通过以上步骤,你可以高效地对fNIRS数据进行基本处理和分析,从而进行任务状态和静息状态下的脑功能研究。如果你希望深入了解NIRS-KIT工具箱的更多高级功能和fNIRS数据分析的深入知识,建议参考《MATLAB工具箱NIRS-KIT实现fNIRS数据分析》这本书籍。该资源详细介绍了各个功能模块的使用方法,提供了丰富的案例研究和实际操作指导,将有助于你成为神经科学研究中的数据分析专家。 参考资源链接:[MATLAB工具箱NIRS-KIT实现fNIRS数据分析](https://wenku.csdn.net/doc/2vb1vusqec?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值