{ "info": { "author": "Jason Keith Moore", "author_email": "moorepants@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Physics" ], "description": "=============\nDataProcessor\n=============\n\nDescription\n===========\n\nThis program is setup to process the raw data signals collected from the Davis\nInstrumented Bicycle's data acquisition system (i.e. the output of\nBicycleDAQ_). See [Moore2012]_ for details of the system and experiments.\n\n.. _BicycleDAQ: https://github.com/moorepants/BicycleDAQ\n\nLicense\n=======\n\n`BSD 2-Clause License`_, see ``LICENSE.txt``.\n\n.. _BSD 2-Clause License: http://opensource.org/licenses/BSD-2-Clause\n\nCitation\n========\n\nIf you make use of this data we kindly request that you cite our work, either\n[Moore2012]_, the software DOI, and/or other relevant references.\n\nDependencies\n============\n\n- `Python 2.7`_\n- `NumPy >= 1.6.1`_\n- `SciPy >= 0.9.0`_\n- `Matplotlib >= 1.1.1`_\n- `PyTables >= 2.1.2 and < 3.0.0`_\n- `BicycleParameters >= 0.2.0`_\n- `DynamicistToolKit >= 0.3.4`_\n\n.. _Python 2.7: http://www.python.org\n.. _NumPy >= 1.6.1: http://numpy.scipy.org\n.. _SciPy >= 0.9.0: http://www.scipy.org\n.. _Matplotlib >= 1.1.1: http://matplotlib.sourceforge.net\n.. _PyTables >= 2.1.2 and < 3.0.0: http://www.pytables.org\n.. _BicycleParameters >= 0.2.0: http://pypi.python.org/pypi/BicycleParameters\n.. _DynamicistToolKit >= 0.3.4: https://pypi.python.org/pypi/DynamicistToolKit\n\nInstallation\n============\n\nFor ease of setup we recommend setting up a conda_ environment::\n\n $ conda create -n bdp numpy scipy matplotlib \"pytables<3.0\" pyyaml\n $ source activate bdp\n\nThe remaining dependencies need to be installed with pip::\n\n (bdp)$ pip install \"uncertainties>2.0.0\" \"DynamicistToolKit>=0.3.4\"\n (bdp)$ pip install \"yeadon>=1.1.1\" \"BicycleParameters>=0.2.0\"\n\nAnd finally, this package::\n\n (bdp)$ pip install BicycleDataProcessor\n\n.. _conda: http://conda.pydata.org/\n\nUsage\n=====\n\nLoad the prebuilt database file\n-------------------------------\n\nThe simplest way to get started with the data is to download the database file\nfrom::\n\n $ wget http://files.figshare.com/1710608/instrumented_bicycle_raw_data_h5.tar.bz2\n $ tar -jxvf instrumented_bicycle_raw_data_h5.tar.bz2\n\nAnd also the bicycle parameter data::\n\n $ wget http://files.figshare.com/1710525/bicycle_parameters.tar.gz\n $ tar -zxvf bicycle_parameters.tar.gz\n $ rm bicycle_parameters.tar.gz\n\nIn your working directory, create a ``bdp-defaults.cfg`` and change\n``pathToDatabase`` and ``pathToParameters`` to point to the downloaded and\nunzipped database file and the ``bicycle-parameters`` data directory,\nrespectively. See the ``example-bdp-defaults.cfg`` for reference. This file\nfollows the standard Python configuration file format.\n\nInteract with the data\n----------------------\n\nOpen a Python command prompt and import the module::\n\n >>> import bicycledataprocessor as bdp\n\nFirst load the database::\n\n >>> dataset = bdp.DataSet()\n\nNow load a run::\n\n >>> run = bdp.Run('00105', dataset)\n\nCheck to make sure the data was properly time synchronized::\n\n >>> run.verify_time_sync()\n\nThe graph that appears shows the mostly downward acceleration signals from the\ntwo accelerometers. These signals are used to synchronize the NI USB-2008 and\nthe VN-100 data. If these do not match, then the synchronization algorithm\ndidn't not work and the data may be unusable.\n\nThe run has a lot of data associated with it. Firstly, you can print a subset of\nthe meta data with::\n\n >>> print(run)\n\nThe complete meta data is stored in a dictionary::\n\n >>> run.metadata\n\nThe raw data for each sensor is stored in a dictionary and can be accessed by::\n\n >>> run.rawSignals\n\nThe data for each sensor with calibration scaling can be accessed by::\n\n >>> run.calibratedSignals\n\nThe data for each sensor after truncation based on the time synchronization can\nbe accessed with::\n\n >>> run.truncatedSignals\n\nThe data for each computed signal is also stored in a dictionary::\n\n >>> run.computedSignals\n\nThe data for each task signal is also stored in a dictionary::\n\n >>> run.taskSignals\n\nThe ``taskSignals`` can be plotted::\n\n >>> run.taskSignals.keys() # see a list of options\n >>> run.plot('SteerAngle', 'RollAngle', 'PullForce')\n\nExport the computed signals as a mat file with::\n\n >>> run.export('mat')\n\nBuild the HDF5 file from raw data\n---------------------------------\n\nThe second option would be to build the database with the raw data from\nBicycleDAQ_. BicycleDAQ stores the raw data from trials and calibrations as\nMatlab mat files. Then use this module to create the database and fill it with\nthe data.\n\nThe raw trial data can downloaded as so::\n\n $ wget -O raw-trial-data.zip http://downloads.figshare.com/article/public/1164632\n $ unzip -d raw-trial-data raw-trial-data.zip\n $ rm raw-trial-data.zip\n\nThe raw calibration files::\n\n $ wget -O raw-calibration-data.zip http://downloads.figshare.com/article/public/1164630\n $ unzip -d raw-calibration-data raw-calibration-data.zip\n $ rm raw-calibration-data.zip\n\nAnd the additional corrupt trial file::\n\n $ wget -O data-corruption.csv http://files.figshare.com/1696860/data_corruption.csv\n\nMake sure your ``bdp-defaults.cfg`` paths point to the correct directories for\nthe run mat files (``pathToRunMat``), calibration mat files\n(``pathToCalibMat``), the corrupt data file (``data-corruption.csv``).\nOptionally the paths can be set as arguments to ``DataSet()``.\n\nNow create an empty database file in the current directory (or to the path\nspecified in ``bdp-defaults.cfg`` if you've done that).::\n\n $ python\n >>> import bicycledataprocessor as bdp\n >>> dataset = bdp.DataSet()\n >>> dataset.create_database()\n\nNow, fill the database with the data.::\n\n >>> dataset.fill_all_tables()\n\nThe will take a little time to populate the database.\n\nWarnings\n========\n\n- The roll angle is not guaranteed to be calibrated in some of the early\n pavilion runs. Caution should be used.\n- The first set of pavilion runs with Luke and Charlie are mostly corrupt,\n beware. The corruption column in the ``runTable`` specifies which runs are\n corrupt.\n- The yaw angle and lateral deviation values depend on integrating the yaw\n rate. This seems to work for runs that have signals centered around zero, but\n may be wrong for others. (There are plans to fix this for all runs.)\n\nGrant Information\n=================\n\nThis material is partially based upon work supported by the National Science\nFoundation under Grant No. 0928339. Any opinions, findings, and conclusions or\nrecommendations expressed in this material are those of the authors and do not\nnecessarily reflect the views of the National Science Foundation.\n\nReferences\n==========\n\n.. [Moore2012] Moore, J. K. Human Control of a Bicycle. University of\n California, Davis. 2012.\n\nRelease Notes\n=============\n\n0.1.0\n-----\n\n- Initial PyPi release.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/moorepants/BicycleDataProcessor", "keywords": null, "license": "LICENSE.txt", "maintainer": null, "maintainer_email": null, "name": "BicycleDataProcessor", "package_url": "https://pypi.org/project/BicycleDataProcessor/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/BicycleDataProcessor/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/moorepants/BicycleDataProcessor" }, "release_url": "https://pypi.org/project/BicycleDataProcessor/0.1.0/", "requires_dist": null, "requires_python": null, "summary": "Processes the data collected from the instrumented bicycle.", "version": "0.1.0" }, "last_serial": 1253895, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "6d286b65ed7f3310d2bdb6ebb040494c", "sha256": "590f14c85dc2227d9e7457a265851359c94d5d178d19f8440de97def6599ee5c" }, "downloads": -1, "filename": "BicycleDataProcessor-0.1.0.tar.gz", "has_sig": false, "md5_digest": "6d286b65ed7f3310d2bdb6ebb040494c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42221, "upload_time": "2014-10-10T03:02:26", "url": "https://files.pythonhosted.org/packages/f0/63/e9815948a4d0fe19c20118e249529e212f070a5cbc9fe3700bdb0231b35b/BicycleDataProcessor-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6d286b65ed7f3310d2bdb6ebb040494c", "sha256": "590f14c85dc2227d9e7457a265851359c94d5d178d19f8440de97def6599ee5c" }, "downloads": -1, "filename": "BicycleDataProcessor-0.1.0.tar.gz", "has_sig": false, "md5_digest": "6d286b65ed7f3310d2bdb6ebb040494c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42221, "upload_time": "2014-10-10T03:02:26", "url": "https://files.pythonhosted.org/packages/f0/63/e9815948a4d0fe19c20118e249529e212f070a5cbc9fe3700bdb0231b35b/BicycleDataProcessor-0.1.0.tar.gz" } ] }