|
a |
|
b/README.md |
|
|
1 |
# ECG Sleep Apnea Detection |
|
|
2 |
|
|
|
3 |
Tensorflow implementation for ECG sleep apnea detection |
|
|
4 |
|
|
|
5 |
## Prerequisites |
|
|
6 |
- Tensorflow 2.5 |
|
|
7 |
- Python 3.9 |
|
|
8 |
|
|
|
9 |
- [ECG Sleep Apnea Dataset](https://physionet.org/physiobank/database/apnea-ecg/) |
|
|
10 |
|
|
|
11 |
## ECG Sleep Apnea Dataset |
|
|
12 |
- The data in the directory have been contributed by Dr. Thomas Penzel of Phillips-University, Marburg, Germany. |
|
|
13 |
- 35 records (a01 through a20, b01 through b05, and c01 through c10) |
|
|
14 |
- 7 hours to 10 hours of ECG signal, a set of apnea annotations, a set of machine-generated QRS annotations |
|
|
15 |
- .dat files: ECG signal (16 bits per sample, Fs=100Hz) |
|
|
16 |
- .apn files: binary annotation files containing an annotation for each minute of each recording the presence or absence of apnea |
|
|
17 |
- .qrs files: machine generated binary annotation files, made using [sqrs125](https://physionet.org/physiotools/wag/sqrs-1.htm) |
|
|
18 |
|
|
|
19 |
```bash |
|
|
20 |
wget -r -np http://www.physionet.org/physiobank/database/apnea-ecg/ |
|
|
21 |
``` |
|
|
22 |
|
|
|
23 |
## Getting Started |
|
|
24 |
|
|
|
25 |
### Pre-processing |
|
|
26 |
- RR Interval: extracting the time intervals between consecutive heart beats |
|
|
27 |
- QRS Amplitude: calculates the amplitude of R-peak |
|
|
28 |
- [Age and Sex](https://physionet.org/physiobank/database/apnea-ecg/additional-information.txt) |
|
|
29 |
```bash |
|
|
30 |
python pre_proc.py |
|
|
31 |
``` |
|
|
32 |
|
|
|
33 |
### Train |
|
|
34 |
- Train a model: |
|
|
35 |
```bash |
|
|
36 |
python train.py |
|
|
37 |
``` |
|
|
38 |
|
|
|
39 |
|