读取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第三方库


热门话题
JavaFileUtils。资源目录上的listFiles()   如何在java安全中禁用日志记录?   列出如何在Java中对对象数组排序   堆栈帧采用的java大小   java在两个布局之间设置交叉淡入动画   java如何在SeleniumWebDriver中选择oiselect的值   java无法获取类型为org的对象的未知属性“实现”。格拉德尔。应用程序编程接口。内部的人工制品dsl。依赖关系。DefaultDependencyHandler   未找到java Android onClick内部片段   java CXF:无法创建加密类null   web服务java 1.6枚举问题com。国际商用机器公司ws。网络服务。发动机枚举。风格包裹   java将整行作为字符串数组从具有多列的树元素中获取   java在不调整窗口大小的情况下不显示所有元素   java如何在activemq中创建/预配置持久订户。xml,以便在ActiveMQ启动时准备好这些订阅?   java垃圾收集能保证程序不会耗尽内存吗?   如何从C++或PHP发送数据到java?   java Guava迭代器,并在列表对象中对列表进行迭代   java Android SQite数据库搜索和查找列错误   基于MySQL和Java的排序函数优化   具有持久性的java消息会卡在嵌入Tomcat的ActiveMQ中