跳转到主要内容

诱发潜力分析软件

项目描述

ABR分析

此程序有助于对听觉诱发电位进行分析(通过听觉脑干反应和复合动作电位进行测试)。您可以在单次实验期间收集的波形系列进行可视化,并识别阈值,提取波形中每个单独峰值的幅度和潜伏期。

程序与NCRAR的IHS系统导出的文本文件兼容。

安装

入门

开始最简单的方法是下载Anaconda Python发行版。安装完成后,您将在开始菜单中找到新程序。打开Anaconda Prompt,并输入以下命令序列来安装程序

conda create -n ncrar-abr python>=3.9
conda activate ncrar-abr
pip install ncrar-abr
conda run -n ncrar-abr ncrar-abr-make-shortcuts

请注意,软件的先前版本会自动将快捷方式添加到开始菜单。现在,必须通过在Anaconda Prompt中运行以下命令来创建这些快捷方式(您可以在输入pip install ncrar-abr后立即运行)。

conda run -n ncrar-abr ncrar-abr-make-shortcuts

然后您将在Windows开始菜单中有一个快捷方式。

运行试点版本

如果您希望在保留当前副本的情况下测试ABR程序的较新版本(例如,测试新功能),您可以在主版本旁边安装新版本。最佳方法是打开Anaconda Prompt,并输入

conda create -n ncrar-abr-test python>=3.9
conda activate ncrar-abr-test
pip install ncrar-abr

用法

Main interface

程序的主要界面允许您配置以下设置。所有设置都是必需的

分析器
您的姓名首字母。这将作为输出文件名的一部分保存。
文件格式
您将要分析文件的类型。目前只支持IHS文本导出。
校准文件
一个Excel文件,将标称值(即输入IHS系统的值)映射到实际(即测量的)刺激水平。
潜伏期文件
一个Excel文件,为每个刺激频率和波形提供建议的潜伏期。这有助于峰值选择。
测量波
您希望测量的波。如果没有勾选任何项,则只测量阈值。
过滤器?
如果没有勾选,则不应用过滤。否则,应用带通滤波器。
研究文件夹
包含研究数据的文件夹。如果您使用的是“启动批处理”、“导出分析”或“比较评分者”选项,则此选项是必需的。

所有设置都已保存,以便您每次打开程序时无需重新输入。

必需文件

校准文件

校准文件是必需的,并确保输出文件(由分析程序生成)记录正确的(校准)水平。所有实验必须在校准文件中有一个条目。如果需要,可以为每个研究维护一个单独的校准文件。电子表格必须包含以下列的单个工作表

  • IHS系统编号:系统编号(不包括IHS),例如,5453或7141。
  • IHS系统展台:这是您内部参考的,不用于ABR程序。
  • 校准日期:校准运行的日期。如果日期与实验日期相同,则假定校准是在数据收集之前运行的。
  • 校准频率:刺激(或点击)的频率。
  • 实际水平:IHS上拨入的实际(即测量的)水平。
  • IHS上的水平:在IHS系统上输入的水平。

我们对校准要求相当严格。在加载实验时,将执行以下步骤

  • 找到在实验日期之前或当天进行的最新校准。如果最新校准比六个月旧,则会报告错误,并且文件不会加载。
  • 在校准文件中查找刺激频率和水平。由于实验文件中的刺激水平是IHS系统上输入的值,因此它与IHS上的水平列相匹配。如果缺少精确的刺激频率和水平组合,则报告错误,并且文件不会加载。

Calibration error example

潜伏期文件

潜伏期文件包含每个感兴趣波的建议潜伏期(平均值和标准差)。由于潜伏期可能随刺激而变化,因此每个刺激都有一个行。确保为每个要分析的刺激和波提供条目。输入点击为clickClick。脉冲串必须以kHz为单位输入(例如,1346)。每个波的平均值和标准差作为先验值,用于加权峰值检测算法,以便更可能正确地识别峰值,并需要最小的调整。潜伏期必须在名为latencies的工作表中提供的Excel电子表格中。当运行研究文件夹的批量导出时,它将生成一个具有适当latencies工作表的Excel电子表格(这将允许您使用历史数据来指导未来的分析)。

功能

