Files
Feature-Extraction/ppg_time_interval.py
2025-10-20 22:01:18 +08:00

63 lines
2.0 KiB
Python

from processing import processing
(signal_dwt , waves_dwt , rpeaks , ecg_signal,
signal, signal.v, signal.fs, rows_to_extract, t_ecg, t_ppg,
on_column_list, on_column_list_toArea, on_values, on_values_toArea,
sp_column_list, sp_values, dn_column_list, dn_values, dp_column_list,
dp_values, u_column_list, u_column_list_toArea, u_values, u_values_toArea,
v_column_list, v_values, w_column_list, w_values, a_column_list, a_column_list_toArea,
a_values, a_values_toArea, b_column_list, b_values, c_column_list, c_values,
e_column_list, e_values, f_column_list, f_values,
signal.ppg, signal.vpg, signal.apg, signal.jpg) = processing()
from ppg_peaks_val import ppg_peaks_val
# 后面带values的都是纵坐标,不带values的都是横坐标
(on, on_toArea, sp, dn, dp,
on_values, on_toArea_values, sp_values, dn_values, dp_values,
u, u_toArea, v, w,
u_values, u_toArea_values, v_values, w_values,
a, a_toArea, b, c, e, f,
a_values, a_toArea_values, b_values, c_values, e_values, f_values) = ppg_peaks_val()
def ppg_time_interval():
# 创建一个字典来存储所有的特征点横坐标
features_ppg_1 = {
"on": on,
"sp": sp,
"dn": dn,
"dp": dp,
"u": u,
"v": v,
"w": w,
"a": a,
"b": b,
"c": c,
"e": e,
"f": f
}
# 计算每对特征点之间的时间间隔
differences_ppg = {}
for start_label, start_values in features_ppg_1.items():
for end_label, end_values in features_ppg_1.items():
if start_label != end_label:
difference_label = f"{start_label}-{end_label}"
# 计算对应位置的间隔
diffs = [abs(end_val - start_val) for start_val, end_val in zip(start_values, end_values)]
differences_ppg[difference_label] = diffs
# # 输出间隔
# for key, value in differences_ppg.items():
# print(f" {key}: {value}")
return differences_ppg
if __name__ == "__main__":
ppg_time_interval()