Metadata-Version: 2.1
Name: pypda
Version: 0.2.1
Summary: A Pythonic toolkit to generate synthetic blood pressure waveforms based on principle of pulse decomposition analysis (PDA).
Home-page: https://github.com/taoyilee/pypda
Author: Tao-Yi Lee
Author-email: taoyil@uci.edu
License: MIT license
Keywords: pypda
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.5
Description-Content-Type: text/x-rst
Requires-Dist: Click (>=7.0)
Requires-Dist: matplotlib (==3.1.3)
Requires-Dist: numpy (==1.18.1)
Requires-Dist: scipy (==1.4.1)
Requires-Dist: scikit-learn (==0.22.1)

=====
pyPDA
=====


.. image:: https://img.shields.io/pypi/v/pypda.svg
        :target: https://pypi.python.org/pypi/pypda

.. image:: https://img.shields.io/travis/taoyilee/pypda.svg
        :target: https://travis-ci.com/taoyilee/pypda

.. image:: https://readthedocs.org/projects/pypda/badge/?version=latest
        :target: https://pypda.readthedocs.io/en/latest/?badge=latest
        :alt: Documentation Status




A Pythonic toolkit to generate synthetic blood pressure waveforms based on principle of pulse decomposition analysis (PDA).

* Free software: MIT license


Quick Start
-----------------


Use
~~~~~~~~~~~~~~~~
It is recommended that pyPDA should be setup in a Python `virtual environment <https://docs.python-guide.org/dev/virtualenvs/>`_.

.. code-block:: console

    python -m venv venv
    source venv/bin/activate
    pip install pyPDA
    pypda pulse --plot-dir work_dir --png # plot single beat waveform to word_dir

    # plot 10 second pulse waveform of 65 bpm, sampled at 90 Hz to word_dir
    pypda sample --bpm 65 --plot-dir work_dir --png --length 10 --sampling-rate 90

.. code-block:: python

    from pypda.pulse_model import PulseModelRaw

    pulse_waveform = PulseModelRaw()
    import matplotlib.pyplot as plt
    plt.plot(pulse_waveform.pulse_waveform)

    from pypda.wavelets import TriangGaussian
    triangular_pulse = TriangGaussian()
    triangular_pulse.shift(10) # optional horizontal shifting of waveform
    plt.plot(triangular_pulse.pulse_waveform)

    # addition operator is supported
    superpositioned_pulse = pulse_waveform + triangular_pulse
    plt.plot(superpositioned_pulse.pulse_waveform)


Development
~~~~~~~~~~~~~~~~~~~~~~~~
Please feel free to fork a copy on GitHUB. Pull requests are very welcome. To report an issue, please use `GitHub issue tracker <https://github.com/taoyilee/pyPDA/issues>`_.

.. code-block:: console

    python -m venv venv
    source venv/bin/activate
    git clone git@github.com:taoyilee/pyPDA.git
    pip install -r requirements_dev.txt
    # Start coding.

Screen Capture
---------------------
.. image:: docs/pulse.png
    :width: 400
    :alt: Sample blood pressure waveform

.. image:: docs/sample.png
    :width: 400
    :alt: Sample pulse waveform with abnormality indicator

References
---------------------
1. Baruch, Martin C., et al. "Pulse decomposition analysis of the digital arterial pulse during hemorrhage simulation." Nonlinear biomedical physics 5.1 (2011): 1. `[PDF] <https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3025935/pdf/1753-4631-5-1.pdf>`_


=======
History
=======

0.1.0 (2020-02-19)
------------------

* First release on PyPI.

0.2.1 (2020-03-02)
------------------

* Add sampler for test data (different parameters)


