Пример #1
0
# shift_time = -23 prove sensitivity
print(shift_time)

ecg_hr = ecg_analysis[(ecg_analysis.utc > ppg_st + shift_time) &
                      (ecg_analysis.utc < ppg_st + shift_time + ppg_chunk_len)]
ppg_hr = final_ppg_hr
# this dtw is used for modification
d, cost_matrix, acc_cost_matrix, path = dtw(ecg_hr.values,
                                            ppg_hr.values,
                                            dist=norm)
vertical_mov = -150

# the x, y should be in the ssame order as dtw function
get_link(ecg_hr.values, ppg_hr.values, final_path, vertical_mov, shift_time)

# when ecg is at 1st, ppg at 2nd
ax.scatter(ecg_hr.utc, ecg_hr.ecg_heart_rate, c='k', marker='.')
ax.scatter(ppg_hr.utc,
           ppg_hr.bpm_raw + vertical_mov,
           label='PPG Pulse Rate',
           c='b')

plt.show()

scatter_vis(ecg_hr, ppg_hr, 0, 'real shift graph')
plt.show()

dis = design_dis(final_path[0], final_path[1], ecg_hr.ecg_heart_rate.values,
                 ppg_hr.bpm_raw.values)
print(dis)
Пример #2
0
ecg_hr = ecg_analysis[(ecg_analysis.utc > ppg_st + shift_time) &
                      (ecg_analysis.utc < ppg_st + shift_time + ppg_chunk_len)]
ecg_hr1 = ecg_analysis[(ecg_analysis.utc > ppg_st + true_shift_time) & (
    ecg_analysis.utc < ppg_st + true_shift_time + ppg_chunk_len)]
ppg_hr = ppg_analysis[(ppg_analysis.utc > ppg_st)
                      & (ppg_analysis.utc < ppg_st + ppg_chunk_len)]

vertical_mov = -150

# the x, y should be in the ssame order as dtw function
get_link(ecg_hr.values, ppg_hr.values, final_path, vertical_mov, shift_time)

# when ecg is at 1st, ppg at 2nd
ax.scatter(ecg_hr.utc,
           ecg_hr.ecg_heart_rate,
           c='k',
           marker='.',
           label='ecg heart rate')
ax.scatter(ppg_hr.utc + shift_time,
           ppg_hr.bpm_raw + vertical_mov,
           label='PPG heart rate',
           c='b')
ax.legend(fontsize='30')
ax.set_xlabel('Time stamp', fontsize='20')

plt.show()

scatter_vis(ecg_hr, ppg_hr, shift_time, 'real shift graph')
plt.show()
Пример #3
0
           c='k',
           marker='.',
           label='ecg heart rate')
ax.scatter(ppg_hr.utc + shift_time,
           ppg_hr.bpm_raw + vertical_mov,
           label='PPG heart rate',
           c='b')
ax.vlines(steep_point.utc.values + shift_time,
          0,
          1,
          transform=ax.get_xaxis_transform(),
          colors='g')

ax.legend(fontsize='30')
ax.set_xlabel('Time stamp', fontsize='20')

plt.show()

vs.scatter_vis(ecg_hr,
               ppg_hr,
               shift_time,
               'real shift graph',
               lines=False,
               final_path=final_path)
plt.show()

path0_count = pd.DataFrame()
path1_count = pd.DataFrame()

path0_count, path1_count = vs.get_sing_point(final_path[0], final_path[1])