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 ecg_calculate_areas import ecg_areas_calculate ecg_areas, P_areas, T_areas, QRS_areas = ecg_areas_calculate() #-------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------- #------------------------ 计算比值 ------------------------------------ #-------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------- def ratio_calculate(): # 创建一个存储波峰纵坐标的字典 peaks_values = { "P_peaks_values": P_peaks_values, "Q_peaks_values": Q_peaks_values, "R_peaks_values": R_peaks_values, "S_peaks_values": S_peaks_values, "T_peaks_values": T_peaks_values, "P_onset_values": P_onsets_values, "P_offset_values": P_offsets_values, "T_onset_values": T_onsets_values, "T_offset_values": T_offsets_values, } # 初始化一个空字典来存储峰值比值 peak_ratios = {} # 计算每对波峰的比值 for start_label, start_values in peaks_values.items(): for end_label, end_values in peaks_values.items(): # 避免重复计算相同的比值 if start_label != end_label: ratio_label = f"{start_label}/{end_label}" ratio_values_1 = [ start_values[i] / end_values[i] if end_values[i] != 0 else 0 # 或其他默认值 for i in range(min(len(start_values), len(end_values))) ] peak_ratios[ratio_label] = ratio_values_1 #输出每对波峰的比值 # for key, value in peak_ratios.items(): # print(f"{key} 的峰值比值:", value) # 创建一个存储面积的字典 areas_values = { "ecg_areas": ecg_areas, "P_areas": P_areas, "T_areas": T_areas, "QRS_areas": QRS_areas, } # 初始化一个空字典来存储面积比值 areas_ratios = {} # 计算每对波峰的比值 for start_label, start_values in areas_values.items(): for end_label, end_values in areas_values.items(): # 避免重复计算相同的比值 if start_label != end_label: ratio_label = f"{start_label}/{end_label}" ratio_values_2 = [ start_values[i] / end_values[i] if end_values[i] != 0 else 0 # 或其他默认值 for i in range(min(len(start_values), len(end_values))) ] areas_ratios[ratio_label] = ratio_values_2 return peak_ratios, areas_ratios if __name__ == "__main__": ratio_calculate()