a | b/segmentation.py | ||
---|---|---|---|
1 | data = np.array(csv_data) |
||
2 | signals = [] |
||
3 | count = 1 |
||
4 | peaks = biosppy.signals.ecg.christov_segmenter(signal=data, sampling_rate = 200)[0] |
||
5 | for i in (peaks[1:-1]): |
||
6 | diff1 = abs(peaks[count - 1] - i) |
||
7 | diff2 = abs(peaks[count + 1]- i) |
||
8 | x = peaks[count - 1] + diff1//2 |
||
9 | y = peaks[count + 1] - diff2//2 |
||
10 | signal = data[x:y] |
||
11 | signals.append(signal) |
||
12 | count += 1 |
||
13 | return signals |
||
14 |