import numpy as np 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() #-------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------- #-------------------------------- 创建空值清理函数 ------------------------------------ #-------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------- def ecg_clean_nan(): #在绘图中出现索引问题,经排查发现waves_dwt['ECG_P_Onsets']中含有nan,故先滤掉 NaN 值 # 处理 waves_dwt['ECG_P_Onsets'] ecg_p_onsets = waves_dwt['ECG_P_Onsets'] # 获取 ECG_P_Onsets 对应的值 ecg_p_onsets_cleaned = [x for x in ecg_p_onsets if not np.isnan(x)] # 使用列表推导式过滤掉 NaN 值 waves_dwt['ECG_P_Onsets'] = ecg_p_onsets_cleaned # 将清理后的结果重新赋值给 waves_dwt # 处理 waves_dwt['ECG_P_Offsets'] ecg_p_offsets = waves_dwt['ECG_P_Offsets'] ecg_p_offsets_cleaned = [x for x in ecg_p_offsets if not np.isnan(x)] waves_dwt['ECG_P_Offsets'] = ecg_p_offsets_cleaned # 处理 waves_dwt['ECG_T_Onsets'] ecg_t_onsets = waves_dwt['ECG_T_Onsets'] ecg_t_onsets_cleaned = [x for x in ecg_t_onsets if not np.isnan(x)] waves_dwt['ECG_T_Onsets'] = ecg_t_onsets_cleaned # 处理 waves_dwt['ECG_T_Offsets'] ecg_t_offsets = waves_dwt['ECG_T_Offsets'] ecg_t_offsets_cleaned = [x for x in ecg_t_offsets if not np.isnan(x)] waves_dwt['ECG_T_Offsets'] = ecg_t_offsets_cleaned # 处理 waves_dwt['ECG_P_Peaks'] ecg_p_peaks = waves_dwt['ECG_P_Peaks'] ecg_p_peaks_cleaned = [x for x in ecg_p_peaks if not np.isnan(x)] waves_dwt['ECG_P_Peaks'] = ecg_p_peaks_cleaned # 处理 waves_dwt['ECG_Q_Peaks'] ecg_q_peaks = waves_dwt['ECG_Q_Peaks'] ecg_q_peaks_cleaned = [x for x in ecg_q_peaks if not np.isnan(x)] waves_dwt['ECG_Q_Peaks'] = ecg_q_peaks_cleaned # 处理 rpeaks['ECG_R_Peaks'] ecg_r_peaks = rpeaks['ECG_R_Peaks'] ecg_r_peaks_cleaned = [x for x in ecg_r_peaks if not np.isnan(x)] rpeaks['ECG_R_Peaks'] = ecg_r_peaks_cleaned # 处理 waves_dwt['ECG_S_Peaks'] ecg_s_peaks = waves_dwt['ECG_S_Peaks'] ecg_s_peaks_cleaned = [x for x in ecg_s_peaks if not np.isnan(x)] waves_dwt['ECG_S_Peaks'] = ecg_s_peaks_cleaned # 处理 waves_dwt['ECG_T_Peaks'] ecg_t_peaks = waves_dwt['ECG_T_Peaks'] ecg_t_peaks_cleaned = [x for x in ecg_t_peaks if not np.isnan(x)] waves_dwt['ECG_T_Peaks'] = ecg_t_peaks_cleaned return (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']) #-------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------- #-------------------------------- 调用函数 ---------------------------------------- #-------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------- if __name__ == "__main__": ecg_clean_nan()