启动基本
这允许您打开标准版本的程序,该程序具有一个界面,允许您一次可视化多个数据文件(通过拆分和重新排列停靠窗口)。您可以将一个或多个IHS文本文件拖放到窗口中。每个文件中的每个频率都将打开一个单独的选项卡(即每个文件中的三个频率将打开六个选项卡)。界面允许您“拆分”选项卡并将它们并排放置。
启动批处理
此功能将自动扫描研究文件夹中需要由指定分析器评分的数据。所有未处理的数据将显示给您。完成并保存分析后,它将立即跳转到下一个数据集。可以使用页面上下键在不评分的情况下浏览分析。算法**不**检查筛选设置和/或测量的波是否与现有分析中的内容匹配(它仅检查是否存在分析文件及其评分者的初始设置。
导出分析
此功能将扫描整个研究文件夹,并创建一个包含三个标签页(阈值、波、潜伏期)的Excel总结工作表。潜伏期标签页的格式可以用于GUI中的“潜伏期文件”选项。

输出格式

每个点的幅度和潜伏期以及系列的阈值都将保存。如果该点是亚阈值波形的一部分,则保存潜伏期的相反数(即在解析文件时,可以通过负潜伏期识别亚阈值数据)。如果需要,可以使用亚阈值点的幅度来估计噪声地板。如果标记了一个峰值无法评分,则该值在文件中显示为NaN。

界面

Main interface

一般交互

每个波形都使用巴特沃斯滤波器进行带通滤波。此滤波过程消除了基线漂移以及可能干扰峰值查找算法的高频噪声。与程序交互的主要方式是通过键盘。您可以通过上下箭头在波形堆栈中导航,并通过按相应的数字(1-5)选择一个点。一旦选择了一个点(它将变成白色方块),您可以使用左右箭头键沿波形移动它。由于算法依赖于P1-5的位置来计算N1-5的最佳可能估计,因此在要求算法估计N1-5之前,您应先校正P1-5的位置。您还可以通过导航到适当的波形(通过上下箭头)并按“t”键来指定阈值。

典型的步骤顺序如下

  • 加载波形并调整视图。您可以通过按“n”在原始和归一化模式之间切换。如果最上面的波形不在屏幕上,您可以通过按Shift+Down将其向下移动。如果最下面的波形不在屏幕上,您可以通过按Shift+Alt+Up将其向上移动。
  • 使用箭头键导航到具有阈值的级别,并按“t”键来指定阈值。如果所有波形都在阈值以上,则可以按“Alt+Up”(或单击“所有高于阈值”)。如果所有波形都在阈值以下,则可以按“Alt+Down”(或单击“所有低于阈值”)。
  • 按“ I”键自动猜测正峰的位置。通过上下导航通过波形并按相应的数字键(1 ... 5)选择峰值。一旦选择了一个峰值,就可以进行微调调整。左右箭头将跳转到下一个识别的峰值。使用左右箭头时按住Alt键,可以以更小的增量调整峰值。
  • 在您对正峰的位置满意后,再次按“ I”键来猜测负峰的位置。这次,在按相应的数字键的同时按Alt键来选择负峰。
  • 一旦您对分析满意,可以按“ S”键保存它。一个弹出窗口将指示数据已成功保存。

其他详细信息

当前波形以粗黑线显示。指定阈值后,亚阈值波形用灰色线表示。所选点用白色方块表示。负值用三角形表示,正值用方块表示。红色是P1/N1,黄色是P2/N2,绿色是P3/N3,浅蓝色是P4/N4,深蓝色是P5/N5。

分析波形时可以使用以下键

**上下箭头**
在系列中选择上一个/下一个波形
**左右箭头**
将切换的峰值沿波形向左或向右移动。峰值移动将“跳转”到波形中的估计峰值。要精细调整峰值,同时按住alt键。
**数字键1-5**
选择当前波形上的相应峰值。要选择N1-5,按住alt键的同时按下相应的数字。
**I**
首次点击估计所有波形的P1-5。第二次点击估计所有波形的N1-5。之后,不会发生任何操作。
**U**
根据当前切换的P或N的位置更新后续波形的相应P或N的估计值。
**N**
切换波形的归一化视图。
**+/-键**
增加/减少波形的缩放因子。
**S**
保存峰值的振幅和延迟。
**T**
将阈值设置为当前波形。
**Alt+Up**
指示所有波形都低于阈值。
**Alt+Down**
指示所有波形都高于阈值。
**Shift+Up**
向上移动最顶部的波形。
**Shift+Down**
向下移动最顶部的波形。
**Shift+Alt+Up**
向上移动最底部的波形。
**Shift+Alt+Down**
向下移动最底部的波形。
**Delete**
切换峰值是否可评分。

更改

版本1.0.0

构建系统变更

我们已停止使用conda-build创建Anaconda包。这些包需要超过一小时才能构建,并且非常脆弱。相反,我们已切换到使用GitHub actions构建一个包,该包会自动上传到PyPI。

从IHS文件加载数据

在收到IHS的反馈后,许多之前硬编码到IHS文本导出文件读取器的值已经被纠正。原始代码做了以下假设

  • 对于105 dB peSPL或更大的刺激水平,波形缩放因子被硬编码为1/3.37e2。
  • 对于小于105 dB peSPL的刺激水平,波形缩放因子被硬编码为1/6.74e2。

然而,缩放因子的正确公式是基于文件中记录的扫描次数和增益。

  • 对于105 dB peSPL或更大的刺激水平,增益设置为100(在IHS文本导出的文件头中的“amp. gain”中找到此值)且扫描次数设置为1024。
  • 对于小于105 dB peSPL的刺激水平,增益设置为100(在IHS文本导出的文件头中的“amp. gain”中找到此值)且扫描次数设置为2048。

那么,您可以乘以1.004368915372173倍的峰值振幅,以便使用旧版本软件分析的数据可以与使用2023.06.02或更晚版本分析的数据进行比较。有一些重要的例外需要注意。例如,lime机舱中的IHS系统校准了105 dB peSPL的刺激;然而,在IHS中输入为104 dB peSPL。即使这是一个105 dB peSPL的刺激,也应用了错误的缩放因子。因此,除了乘以1.004368915372173之外,您还需要再乘以两次。

此外,似乎不同的IHS系统可能导出不同的“零点”。所有保存到文件的波形都包含约12.5毫秒的预刺激基线;然而,这因系统而异。我们最初假设这是12.8毫秒的预刺激基线。然而,这因系统而异。因此,使用此版本之前版本在lime系统上收集的数据将具有比预期晚0.9毫秒的延迟。

项目详细信息


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

ncrar-abr-2024.2.14.tar.gz (336.6 kB 查看哈希值)

上传时间 源代码

构建分发

ncrar_abr-2024.2.14-py3-none-any.whl (334.4 kB 查看哈希值)

上传时间 Python 3

由以下支持