处理从仪表化自行车收集的数据。
BicycleDataProcessor的Python项目详细描述
说明
这个程序是用来处理从davis收集的原始数据信号的 仪表化自行车数据采集系统(即 BicycleDAQ)。有关系统和实验的详细信息,请参见[Moore2012]。
许可证
BSD 2-Clause License,请参阅LICENSE.txt。
引文
如果您使用这些数据,我们恳请您引用我们的工作,或者 [Moore2012]、软件doi和/或其他相关引用。
依赖关系
安装
为了便于设置,我们建议设置一个conda环境:
$ conda create -n bdp numpy scipy matplotlib "pytables<3.0" pyyaml $ source activate bdp
其余依赖项需要与pip一起安装:
(bdp)$ pip install "uncertainties>2.0.0" "DynamicistToolKit>=0.3.4" (bdp)$ pip install "yeadon>=1.1.1" "BicycleParameters>=0.2.0"
最后,这个包:
(bdp)$ pip install BicycleDataProcessor
用法
加载预构建的数据库文件
开始使用数据的最简单方法是下载数据库文件 发件人:
$ wget http://files.figshare.com/1710608/instrumented_bicycle_raw_data_h5.tar.bz2 $ tar -jxvf instrumented_bicycle_raw_data_h5.tar.bz2
以及自行车参数数据:
$ wget http://files.figshare.com/1710525/bicycle_parameters.tar.gz $ tar -zxvf bicycle_parameters.tar.gz $ rm bicycle_parameters.tar.gz
在工作目录中,创建一个bdp-defaults.cfg并更改 pathToDatabase和pathToParameters指向下载的 解压缩的数据库文件和bicycle-parameters数据目录, 分别是。参考example-bdp-defaults.cfg。这个文件 遵循标准的python配置文件格式。
与数据交互
打开python命令提示符并导入模块:
>>> import bicycledataprocessor as bdp
首先加载数据库:
>>> dataset = bdp.DataSet()
现在加载运行:
>>> run = bdp.Run('00105', dataset)
检查以确保数据正确地进行了时间同步:
>>> run.verify_time_sync()
出现的图表显示了 两个加速计。这些信号用于同步NI USB-2008和 vn-100数据。如果这些不匹配,则同步算法 无法工作,数据可能无法使用。
运行有很多与之相关的数据。首先,您可以打印 元数据:
>>> print(run)
完整的元数据存储在字典中:
>>> run.metadata
每个传感器的原始数据存储在字典中,可通过以下方式访问:
>>> run.rawSignals
可通过以下方式访问每个具有校准刻度的传感器的数据:
>>> run.calibratedSignals
基于时间同步的截断后每个传感器的数据可以 使用:
>>> run.truncatedSignals
每个计算信号的数据也存储在字典中:
>>> run.computedSignals
每个任务信号的数据也存储在字典中:
>>> run.taskSignals
可以绘制taskSignals:
>>> run.taskSignals.keys() # see a list of options >>> run.plot('SteerAngle', 'RollAngle', 'PullForce')
将计算出的信号导出为mat文件,其中:
>>> run.export('mat')
从原始数据构建hdf5文件
第二种选择是使用 BicycleDAQ。BicycleDaq将试验和校准的原始数据存储为 MatlabMat文件。然后使用此模块创建数据库并用 数据。
原始试用数据可以下载如下:
$ wget -O raw-trial-data.zip http://downloads.figshare.com/article/public/1164632 $ unzip -d raw-trial-data raw-trial-data.zip $ rm raw-trial-data.zip
原始校准文件:
$ wget -O raw-calibration-data.zip http://downloads.figshare.com/article/public/1164630 $ unzip -d raw-calibration-data raw-calibration-data.zip $ rm raw-calibration-data.zip
以及其他损坏的试用文件:
$ wget -O data-corruption.csv http://files.figshare.com/1696860/data_corruption.csv
确保bdp-defaults.cfg路径指向 运行mat文件(pathToRunMat),校准mat文件 (pathToCalibMat),损坏的数据文件(data-corruption.csv)。 可选地,路径可以设置为DataSet()的参数。
现在在当前目录(或路径)中创建一个空数据库文件 在bdp-defaults.cfg中指定(如果您已经这样做了)。:
$ python >>> import bicycledataprocessor as bdp >>> dataset = bdp.DataSet() >>> dataset.create_database()
现在,用数据填充数据库。
>>> dataset.fill_all_tables()
填充数据库需要一点时间。
警告
- 在早期的某些情况下,不能保证对辊角进行校准 展馆运行。应谨慎使用。
- 与卢克和查理合作的第一组展馆大多是腐败的, 当心。runTable中的损坏列指定运行的是 腐败的。
- 偏航角和横向偏差值取决于偏航积分 速度。这似乎适用于信号以零为中心的运行,但是 可能对其他人是错误的。(有计划为所有运行修复此问题。)
授权信息
这部分材料是基于国家科学基金会的工作 基金会批准号:0928339。任何意见、发现和结论或 本材料中的建议是作者的建议,而不是 必然反映国家科学基金会的观点。
参考文献
[Moore2012] | (1, 2) Moore, J. K. Human Control of a Bicycle. University of California, Davis. 2012. |
发行说明
0.1.0
- 初始PYPI发布。