Skip to content
This repository was archived by the owner on Aug 2, 2022. It is now read-only.

Commit f8b66cf

Browse files
committed
Closes #28.
1 parent 8af3092 commit f8b66cf

File tree

1 file changed

+23
-20
lines changed

1 file changed

+23
-20
lines changed

biosppy/signals/ecg.py

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1114,7 +1114,6 @@ def hamilton_segmenter(signal=None, sampling_rate=1000.):
11141114

11151115
beats = np.array(beats)
11161116

1117-
lim = lim
11181117
r_beats = []
11191118
thres_ch = 0.85
11201119
adjacency = 0.05 * sampling_rate
@@ -1142,11 +1141,11 @@ def hamilton_segmenter(signal=None, sampling_rate=1000.):
11421141
try:
11431142
twopeaks = [pospeaks[0]]
11441143
except IndexError:
1145-
pass
1144+
twopeaks = []
11461145
try:
11471146
twonegpeaks = [negpeaks[0]]
11481147
except IndexError:
1149-
pass
1148+
twonegpeaks = []
11501149

11511150
# getting positive peaks
11521151
for i in range(len(pospeaks) - 1):
@@ -1169,26 +1168,30 @@ def hamilton_segmenter(signal=None, sampling_rate=1000.):
11691168
error[1] = True
11701169

11711170
# choosing type of R-peak
1172-
if not sum(error):
1173-
if posdiv > thres_ch * negdiv:
1174-
# pos noerr
1175-
r_beats.append(twopeaks[0][1] + add)
1176-
else:
1177-
# neg noerr
1178-
r_beats.append(twonegpeaks[0][1] + add)
1179-
elif sum(error) == 2:
1180-
if abs(twopeaks[0][1]) > abs(twonegpeaks[0][1]):
1181-
# pos allerr
1171+
n_errors = sum(error)
1172+
try:
1173+
if not n_errors:
1174+
if posdiv > thres_ch * negdiv:
1175+
# pos noerr
1176+
r_beats.append(twopeaks[0][1] + add)
1177+
else:
1178+
# neg noerr
1179+
r_beats.append(twonegpeaks[0][1] + add)
1180+
elif n_errors == 2:
1181+
if abs(twopeaks[0][1]) > abs(twonegpeaks[0][1]):
1182+
# pos allerr
1183+
r_beats.append(twopeaks[0][1] + add)
1184+
else:
1185+
# neg allerr
1186+
r_beats.append(twonegpeaks[0][1] + add)
1187+
elif error[0]:
1188+
# pos poserr
11821189
r_beats.append(twopeaks[0][1] + add)
11831190
else:
1184-
# neg allerr
1191+
# neg negerr
11851192
r_beats.append(twonegpeaks[0][1] + add)
1186-
elif error[0]:
1187-
# pos poserr
1188-
r_beats.append(twopeaks[0][1] + add)
1189-
else:
1190-
# neg negerr
1191-
r_beats.append(twonegpeaks[0][1] + add)
1193+
except IndexError:
1194+
continue
11921195

11931196
rpeaks = sorted(list(set(r_beats)))
11941197
rpeaks = np.array(rpeaks, dtype='int')

0 commit comments

Comments
 (0)