{ "info": { "author": "Pedro Gomes", "author_email": "pedro.gomes@haw-hamburg.de", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3" ], "description": "![Image](SampleFigures/pyhrv.png)\n\nThis repository contains the HRV toolbox (Python package) developed within the scope of my master thesis *\"Development of an Open-Source Python Toolbox for Heart Rate Variability (HRV)\"*).\n\nThe HRV algorithms have been developed and implemented according to the [Heart Rate Variability - Sandards of Measurement, Physiological Interpretation, and Clinical Use](http://circ.ahajournals.org/content/93/5/1043) guidelines and other references which are notes in the code itself (will be entirely updated soon).\n\nBelow follows as list of the parameters and features. Major updates will be listed in the [changelog](changelog.md).\n\n## Getting Started\n\n### Installation\nThis package can be installed using the ```pip``` tool:\n```python\npip install pyhrv\n```\n\nThe current pyHRV has been primarily developed for the Python 2.7 programming language. Running the pip command above may cause\nerrors when trying to install the package using Python 3. In this case, try to install the pyHRV dependencies first:\n\n```python\npip install biosppy\npip install matplotlib\npip install numpy\npip install scipy\npip install nolds\npip install spectrum\npip install pyhrv\n```\n\n### Documentation & Tutorials\nAn overview of all the available functions and short quickstart tutorials can be found in the [README](./pyhrv/README.md) file found within the `pyhrv` package.\n\nThe official **pyHRV** Documentation is now available on ReadTheDocs:\n\nhttps://pyhrv.readthedocs.io\n\n## HRV Parameter List\n\nThe following HRV parameters can be computed with this toolbox. \n\n(NNI: Normal-to-Normal Interval, HR: Heart Rate, SD: Standard deviation, PSD: Power Spectral Density)\n\n### Time Domain Parameters\n- Basic statistical parameters of an NNI series (min, max, mean)\n- Basic statistical parameters of an NNI differences series (min, max, mean, max difference)\n- Basic statistical parameters of an HR series (min, max, mean, SD)\n- Standard Deviation of NNI (SDNN)\n- Mean of the SD of 5min segments (SDNN Index)\n- SD of the Mean of 5min segments (SDANN)\n- Root Mean Square of Successive Differences (RMSSD)\n- SD of Successive Differences (SDSD)\n- NN50 (NNI > 50ms) and pNN50 (% of NNI > 50ms)\n- NNX (NNI > Xms) and pNN50 (% of NNI > Xms)\n- Triangular Index\n- Baseline Width of the Histogram based on Triangular Interpolation (TINN) (TINN, N, M)\n\n### Frequency Domain Parameters\nComputes the following PSD parameters from the Welch's Method and the Lomb-Scargle periodogram (with default or custom frequency bands):\n- Peak Frequencies\n- Absolute Powers\n- Logarithmic Powers\n- Relative Powers\n- Normalized Powers (LF and HF only)\n- LF/HF ratio\n\n### Nonlinear Parameters\n- Poincar\u00e9 Plot (SD1, SD2, fittes ellipse area, SD2/SD1 ratio)\n- Sample Entropy\n- Detrended Fluctuation Analysis (short-term and long-term)\n\n### Additional HRV Tools\n- Computation of NNI series\n- Computation of \u2206NNI series\n- Computation of HR series\n- Signal segmentation\n- ECG plotting on medical-grade-like ECG paper layout\n- Tachogram plotting\n- HRV report generation (.txt and .csv format)\n- HRV result exportation and importion (.json format)\n\n## Sample Figures\n### ECG Plot\n![Image](./SampleFigures/SampleECG.png)\n\n### Tachogram\n![Image](./SampleFigures/SampleTachogram.png)\n\n### Histogram & Geometrical Parameters\n![Image](./SampleFigures/SampleHistogram.png)\n\n### Frequency Domain - Welch's Periodogram\n![Image](./SampleFigures/SampleWelch.png)\n\n### Frequency Domain - Lomb-Scargle Periodogram\n![Image](./SampleFigures/SampleLomb.png)\n\n### Frequency Domain - Autoregressive Method\n![Image](./SampleFigures/SampleAR.png)\n\n### Nonlinear - Poincar\u00e9 & Detrended Fluctuation Analysis\n![Image](./SampleFigures/SampleNonlinear.png)\n\n## Dependencies\n- [biosppy](https://github.com/PIA-Group/BioSPPy)\n- [numpy](http://www.numpy.org)\n- [scipy](http://scipy.org)\n- [matplotlib](https://matplotlib.org)\n- [nolds](https://github.com/CSchoel/nolds)\n- [spectrum](https://github.com/cokelaer/spectrum)\n\n## Context of this Work\nThis package has initially been developed within the scope of my master thesis _\"Development of an Open-Source Python Toolbox for Heart Rate Variability (HRV)\"_ at the [University of Applied Sciences Hamburg, Germany (Faculty Life Sciences, Department of Biomedical Engineering)](https://www.haw-hamburg.de/fakultaeten-und-departments/ls/studium-und-lehre/master-studiengaenge/mbme.html) and [PLUX wireless biosignals, S.A.](http://www.plux.info), Lisbon, Portugal.\n\n## Other Support Packages Developed within the Skope of this Work\n### OpenSignalsReader\nPython package to read [OpenSignals (r)evolution](http://bitalino.com/en/software) files and automatic sensor data conversion for [BITalino (r)evolution](http://bitalino.com) sensor data.\n\nThis package has been developed to facilitate the import of ECG sensor data acquired with BITalino (r)evolution to conduct HRV analysis.\n\nVisit the repository for more detailed information:\n\nhttps://github.com/PGomes92/opensignalsreader\n\n_([OpenSignals (r)evolution](http://bitalino.com/en/software) (by [PLUX wireless biosignals S.A.](http://plux.info)) is the official software for the [BITalino](http://bitalino.com) and [biosignalsplux](http://biosignalsplux.com) biosignal acquisition platforms._)\n\n### KUBIOS\nPython package to export NN/RR interval series in [KUBIOS HRV](https://www.kubios.com) readable format and to import HRV results from KUBIOS report files in .txt format.\n\nVisit the repository for more detailed information:\n\nhttps://github.com/PGomes92/kubios\n\n## Citing\nPlease use the citation format below if you need to cite this package in any of your work:\n\n- Gomes P, Silva H, Margaritoff P, **pyHRV - Open-Source Python Toolbox for Heart Rate Variability**, 2018-,\n https://github.com/PGomes92/hrv-toolkit/ [Online; accessed ```--```].\n\n```latex\n@Misc{,\n author = {Pedro Gomes, Hugo Silva, Petra Margaritoff},\n title = {{pyHRV} - Open-Source Python Toolbox for Heart Rate Variability},\n year = {2018--},\n url = \"https://github.com/PGomes92/hrv-toolkit/\",\n note = {[Online; accessed ]}\n}\n```\n\n## Repository Structure Info\n .\n \u251c\u2500\u2500 pyhrv # HRV toolbox/package (where the magic happens)\n | \u2514\u2500\u2500files # Sample files & HRV keys\n | | \u251c\u2500\u2500 hrv_keys.json # HRV keys to access the parameter results stored in\n | | | # biosspy.utils.ReturnTuple objects & parameter labels\n | | \u251c\u2500\u2500 SampleExport.json # Sample export file generated with pyhrv.tools.hrv_export()\n | | \u251c\u2500\u2500 SampleReport.txt # Sample export file generated with pyhrv.tools.hrv_report()\n | | \u2514\u2500\u2500 SampleECG.txt # BITalino (r)evolution sample ECG acquistion\n | |\n | \u251c\u2500\u2500 samples # 50 sample NNI series\n | |\n | \u251c\u2500\u2500 README.md # Package overview & quick start guide/examples\n | \u251c\u2500\u2500 references.txt # References used in the in-code documentation\n | \u251c\u2500\u2500 __init__.py # Package initialitation file\n | \u251c\u2500\u2500 __version__.py # Package version file\n | \u251c\u2500\u2500 tools.py # HRV tools (nni, segmentation, reports, ...)\n | \u251c\u2500\u2500 hrv.py # HRV package level function\n | \u251c\u2500\u2500 time_domain.py # Time domain parameter functions\n | \u251c\u2500\u2500 frequency_domain.py # Frequency domain parameter functions\n | \u2514\u2500\u2500 noninear.py # Nonlinear parameter functions\n |\n \u251c\u2500\u2500 SampleFigures # Sample figures of plots\n | \u2514\u2500\u2500readmefigures # readmefigures\n \u251c\u2500\u2500 changelog.md # Changelog\n \u251c\u2500\u2500 LICENSE.txt # License information\n \u2514\u2500\u2500 README.py # <- you are here\n\n## Disclaimer\nThis program is distributed in the hope it will be useful and provided to you \"as is\", but WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This program is NOT intended for medical diagnosis. We expressly disclaim any liability whatsoever for any direct, indirect, consequential, incidental or special damages, including, without limitation, lost revenues, lost profits, losses resulting from business interruption or loss of data, regardless of the form of action or legal theory under which the liability may be asserted, even if advised of the possibility of such damages.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/PGomes92/pyhrv", "keywords": "Heart Rate Variability,HRV", "license": "", "maintainer": "", "maintainer_email": "", "name": "pyhrv", "package_url": "https://pypi.org/project/pyhrv/", "platform": "", "project_url": "https://pypi.org/project/pyhrv/", "project_urls": { "Homepage": "https://github.com/PGomes92/pyhrv" }, "release_url": "https://pypi.org/project/pyhrv/0.3.2/", "requires_dist": [ "biosppy", "matplotlib", "numpy", "scipy", "nolds", "spectrum" ], "requires_python": ">=2.7", "summary": "Python toolbox for Heart Rate Variability.", "version": "0.3.2" }, "last_serial": 4770672, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "50283b4ee6f771b61ddb9c72ec47ea72", "sha256": "de2d047f0d85c66a912bc93a354a0d92ea577dd5b98e8b0065ced2494ee5e766" }, "downloads": -1, "filename": "pyhrv-0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "50283b4ee6f771b61ddb9c72ec47ea72", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.7.10", "size": 40363, "upload_time": "2018-10-20T00:17:44", "url": "https://files.pythonhosted.org/packages/6d/43/040aba4fba1d5bf1f98afccdc35d6db3607d3d318badd254f854f1b8526d/pyhrv-0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1350a963eb9fa32d64f5f169a148a1a9", "sha256": "532c04dcbb1ec98c0afb5fc7b4c4bc00f9bb43a070db74e1d60ea373622ac8c4" }, "downloads": -1, "filename": "pyhrv-0.2.tar.gz", "has_sig": false, "md5_digest": "1350a963eb9fa32d64f5f169a148a1a9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7.10", "size": 36355, "upload_time": "2018-10-20T00:17:46", "url": "https://files.pythonhosted.org/packages/e2/22/912a2c4e4bbe4a301fd921e5607b72c48a300309b01e3cc04d95317dff13/pyhrv-0.2.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "850885bfd4792123546bab8e3bb8245b", "sha256": "f25ba93a90af6364e9d9774cc6f5da948dfd9a43566565d521561c030debcbef" }, "downloads": -1, "filename": "pyhrv-0.3.0-py2-none-any.whl", "has_sig": false, "md5_digest": "850885bfd4792123546bab8e3bb8245b", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.7.10", "size": 1731275, "upload_time": "2018-11-24T14:33:16", "url": "https://files.pythonhosted.org/packages/7b/af/4deaca5ed310bbd237851ebbd2c804d6772a329d24c9e99a57307bad75e4/pyhrv-0.3.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e22c4d0658a9e05639c7030d4a8f24cc", "sha256": "9e068ccdb8f38e357e713745f967a7f3b97faeb66574799ee7dd6bdcf2055b4a" }, "downloads": -1, "filename": "pyhrv-0.3.0.tar.gz", "has_sig": false, "md5_digest": "e22c4d0658a9e05639c7030d4a8f24cc", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7.10", "size": 41024, "upload_time": "2018-11-24T14:33:18", "url": "https://files.pythonhosted.org/packages/c4/1e/799064547d23beb49466d41697bcd02cd1879e98c7742eff38a3f9899906/pyhrv-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "0d54d72e4a715c83d1dd409e8e4d2761", "sha256": "72eb12bdca8a953f6007fdc3f1e4673dcb7ec2227b9997ac3621d2558b4959ba" }, "downloads": -1, "filename": "pyhrv-0.3.1-py2-none-any.whl", "has_sig": false, "md5_digest": "0d54d72e4a715c83d1dd409e8e4d2761", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": ">=2.7", "size": 1731286, "upload_time": "2019-01-22T15:21:54", "url": "https://files.pythonhosted.org/packages/43/2f/92c6897d39a99bfb09ff2c59b013012bb201ccf241c7dcf5f5c9dd099ed4/pyhrv-0.3.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9a787142f804cdff9406fa33ed737a49", "sha256": "ae1676e67275a1f26bc0488888b3b1362f788fbce6614262a618d1243b3ba89b" }, "downloads": -1, "filename": "pyhrv-0.3.1.tar.gz", "has_sig": false, "md5_digest": "9a787142f804cdff9406fa33ed737a49", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 41363, "upload_time": "2019-01-22T15:21:56", "url": "https://files.pythonhosted.org/packages/fa/04/cdaa37c162faa6d1ceb3a060c7918838664380ee5594b28a070176b1cabc/pyhrv-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "884a9270e1801f1f454eede4be01052d", "sha256": "5968cb7dab111aee1aae4a18090d161cb5610166be58e63233685aa6da84668f" }, "downloads": -1, "filename": "pyhrv-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "884a9270e1801f1f454eede4be01052d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7", "size": 1733706, "upload_time": "2019-02-01T22:31:41", "url": "https://files.pythonhosted.org/packages/a6/57/e07fd64ba429e49452d397b0114c754abaacedb6eee02dd0ea754a52afc2/pyhrv-0.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "19eeb34660d92fbc4a973d13d879166d", "sha256": "ff1e5658936d71f84fcbda203868a6123b4d8ac263b7abb004c5929d20e65bd8" }, "downloads": -1, "filename": "pyhrv-0.3.2.tar.gz", "has_sig": false, "md5_digest": "19eeb34660d92fbc4a973d13d879166d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 40584, "upload_time": "2019-02-01T22:31:44", "url": "https://files.pythonhosted.org/packages/dd/cc/5fe5d57a4fc3707935f9d732773f565873de6b63e476b89006c183291ce7/pyhrv-0.3.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "884a9270e1801f1f454eede4be01052d", "sha256": "5968cb7dab111aee1aae4a18090d161cb5610166be58e63233685aa6da84668f" }, "downloads": -1, "filename": "pyhrv-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "884a9270e1801f1f454eede4be01052d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7", "size": 1733706, "upload_time": "2019-02-01T22:31:41", "url": "https://files.pythonhosted.org/packages/a6/57/e07fd64ba429e49452d397b0114c754abaacedb6eee02dd0ea754a52afc2/pyhrv-0.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "19eeb34660d92fbc4a973d13d879166d", "sha256": "ff1e5658936d71f84fcbda203868a6123b4d8ac263b7abb004c5929d20e65bd8" }, "downloads": -1, "filename": "pyhrv-0.3.2.tar.gz", "has_sig": false, "md5_digest": "19eeb34660d92fbc4a973d13d879166d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 40584, "upload_time": "2019-02-01T22:31:44", "url": "https://files.pythonhosted.org/packages/dd/cc/5fe5d57a4fc3707935f9d732773f565873de6b63e476b89006c183291ce7/pyhrv-0.3.2.tar.gz" } ] }