Comments (1)
thanks for using pyHRV. You have most likely already solved this issue but as I am picking up on this project again after a long break, I'd like to share here some input.
pyHRV is not designed for real-time signal processing, but rather for post-processing of acquired R-Peak-to-R-Peak Interval (RRI) series. Real-time processing could technically be achieved with some simple HRV parameter computations, but from my experience the heavier functions (e.g. frequency domain) are too slow to be useful in real-time processing.
Also, it is important to highlight that pyHRV runs any RRI series in bumpy array format and is not exclusive to OpenSignals files. The examples provided with OpenSignals are only available as it was the software I used to record signals and test pyHRV during my thesis. With this being said, allow to answer your questions below:
Which brings me to another question, is there any way to use the PyHRV functions on numpy arrays?
Yes, this is perfectly possible and there are a few examples available in the Quickstart guide using the time domain functions here:
https://github.com/PGomes92/pyhrv/tree/master/pyhrv
If you already have a RRI series (or NNI) in an numpy array, it's quite straightforward to use it with pyHRV as shown in the example below:
# Import packages
import numpy as np
import pyhrv.time_domain as td
# Load NNI sample series
nni = np.load('./files/SampleNNISeries.npy')
# Compute SDNN
result = td.sdnn(nni)
# Access SDNN value using the key 'sdnn'
print(result['sdnn'])
Polar input Data
If the Polar monitor provides you a full ECG in mV, the data must first be processed to run with pyHRV as you need to extract the heart rate series our RRI/NNI series from the ECG first.
For this, you can generally follow the same tutorial that's available for OpenSignals input data:
import biosppy
import numpy as np
import pyhrv.tools as tools
# Load sample ECG signal
signal = your_signal # <- this should be your ECG signal in mV
# Get R-Peak locations from ECG signal
rpeaks = biosppy.signals.ecg.ecg(signal, show=False)[2]
# Compute NNI
nni = tools.nn_intervals(rpeaks)
# Compute SDNN
result = td.sdnn(nni)
Hope this information is still useful for anyone who comes across this issue and feels free to let me know if you have any questions.
from pyhrv.
Related Issues (20)
- Verifying pyHRV against Kubios
- welch_psd() generates figure even if show = False HOT 2
- frequency domain comparison with Kubios Standard HOT 1
- Samples folder contains no files HOT 1
- Plot Tachogram Error HOT 1
- Big error in quickstart documentation HOT 1
- pyhrv.hrv doest stop plotting HOT 2
- having issue to run overall code in colab and also in jupyter notebook? HOT 1
- Can't build pyhrv wheel on Windows 10 HOT 2
- Comparison between pyHRV and medilog DARWIN2
- failed with python3 setup.py install on Ubuntu 22.04
- Suggested value of window width and overalpping rate of Welch's periodogram for 5 minutes of HRV
- failed to use frequency_domain.frequency_domain() function
- Cannot install pyHRV on Ubuntu 22.04
- How do I add more plots to the current figure created by pyHRV
- Setting fbands without ulf crashes the welch method
- Issue with frequency domain
- SD1/SD2 calculation not based on distances
- nonlinear.py: AttributeError: module 'biosppy' has no attribute 'utils'
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pyhrv.