{ "info": { "author": "Simon Ho", "author_email": "simonho213@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Topic :: Scientific/Engineering" ], "description": "`Installation`_ | `Requirements`_ | `Usage`_ | `Contribution`_ | `Getting Help`_\n\nSensor Motion\n=============\n\n.. image:: https://img.shields.io/pypi/pyversions/sensormotion.svg\n :alt: PyPI - Python Version\n :target: https://pypi.org/project/sensormotion/\n\n.. image:: https://img.shields.io/pypi/v/sensormotion.svg\n :alt: PyPI\n :target: https://pypi.org/project/sensormotion/\n\n.. image:: https://img.shields.io/github/issues/sho-87/sensormotion.svg\n :alt: GitHub issues\n :target: https://github.com/sho-87/sensormotion/issues\n\n.. image:: https://readthedocs.org/projects/sensormotion/badge/?version=latest\n :target: http://sensormotion.readthedocs.io\n\n.. image:: https://badges.gitter.im/gitterHQ/gitter.png\n :target: https://gitter.im/sensormotion/lobby\n\n.. inclusion-marker-main-readme\n\nPython package for analyzing sensor-collected human motion data (e.g.\nphysical activity levels, gait dynamics).\n\nDedicated accelerometer devices, such as those made by Actigraph,\nusually bundle software for the analysis of the sensor data. In my work\nI often collect sensor data from smartphones and have not been able to\nfind any comparable analysis software.\n\nThis Python package allows the user to extract human motion data, such\nas gait/walking dynamics, directly from accelerometer signals.\nAdditionally, the package allows for the calculation of physical\nactivity (PA) or moderate-to-vigorous physical activity (MVPA) counts,\nsimilar to activity count data offered by companies like Actigraph.\n\nInstallation\n------------\n\nYou can install this package using ``pip``:\n\n::\n\n pip install sensormotion\n\nRequirements\n------------\n\nThis package has the following dependencies, most of which are just\nPython packages:\n\n- **Python 3.x**\n\n - The easiest way to install Python is using the\n `Anaconda `__ distribution, as it\n also includes the other dependencies listed below\n\n - Python 2.x has not been tested, so backwards compatibility is not\n guaranteed\n\n- **numpy**\n\n - Included with Anaconda. Otherwise, install using pip (``pip install numpy``)\n\n- **scipy**\n\n - Included with Anaconda. Otherwise, install using pip (``pip install scipy``)\n\n- **matplotlib**\n\n - Included with Anaconda. Otherwise, install using pip (``pip install matplotlib``)\n\nUsage\n-----\n\nHere is brief example of extracting step-based metrics from raw\nvertical acceleration data:\n\nImport the package:\n\n.. code:: python\n\n import sensormotion as sm\n\nIf you have a vertical acceleration signal ``x``, and its corresponding\ntime signal ``t``, we can begin by filtering the signal using a low-pass\nfilter:\n\n.. code:: python\n\n b, a = sm.signal.build_filter(frequency=10,\n sample_rate=100,\n filter_type='low',\n filter_order=4)\n\n x_filtered = sm.signal.filter_signal(b, a, signal=x)\n\nNext, we can detect the peaks (or valleys) in the filtered signal, which\ngives us the time and value of each detection. Optionally, we can\ninclude a plot of the signal and detected peaks/valleys:\n\n.. code:: python\n\n peak_times, peak_values = sm.peak.find_peaks(time=t, signal=x_filtered,\n peak_type='valley',\n min_val=0.6, min_dist=30,\n plot=True)\n\nFrom the detected peaks, we can then calculate step metrics like cadence\nand step time:\n\n.. code:: python\n\n cadence = sm.gait.cadence(time=t, peak_times=peak_times, time_units='ms')\n step_mean, step_sd, step_cov = sm.gait.step_time(peak_times=peak_times)\n\nFor a more in-depth tutorial, and more workflow examples, please take a look\nat the `tutorial `__.\n\nI would also recommend looking over the\n`documentation `__ to see other\nfunctionalities of the package.\n\nContribution\n------------\n\nI work on this package in my spare time, on an \"as needed\" basis for my\nresearch projects. However, pull requests for bug fixes and new features\nare always welcome!\n\nPlease see the `develop\nbranch `__ for the\ndevelopment version of the package, and check out the `issues\npage `__ for bug reports\nand feature requests.\n\nGetting Help\n------------\n\nYou can find the full documentation for the package\n`here `__\n\nPython's built-in help function will show documentation for any module\nor function: ``help(sm.gait.step_time)``\n\nYou're encouraged to post questions, bug reports, or feature requests as\nan `issue `__\n\nAlternatively, ask questions on\n`Gitter `__\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/sho-87/sensormotion", "keywords": "gait accelerometer signal-processing walking actigraph physical-activity", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "sensormotion", "package_url": "https://pypi.org/project/sensormotion/", "platform": "", "project_url": "https://pypi.org/project/sensormotion/", "project_urls": { "Homepage": "https://github.com/sho-87/sensormotion" }, "release_url": "https://pypi.org/project/sensormotion/1.1.4/", "requires_dist": null, "requires_python": "", "summary": "Python package for analyzing sensor-collected human motion data (e.g. physical activity levels, gait dynamics)", "version": "1.1.4" }, "last_serial": 4476837, "releases": { "0.0.0": [ { "comment_text": "", "digests": { "md5": "dc6a78852ff320d25d5d4d82b4995cba", "sha256": "d99069981bdf47f958e8232dbdd2aeba32cd02dd40957ca92405a0c25a27c28c" }, "downloads": -1, "filename": "sensormotion-0.0.0.tar.gz", "has_sig": false, "md5_digest": "dc6a78852ff320d25d5d4d82b4995cba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18057, "upload_time": "2018-10-21T18:28:37", "url": "https://files.pythonhosted.org/packages/09/91/5f82f44895ed075a220df56b3edc74810c165ab90aefc8fa79d31da4f8e1/sensormotion-0.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "62fce8f90ced49ae480a7ef5ae809e41", "sha256": "95f71b5d0617ca8db48bd6f460f7f8a45b751243c7c50d6a493992a9ffd56d58" }, "downloads": -1, "filename": "sensormotion-1.0.1.tar.gz", "has_sig": false, "md5_digest": "62fce8f90ced49ae480a7ef5ae809e41", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13976, "upload_time": "2018-04-19T08:52:01", "url": "https://files.pythonhosted.org/packages/ef/18/fefe9d73cdea1814282776275a8545b241d0869e360ed518670113521eb8/sensormotion-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "7900f3c6a9bb0fd44d78500aae4342a4", "sha256": "3194024e7be9fdc0ad5df1dd4d283f64353fc267c63f68f2008e510ed92db353" }, "downloads": -1, "filename": "sensormotion-1.0.2.tar.gz", "has_sig": false, "md5_digest": "7900f3c6a9bb0fd44d78500aae4342a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13962, "upload_time": "2018-04-19T09:55:56", "url": "https://files.pythonhosted.org/packages/02/d2/a92482a54eba4a7378dd27ab24831ab4b41d07c90c77651dbc9aec7628b8/sensormotion-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "7d90999328b46728603a0106868957f1", "sha256": "f9b6de790099b084ca1966bedef241b0d21e15914d52311c826bf82154044133" }, "downloads": -1, "filename": "sensormotion-1.0.3.tar.gz", "has_sig": false, "md5_digest": "7d90999328b46728603a0106868957f1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14051, "upload_time": "2018-04-19T13:05:52", "url": "https://files.pythonhosted.org/packages/01/7f/ef591918e5a02fbb9457c93515f707a76cac27c5c97a07efbd3657d3901b/sensormotion-1.0.3.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "b22f1f446cb99119bebee11ef26bf5a2", "sha256": "3d274e28a6dda959117c79aad62f95d22d2f75dae2cc225496086bd8294a22b5" }, "downloads": -1, "filename": "sensormotion-1.1.0.tar.gz", "has_sig": false, "md5_digest": "b22f1f446cb99119bebee11ef26bf5a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17815, "upload_time": "2018-04-21T11:23:48", "url": "https://files.pythonhosted.org/packages/44/ea/03bc5320d2196bb1d6f619f8a252679f20ece2cc96d4a9fed954428b8dc1/sensormotion-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "ad9f467350b6311c849accacdec34b1a", "sha256": "08ee013383308cc5bac3dc766710eec742c1d802c52861963163a384a1437497" }, "downloads": -1, "filename": "sensormotion-1.1.1.tar.gz", "has_sig": false, "md5_digest": "ad9f467350b6311c849accacdec34b1a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18073, "upload_time": "2018-10-21T18:39:51", "url": "https://files.pythonhosted.org/packages/e4/6f/3ef17ddc826b48393a0d08bf13aa4329386a763e17fd37921b585500b5d4/sensormotion-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "67bc2241d7bfa3e6ce04b61504e0ec32", "sha256": "cf5f3c821d3ee4cf3677bc68710d55f3e032a54f9f82476ef97cd39836e18423" }, "downloads": -1, "filename": "sensormotion-1.1.2.tar.gz", "has_sig": false, "md5_digest": "67bc2241d7bfa3e6ce04b61504e0ec32", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18073, "upload_time": "2018-10-21T19:23:30", "url": "https://files.pythonhosted.org/packages/09/19/2bc73ffe0bc85a77e0a8cb914f8115abc678558bd21ee7a8b589fa80e3af/sensormotion-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "2e0d20c4adfae518684e442392a17cca", "sha256": "1ae41e53a34ad04012d2bf4f838c4bf70fb5e016cd87cad88a9e44916afd6859" }, "downloads": -1, "filename": "sensormotion-1.1.3.tar.gz", "has_sig": false, "md5_digest": "2e0d20c4adfae518684e442392a17cca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18134, "upload_time": "2018-10-21T19:55:53", "url": "https://files.pythonhosted.org/packages/15/4e/1a26bc41d65f887b19e53f575956028c3beab84cb6c5562b88f7ef854258/sensormotion-1.1.3.tar.gz" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "e24998e45bf835d14ba4aba5efb625e3", "sha256": "4410837f7401b6c15152cb6cb23fe33441830bd5868a71731592ae23478895c2" }, "downloads": -1, "filename": "sensormotion-1.1.4.tar.gz", "has_sig": false, "md5_digest": "e24998e45bf835d14ba4aba5efb625e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18171, "upload_time": "2018-11-12T09:59:23", "url": "https://files.pythonhosted.org/packages/a4/bd/8a85887438f202bfbe480b4a99560e430d33cbf709e1762841be34176263/sensormotion-1.1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e24998e45bf835d14ba4aba5efb625e3", "sha256": "4410837f7401b6c15152cb6cb23fe33441830bd5868a71731592ae23478895c2" }, "downloads": -1, "filename": "sensormotion-1.1.4.tar.gz", "has_sig": false, "md5_digest": "e24998e45bf835d14ba4aba5efb625e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18171, "upload_time": "2018-11-12T09:59:23", "url": "https://files.pythonhosted.org/packages/a4/bd/8a85887438f202bfbe480b4a99560e430d33cbf709e1762841be34176263/sensormotion-1.1.4.tar.gz" } ] }