用于分析传感器采集的人体运动数据(如体力活动水平、步态动力学)的python包

sensormotion的Python项目详细描述


InstallationRequirementsUsageContributionGetting Help

传感器运动

PyPI - Python VersionPyPIGitHub issueshttps://readthedocs.org/projects/sensormotion/badge/?version=latesthttps://badges.gitter.im/gitterHQ/gitter.png

用于分析传感器采集的人体运动数据的python包(例如 体力活动水平,步态动力学)。

专用加速计装置,如活动记录仪, 通常捆绑软件来分析传感器数据。在我的工作中 我经常从智能手机上收集传感器数据,但一直未能 找到任何可比的分析软件。

这个python包允许用户提取人体运动数据,比如 作为步态/行走动力学,直接来自加速度计信号。 此外,该软件包还允许计算 活动(PA)或中等强度的体力活动(MVPA)计数, 类似于actigraph等公司提供的活动计数数据。

安装

您可以使用pip

pip install sensormotion

要求

这个包有以下依赖项,其中大多数是 python包:

  • python 3.x
    • 安装python的最简单方法是使用 Anaconda分布 还包括下面列出的其他依赖项
    • Python2.x还没有经过测试,因此向后兼容性不是 保证
  • numpy
    • 包括水蟒。否则,请使用pip(pip install numpy)安装
  • scipy
    • 包括水蟒。否则,请使用pip(pip install scipy)安装
  • matplotlib
    • 包括水蟒。否则,请使用pip(pip install matplotlib)安装

使用量

下面是从raw中提取基于步骤的度量的简单示例 垂直加速度数据:

导入包:

importsensormotionassm

如果你有一个垂直加速度信号x,和它对应的 时间信号t,我们可以从使用低通滤波信号开始 过滤器:

b,a=sm.signal.build_filter(frequency=10,sample_rate=100,filter_type='low',filter_order=4)x_filtered=sm.signal.filter_signal(b,a,signal=x)

接下来,我们可以检测滤波信号中的峰值(或谷),它 为我们提供每次检测的时间和价值。我们可以选择 包括信号图和检测到的峰/谷:

peak_times,peak_values=sm.peak.find_peaks(time=t,signal=x_filtered,peak_type='valley',min_val=0.6,min_dist=30,plot=True)

从检测到的峰值,我们可以计算出阶跃指标,比如Cadence 步进时间:

cadence=sm.gait.cadence(time=t,peak_times=peak_times,time_units='ms')step_mean,step_sd,step_cov=sm.gait.step_time(peak_times=peak_times)

有关更深入的教程和更多工作流示例,请查看 在tutorial

我也建议你看看 documentation看到其他 软件包的功能。

贡献

我在业余时间根据需要为我的 研究项目。但是,请求错误修复和新功能 总是受欢迎的!

请参阅develop branch以获取 包的开发版本,并查看issues page以获取错误报告 以及功能请求。

获得帮助

您可以找到该包的完整文档 here

python的内置帮助函数将显示任何模块的文档 或函数:help(sm.gait.step_time)

我们鼓励您将问题、错误报告或功能请求作为 一个issue

或者,提问 Gitter

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

推荐PyPI第三方库


热门话题
serversocket Java服务器socket中断如何   java通过随机类和排序为数组生成数据   @Column length大于255个字符的java实体   java在使用NIO2 API时消除检查异常   java使用用户凭据通过Microsoft Graph API上的控制台应用程序发送电子邮件   java将2个ArrayList一个接一个地显示到jTextArea中,根据输入的数据多次显示   java无法使用导入的库。安卓工作室。谷歌云端点jar   spring boot Neo4j Apoc在java中获取结果摘要时的情况   转义特殊字符javajson   无法在java中使用OpenCV读取图像,涉及unicode路径   swing Document Listener java“无法实例化DocumentListener类型”   java Piglatin,难以理解如何移动“.”一串   java映射请求基于一个可观察对象中的每个元素,使用改进?   java在可扩展字符串中搜索时,如何忽略字符的大小写?   在包中分组类的java约定   python为Java应用程序创建Ubuntu指示小程序   java Camunda:如何通过processInstanceId获取所有已完成的任务