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

Commit

Permalink
Closes #28.
Browse files Browse the repository at this point in the history
  • Loading branch information
capcarr committed Jul 10, 2017
1 parent 8af3092 commit f8b66cf
Showing 1 changed file with 23 additions and 20 deletions.
43 changes: 23 additions & 20 deletions biosppy/signals/ecg.py
Original file line number Diff line number Diff line change
Expand Up @@ -1114,7 +1114,6 @@ def hamilton_segmenter(signal=None, sampling_rate=1000.):

beats = np.array(beats)

lim = lim
r_beats = []
thres_ch = 0.85
adjacency = 0.05 * sampling_rate
Expand Down Expand Up @@ -1142,11 +1141,11 @@ def hamilton_segmenter(signal=None, sampling_rate=1000.):
try:
twopeaks = [pospeaks[0]]
except IndexError:
pass
twopeaks = []
try:
twonegpeaks = [negpeaks[0]]
except IndexError:
pass
twonegpeaks = []

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

# choosing type of R-peak
if not sum(error):
if posdiv > thres_ch * negdiv:
# pos noerr
r_beats.append(twopeaks[0][1] + add)
else:
# neg noerr
r_beats.append(twonegpeaks[0][1] + add)
elif sum(error) == 2:
if abs(twopeaks[0][1]) > abs(twonegpeaks[0][1]):
# pos allerr
n_errors = sum(error)
try:
if not n_errors:
if posdiv > thres_ch * negdiv:
# pos noerr
r_beats.append(twopeaks[0][1] + add)
else:
# neg noerr
r_beats.append(twonegpeaks[0][1] + add)
elif n_errors == 2:
if abs(twopeaks[0][1]) > abs(twonegpeaks[0][1]):
# pos allerr
r_beats.append(twopeaks[0][1] + add)
else:
# neg allerr
r_beats.append(twonegpeaks[0][1] + add)
elif error[0]:
# pos poserr
r_beats.append(twopeaks[0][1] + add)
else:
# neg allerr
# neg negerr
r_beats.append(twonegpeaks[0][1] + add)
elif error[0]:
# pos poserr
r_beats.append(twopeaks[0][1] + add)
else:
# neg negerr
r_beats.append(twonegpeaks[0][1] + add)
except IndexError:
continue

rpeaks = sorted(list(set(r_beats)))
rpeaks = np.array(rpeaks, dtype='int')
Expand Down

0 comments on commit f8b66cf

Please sign in to comment.