import statistics from global_var import global_var_init cycle, fs, record_name, data_path = global_var_init() 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_clean_nan import ecg_clean_nan (waves_dwt['ECG_P_Onsets'],waves_dwt['ECG_P_Offsets'],waves_dwt['ECG_T_Onsets'], waves_dwt['ECG_T_Offsets'],waves_dwt['ECG_P_Peaks'] ,waves_dwt['ECG_Q_Peaks'], rpeaks['ECG_R_Peaks'],waves_dwt['ECG_S_Peaks'],waves_dwt['ECG_T_Peaks']) = ecg_clean_nan() directory=f"D://python_study//big_boss//doc//points_coordinates_update//{record_name}//ECG//" data_ECG = { 'ECG_P_Onsets': waves_dwt['ECG_P_Onsets'], 'ECG_P_Offsets': waves_dwt['ECG_P_Offsets'], 'ECG_T_Onsets': waves_dwt['ECG_T_Onsets'], 'ECG_T_Offsets': waves_dwt['ECG_T_Offsets'], 'ECG_P_Peaks': waves_dwt['ECG_P_Peaks'], 'ECG_Q_Peaks': waves_dwt['ECG_Q_Peaks'], 'ECG_R_Peaks': rpeaks['ECG_R_Peaks'], 'ECG_S_Peaks': waves_dwt['ECG_S_Peaks'], 'ECG_T_Peaks': waves_dwt['ECG_T_Peaks'] } from txt_update import update_dict_from_files data_update_ECG = update_dict_from_files(data_ECG, directory) #-------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------- #------------------------ 得到点的横纵坐标及基线 ------------------------------------ #-------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------- def ecg_peaks_val(): P_peaks = data_update_ECG['ECG_P_Peaks'] P_peaks_values = [ecg_signal[idx] for idx in P_peaks] Q_peaks = data_update_ECG['ECG_Q_Peaks'] Q_peaks_values = [ecg_signal[idx] for idx in Q_peaks] R_peaks = data_update_ECG['ECG_R_Peaks'] R_peaks_values = [ecg_signal[idx] for idx in R_peaks] S_peaks = data_update_ECG['ECG_S_Peaks'] S_peaks_values = [ecg_signal[idx] for idx in S_peaks] T_peaks = data_update_ECG['ECG_T_Peaks'] T_peaks_values = [ecg_signal[idx] for idx in T_peaks] P_onsets = data_update_ECG['ECG_P_Onsets'] P_onsets_values = [ecg_signal[idx] for idx in P_onsets] P_offsets = data_update_ECG['ECG_P_Offsets'] P_offsets_values = [ecg_signal[idx] for idx in P_offsets] T_onsets = data_update_ECG['ECG_T_Onsets'] T_onsets_values = [ecg_signal[idx] for idx in T_onsets] T_offsets = data_update_ECG['ECG_T_Offsets'] T_offsets_values = [ecg_signal[idx] for idx in T_offsets] # PQ基线 average_P = statistics.mean(P_peaks_values) average_Q = statistics.mean(Q_peaks_values) PQ_baseline = (average_P + average_Q) / 2 return (#横坐标 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) if __name__ == "__main__": ecg_peaks_val()