Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ksalekk/ecg-monitor
https://github.com/ksalekk/ecg-monitor
ecg matplotlib numpy python scipy signal-processing
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/ksalekk/ecg-monitor
- Owner: ksalekk
- Created: 2024-05-22T13:05:48.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-05-29T21:24:51.000Z (6 months ago)
- Last Synced: 2024-10-01T02:02:02.652Z (about 2 months ago)
- Topics: ecg, matplotlib, numpy, python, scipy, signal-processing
- Language: Python
- Homepage:
- Size: 2.93 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ECG Monitor
### Disclaimer
This app provides only information for educational purposes. This app is not medical or treatment advice, professional diagnosis, opinion, or services – and may not be treated as such by the user. As such, this app may not be relied upon for the purposes of medical diagnosis or as a recommendation for medical care or treatment. The information provided by this app is not a substitute for professional medical advice, diagnosis or treatment.### General
A simple script to display ECG waveform graphs based on data previously collected from the ECG recorder. The script accepts a CSV file whose first column contains time samples and the second column contains ECG signal samples. The signal is filtered using a Butterworth bandpass filter.### Usage
```
positional arguments:
fname File pathoptions:
-h, --help show this help message and exit
-fs FS Sampling frequency; default 1000Hz
--delimiter DELIMITER Columns delimiter; default ','
-tstart TSTART Signal recording start time in seconds; default 0
-tstop TSTOP Signal recording stop time in seconds; default signal duration time
--lowcut LOWCUT Butterworth filter lowcut frequency [Hz]; default 0.5Hz
--highcut HIGHCUT Butterworth filter highcut frequency [Hz]; default 150Hz
-dt DT Displaying window width as time in seconds; default 5s
```### Requirements
The script uses external libraries: matplotlib, scipy and numpy.### Demo
```
python ecg_monitor.py 'ecg.csv' -tstart 140
```
```
python ecg_monitor.py 'ecg.csv' -tstart 100 --lowcut 0.1
```
Too low filter lowcut value - low frequencies components (breathing chest movements) causes signal floating.