151 lines
5.0 KiB
Python
151 lines
5.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
|
|
(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()
|
|
|
|
|
|
from ppg_time_interval import ppg_time_interval
|
|
differences_ppg = ppg_time_interval()
|
|
|
|
|
|
|
|
def ppg_ratio():
|
|
|
|
features_ppg_2 = {
|
|
"on": on_values,
|
|
"sp": sp_values,
|
|
"dn": dn_values,
|
|
"dp": dp_values,
|
|
"u": u_values,
|
|
"v": v_values,
|
|
"w": w_values,
|
|
"a": a_values,
|
|
"b": b_values,
|
|
"c": c_values,
|
|
"e": e_values,
|
|
"f": f_values,
|
|
|
|
}
|
|
features_ppg_3 = {
|
|
"on-sp": differences_ppg["on-sp"],
|
|
"on-dn": differences_ppg["on-dn"],
|
|
"on-dp": differences_ppg["on-dp"],
|
|
"on-u": differences_ppg["on-u"],
|
|
"on-v": differences_ppg["on-v"],
|
|
"on-w": differences_ppg["on-w"],
|
|
"on-a": differences_ppg["on-a"],
|
|
"on-b": differences_ppg["on-b"],
|
|
"on-c": differences_ppg["on-c"],
|
|
"on-e": differences_ppg["on-e"],
|
|
"on-f": differences_ppg["on-f"],
|
|
|
|
"sp-dn": differences_ppg["sp-dn"],
|
|
"sp-dp": differences_ppg["sp-dp"],
|
|
"sp-u": differences_ppg["sp-u"],
|
|
"sp-v": differences_ppg["sp-v"],
|
|
"sp-w": differences_ppg["sp-w"],
|
|
"sp-a": differences_ppg["sp-a"],
|
|
"sp-b": differences_ppg["sp-b"],
|
|
"sp-c": differences_ppg["sp-c"],
|
|
"sp-e": differences_ppg["sp-e"],
|
|
"sp-f": differences_ppg["sp-f"],
|
|
|
|
"dn-dp": differences_ppg["dn-dp"],
|
|
"dn-u": differences_ppg["dn-u"],
|
|
"dn-v": differences_ppg["dn-v"],
|
|
"dn-w": differences_ppg["dn-w"],
|
|
"dn-a": differences_ppg["dn-a"],
|
|
"dn-b": differences_ppg["dn-b"],
|
|
"dn-c": differences_ppg["dn-c"],
|
|
"dn-e": differences_ppg["dn-e"],
|
|
"dn-f": differences_ppg["dn-f"],
|
|
|
|
"dp-u": differences_ppg["dp-u"],
|
|
"dp-v": differences_ppg["dp-v"],
|
|
"dp-w": differences_ppg["dp-w"],
|
|
"dp-a": differences_ppg["dp-a"],
|
|
"dp-b": differences_ppg["dp-b"],
|
|
"dp-c": differences_ppg["dp-c"],
|
|
"dp-e": differences_ppg["dp-e"],
|
|
"dp-f": differences_ppg["dp-f"],
|
|
|
|
"u-v": differences_ppg["u-v"],
|
|
"u-w": differences_ppg["u-w"],
|
|
"u-a": differences_ppg["u-a"],
|
|
"u-b": differences_ppg["u-b"],
|
|
"u-c": differences_ppg["u-c"],
|
|
"u-e": differences_ppg["u-e"],
|
|
"u-f": differences_ppg["u-f"],
|
|
|
|
"v-w": differences_ppg["v-w"],
|
|
"v-a": differences_ppg["v-a"],
|
|
"v-b": differences_ppg["v-b"],
|
|
"v-c": differences_ppg["v-c"],
|
|
"v-e": differences_ppg["v-e"],
|
|
"v-f": differences_ppg["v-f"],
|
|
|
|
"w-a": differences_ppg["w-a"],
|
|
"w-b": differences_ppg["w-b"],
|
|
"w-c": differences_ppg["w-c"],
|
|
"w-e": differences_ppg["w-e"],
|
|
"w-f": differences_ppg["w-f"],
|
|
|
|
"a-b": differences_ppg["a-b"],
|
|
"a-c": differences_ppg["a-c"],
|
|
"a-e": differences_ppg["a-e"],
|
|
"a-f": differences_ppg["a-f"],
|
|
|
|
"b-c": differences_ppg["b-c"],
|
|
"b-e": differences_ppg["b-e"],
|
|
"b-f": differences_ppg["b-f"],
|
|
|
|
"c-e": differences_ppg["c-e"],
|
|
"c-f": differences_ppg["c-f"],
|
|
|
|
"e-f": differences_ppg["e-f"],
|
|
|
|
|
|
}
|
|
|
|
ratios_ppg_2 = {}
|
|
for start_label, start_values in features_ppg_2.items():
|
|
for end_label, end_values in features_ppg_2.items():
|
|
if start_label != end_label:
|
|
ratio_label = f"{start_label}/{end_label}"
|
|
# 计算对应位置的比值
|
|
ratios = [end_val / start_val if start_val != 0 else 0 # 或其他默认值
|
|
for start_val, end_val in zip(start_values, end_values)]
|
|
ratios_ppg_2[ratio_label] = ratios
|
|
|
|
ratios_ppg_3 = {}
|
|
for start_label, start_values in features_ppg_3.items():
|
|
for end_label, end_values in features_ppg_3.items():
|
|
if start_label != end_label:
|
|
ratio_label = f"{start_label}/{end_label}"
|
|
# 计算对应位置的比值
|
|
ratios = [end_val / start_val if start_val != 0 else 1 for start_val, end_val in zip(start_values, end_values)]
|
|
ratios_ppg_3[ratio_label] = ratios
|
|
|
|
|
|
return ratios_ppg_2, ratios_ppg_3
|
|
|
|
|
|
if __name__ == "__main__":
|
|
ppg_ratio()
|
|
|