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

55 lines
1.9 KiB
Python

import numpy as np
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 ecg_peaks_val import ecg_peaks_val
(P_peaks, Q_peaks, R_peaks, S_peaks, T_peaks,
P_onsets, P_offsets, T_onsets, T_offsets,
P_peaks_values, Q_peaks_values, R_peaks_values, S_peaks_values, T_peaks_values,
P_onsets_values, P_offsets_values, T_onsets_values, T_offsets_values,
PQ_baseline) = ecg_peaks_val()
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()
# 计算PAT = PEP + PTT = on_time - R_time
def pat_val():
global R_peaks, T_offsets, on
# 先保证长度一致且已对齐
R_peaks = np.asarray(R_peaks, dtype=int)
T_offsets = np.asarray(T_offsets, dtype=int)
on = np.asarray(on, dtype=int)
RT_PAT = [] # 专门存 RT - PAT 的列表
for r, t, o in zip(R_peaks, T_offsets, on):
pat = o - r # PAT
rt = t - r # RT
rt_pat = rt - pat # RT - PAT
RT_PAT.append(rt_pat) # 塞进列表
# print('RT - PAT :', RT_PAT)
return RT_PAT