读取opensignals(r)进化文件的python包。

opensignalsreader的Python项目详细描述


打开信号阅读器

python包读取OpenSignals (r)evolution文件并自动转换BITalino (r)evolution传感器数据。

重要: 此存储库不包含plux和/或bitalino团队编写的任何代码。如果在使用opensignalsreader时遇到任何问题,或者如果需要任何支持,请使用issue board of the opensignalsreader repository,而不要联系plux。

安装

可以使用pip工具安装此包:

pipinstallopensignalsreader

示例&如何使用此软件包

这个包附带了opensignalsreader类,该类有助于导入使用opensignals(r)evolution软件获取的传感器信号。此外,它还读取和保存最重要的采集元数据。

下面的示例演示如何使用此类加载opensignals文件、访问信号、访问元数据,以及如何绘制导入的传感器数据。

读取opensignals文件

导入opensignalsreader类并读取opensignals文件('sampleecg.txt')。

# Import OpenSignalsReaderfromopensignalsreaderimportOpenSignalsReader# Read OpenSignals fileacq=OpenSignalsReader('SampleECG.txt')

注意,在脚本(或其他格式)中使用OpenSignalsReader类时,请使用绝对文件路径以确保找到并使用该文件。

访问传感器数据

OpenSignalsReader类的对象存储原始的数字传感器值,并将其转换为传感器的原始物理单位(例如ecg->;mv)。使用OpenSignalsReader.raw()OpenSignalsReader.signal()方法访问信号。

访问单个传感器数据(此方法返回numpy数组中的数据):

# Access single sensor signal using the sensor's channel numberacq.raw(2)acq.signal(2)# Access single sensor signal using the sensor's labelacq.raw('ECG')acq.signal('ECG')

访问多个传感器数据(此方法以传感器标签为键返回字典中的数据):

# Access multiple sensor signals using the channel numbers (here: channel 1 & 2)acq.raw([1,2])acq.signal([1,2])# Access multiple sensor signals using the sensor labels (here: channel 1 & 2)acq.raw(['ECG','EEG'])acq.signal(['ECG','EEG'])

绘制传感器数据

openSignalsReader类具有如下所示的绘图功能。

读取opensignals文件并绘制所有信号。

# Read OpenSignals file and plot all signalsacq=OpenSignalsReader('SampleECG.txt',show=True)# Read OpenSignals file and plot all raw signals.acq=OpenSignalsReader('SampleECG.txt',show=True,raw=True)

绘制单通道ECG信号的结果如下。

Image

或者,使用OpenSignalsReader.plot()和信号传感器标签或通道号选择要绘制的单个信号。

# Plot ECG signal using the channel numberacq.plot('ECG')# Plot ECG signal using the sensor labelacq.plot(2)# Plotting multiple signals using the channel numberacq.plot(['ECG','EMG'])# Plotting multiple signals using the sensor labelacq.plot([1,2])

要绘制原始信号,请将raw参数设置为True

# Plot raw ECG dataacq.plot('ECG',raw=True)

bitalino(r)演化传递函数

这个包包括bitalino_tf模块,它包含当前bitalino(r)进化传感器的所有可用传输函数。它被opensignalsreader类用于将从opensignals文件导入的原始信号样本转换为其原始单位。

如果您不想从opensignals文件导入信号,而希望在自己的软件中转换传感器信号,则此软件包也很有用。

使用传感器的传递函数,可以将Bitalino样本序列转换为原始单位。下面以ECG传感器为例,介绍如何使用本模块的功能。

importnumpyasnpimportopensignalsreader.bitalino_tfasbitsignal=np.loadtxt('SampleECG.txt','r')[:,-1]# Convert signal to mV (10-bit resolution as default resolution)ecg_signal=bit.ecg(signal)# Convert signal acquired with 6-bit sampling resolutionecg_signal=bit.ecg(signal,6)

当前支持的传感器列表(数据表):

有用链接

有关Bitalino(R)Evolution传感器的详细文档,请参见:

http://bitalino.com/en/learn/documentation

bitalino(r)evolution示例文件可以在这里找到:

https://github.com/BITalinoWorld/revolution-sample-data

从Bitalino网站下载OpenSignals(R)Evolution软件:

http://bitalino.com/en/software

重要注意事项

  • 不要向plux发送使用此软件包的支持电子邮件。这个包不是Plux的任何解决方案的一部分,而是一个独立的开源包,可以方便地导入存储在OpenSignals文件中的数据。使用issue board of this repository以防发现此包有任何问题或需要任何支持。
  • .h5或.edf fo中的opensignals(r)演进文件还不支持rmat
  • 不支持多设备采集功能(目前仅限于单个设备)
  • 标绘信号的数量目前仅限于6个信号

依赖性

这项工作的背景

此软件包是德国汉堡应用科学大学和Plux Wireless Biosignals,S.A.的硕士论文“开发用于心率变异性(HRV)的开源Python工具箱”的一部分。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用McClickListener单击了什么元素   Java时间戳在Oracle时间戳中不同情况下存储12 PM的奇怪行为   java无法使用事件总线对运行在不同机器上的垂直体进行通信   java Mockserver:收到请求后进行回调   java无法将Json字符串转换为Map<string,Object>   java如何按升序排列输出?   java视图行,带有oracle键。jbo。在SrCategoryParentIterator中找不到键[300100120394155]   javafxmysql连接示例   java正在等待加载完成   java是否可以将同一个有状态会话bean实例注入多个其他会话bean?   java无法让万向节检测离开或进入区域   使用JavaCV和OpenCV的java提供了dyld:lazy符号绑定失败:找不到符号:__sincos_stret   xml解析无法使用Java读取xml文档   java无法更改工具栏的颜色   javaapachesshd和JSCH   java无法在firebase存储中检索图像url   java问题与executeUpdate   同一应用程序中不同活动之间的java SharedReference