320 lines
		
	
	
		
			21 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			320 lines
		
	
	
		
			21 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import os
 | ||
| from scipy.stats import pearsonr
 | ||
| import pandas as pd
 | ||
| 
 | ||
| from global_var import global_var_init
 | ||
| cycle, fs_ecg, fs_ppg, record_name, record_name_csv, 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_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()
 | ||
| 
 | ||
| from ecg_time_interval import compute_interval
 | ||
| intervals_ecg, ratio_pp_tt = compute_interval()
 | ||
| 
 | ||
| from ecg_ratio_calculate import ratio_calculate
 | ||
| peak_ratios, areas_ratios= ratio_calculate()
 | ||
| 
 | ||
| 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()
 | ||
| 
 | ||
| from ppg_ratio import ppg_ratio
 | ||
| ratios_ppg_2, ratios_ppg_3 = ppg_ratio()
 | ||
| 
 | ||
| from ppg_areas import ppg_areas
 | ||
| areas_values, ratios_areas, diffs_areas = ppg_areas()
 | ||
| 
 | ||
| from PAT import pat_val
 | ||
| RT_PAT = pat_val()
 | ||
| 
 | ||
| 
 | ||
| #--------------------------------------------------------------------------------------------------------
 | ||
| #--------------------------------------------------------------------------------------------------------
 | ||
| #--------------------------------------------------------------------------------------------------------
 | ||
| #-----------------------------------        创建关联分析函数          ------------------------------------
 | ||
| #--------------------------------------------------------------------------------------------------------
 | ||
| #--------------------------------------------------------------------------------------------------------
 | ||
| #--------------------------------------------------------------------------------------------------------
 | ||
| 
 | ||
| def correlation():
 | ||
| 
 | ||
| #--------------------------------------------------------------------------------------------------------
 | ||
| #-----------------------------------              PPG                ------------------------------------
 | ||
| #--------------------------------------------------------------------------------------------------------
 | ||
| 
 | ||
|     values_ppg = [  # 特征点的横纵坐标(由于f出现未知bug,暂时不考虑)
 | ||
|                     on, sp, dn, dp, u, v, w, a, b, c, e, 
 | ||
|                     on_values, sp_values, dn_values, dp_values, u_values, v_values,
 | ||
|                     w_values, a_values, b_values, c_values, e_values, 
 | ||
|         ]
 | ||
|     
 | ||
| 
 | ||
|     values_ppg_interval = [
 | ||
|                     # 特征点时间间隔
 | ||
|                     differences_ppg['on-sp'],differences_ppg['on-dn'],differences_ppg['on-dp'],differences_ppg['on-u'],differences_ppg['on-v'],differences_ppg['on-w'],differences_ppg['on-a'],differences_ppg['on-b'],differences_ppg['on-c'],differences_ppg['on-e'],differences_ppg['on-f'],
 | ||
|                     differences_ppg['sp-dn'],differences_ppg['sp-dp'],differences_ppg['sp-u'],differences_ppg['sp-v'],differences_ppg['sp-w'],differences_ppg['sp-a'],differences_ppg['sp-b'],differences_ppg['sp-c'],differences_ppg['sp-e'],differences_ppg['sp-f'],
 | ||
|                     differences_ppg['dn-dp'],differences_ppg['dn-u'],differences_ppg['dn-v'],differences_ppg['dn-w'],differences_ppg['dn-a'],differences_ppg['dn-b'],differences_ppg['dn-c'],differences_ppg['dn-e'],differences_ppg['dn-f'],
 | ||
|                     differences_ppg['dp-u'],differences_ppg['dp-v'],differences_ppg['dp-w'],differences_ppg['dp-a'],differences_ppg['dp-b'],differences_ppg['dp-c'],differences_ppg['dp-e'],differences_ppg['dp-f'],
 | ||
|                     differences_ppg['u-v'],differences_ppg['u-w'],differences_ppg['u-a'],differences_ppg['u-b'],differences_ppg['u-c'],differences_ppg['u-e'],differences_ppg['u-f'],
 | ||
|                     differences_ppg['v-w'],differences_ppg['v-a'],differences_ppg['v-b'],differences_ppg['v-c'],differences_ppg['v-e'],differences_ppg['v-f'],
 | ||
|                     differences_ppg['w-a'],differences_ppg['w-b'],differences_ppg['w-c'],differences_ppg['w-e'],differences_ppg['w-f'],
 | ||
|                     differences_ppg['a-b'],differences_ppg['a-c'],differences_ppg['a-e'],differences_ppg['a-f'],
 | ||
|                     differences_ppg['b-c'],differences_ppg['b-e'],differences_ppg['b-f'],
 | ||
|                     differences_ppg['c-e'],differences_ppg['c-f'],
 | ||
|                     differences_ppg['e-f']
 | ||
|                 
 | ||
|     ]
 | ||
| 
 | ||
|     values_ppg_ratio2 = [
 | ||
|                     # 特征点纵坐标的比值
 | ||
|                     ratios_ppg_2['on/sp'], ratios_ppg_2['on/dn'], ratios_ppg_2['on/dp'], ratios_ppg_2['on/u'], ratios_ppg_2['on/v'], ratios_ppg_2['on/w'], ratios_ppg_2['on/a'], ratios_ppg_2['on/b'], ratios_ppg_2['on/c'], ratios_ppg_2['on/e'], ratios_ppg_2['on/f'], 
 | ||
|                     ratios_ppg_2['sp/dn'], ratios_ppg_2['sp/dp'], ratios_ppg_2['sp/u'], ratios_ppg_2['sp/v'], ratios_ppg_2['sp/w'], ratios_ppg_2['sp/a'], ratios_ppg_2['sp/b'], ratios_ppg_2['sp/c'], ratios_ppg_2['sp/e'], ratios_ppg_2['sp/f'], 
 | ||
|                     ratios_ppg_2['dn/dp'], ratios_ppg_2['dn/u'], ratios_ppg_2['dn/v'], ratios_ppg_2['dn/w'], ratios_ppg_2['dn/a'], ratios_ppg_2['dn/b'], ratios_ppg_2['dn/c'], ratios_ppg_2['dn/e'], ratios_ppg_2['dn/f'], 
 | ||
|                     ratios_ppg_2['dp/u'], ratios_ppg_2['dp/v'], ratios_ppg_2['dp/w'], ratios_ppg_2['dp/a'], ratios_ppg_2['dp/b'], ratios_ppg_2['dp/c'], ratios_ppg_2['dp/e'], ratios_ppg_2['dp/f'], 
 | ||
|                     ratios_ppg_2['u/v'], ratios_ppg_2['u/w'], ratios_ppg_2['u/a'], ratios_ppg_2['u/b'], ratios_ppg_2['u/c'], ratios_ppg_2['u/e'], ratios_ppg_2['u/f'], 
 | ||
|                     ratios_ppg_2['v/w'], ratios_ppg_2['v/a'], ratios_ppg_2['v/b'], ratios_ppg_2['v/c'], ratios_ppg_2['v/e'], ratios_ppg_2['v/f'], 
 | ||
|                     ratios_ppg_2['w/a'], ratios_ppg_2['w/b'], ratios_ppg_2['w/c'], ratios_ppg_2['w/e'], ratios_ppg_2['w/f'], 
 | ||
|                     ratios_ppg_2['a/b'], ratios_ppg_2['a/c'], ratios_ppg_2['a/e'], ratios_ppg_2['a/f'], 
 | ||
|                     ratios_ppg_2['b/c'], ratios_ppg_2['b/e'], ratios_ppg_2['b/f'], 
 | ||
|                     ratios_ppg_2['c/e'], ratios_ppg_2['c/f'], 
 | ||
|                     ratios_ppg_2['e/f']
 | ||
| 
 | ||
|     ]
 | ||
| 
 | ||
|     values_ppg_ratio3 = [
 | ||
|                     # 时间间隔的比值
 | ||
|                     ratios_ppg_3['on-sp/on-dn'],ratios_ppg_3['on-sp/on-dp'],ratios_ppg_3['on-sp/on-u'],ratios_ppg_3['on-sp/on-v'],ratios_ppg_3['on-sp/on-w'],ratios_ppg_3['on-sp/on-a'],ratios_ppg_3['on-sp/on-b'],ratios_ppg_3['on-sp/on-c'],ratios_ppg_3['on-sp/on-e'],ratios_ppg_3['on-sp/on-f'],
 | ||
|                     ratios_ppg_3['on-dn/on-dp'],ratios_ppg_3['on-dn/on-u'],ratios_ppg_3['on-dn/on-v'],ratios_ppg_3['on-dn/on-w'],ratios_ppg_3['on-dn/on-a'],ratios_ppg_3['on-dn/on-b'],ratios_ppg_3['on-dn/on-c'],ratios_ppg_3['on-dn/on-e'],ratios_ppg_3['on-dn/on-f'],
 | ||
|                     ratios_ppg_3['on-dp/on-u'],ratios_ppg_3['on-dp/on-v'],ratios_ppg_3['on-dp/on-w'],ratios_ppg_3['on-dp/on-a'],ratios_ppg_3['on-dp/on-b'],ratios_ppg_3['on-dp/on-c'],ratios_ppg_3['on-dp/on-e'],ratios_ppg_3['on-dp/on-f'],
 | ||
|                     ratios_ppg_3['on-u/on-v'],ratios_ppg_3['on-u/on-w'],ratios_ppg_3['on-u/on-a'],ratios_ppg_3['on-u/on-b'],ratios_ppg_3['on-u/on-c'],ratios_ppg_3['on-u/on-e'],ratios_ppg_3['on-u/on-f'],
 | ||
|                     ratios_ppg_3['on-v/on-w'],ratios_ppg_3['on-v/on-a'],ratios_ppg_3['on-v/on-b'],ratios_ppg_3['on-v/on-c'],ratios_ppg_3['on-v/on-e'],ratios_ppg_3['on-v/on-f'],
 | ||
|                     ratios_ppg_3['on-w/on-a'],ratios_ppg_3['on-w/on-b'],ratios_ppg_3['on-w/on-c'],ratios_ppg_3['on-w/on-e'],ratios_ppg_3['on-w/on-f'],
 | ||
|                     ratios_ppg_3['on-a/on-b'],ratios_ppg_3['on-a/on-c'],ratios_ppg_3['on-a/on-e'],ratios_ppg_3['on-a/on-f'],
 | ||
|                     ratios_ppg_3['on-b/on-c'],ratios_ppg_3['on-b/on-e'],ratios_ppg_3['on-b/on-f'],
 | ||
|                     ratios_ppg_3['on-c/on-f'],
 | ||
|                     ratios_ppg_3['on-e/on-f'],
 | ||
| 
 | ||
|                     ratios_ppg_3['sp-dn/sp-dp'],ratios_ppg_3['sp-dn/sp-u'],ratios_ppg_3['sp-dn/sp-v'],ratios_ppg_3['sp-dn/sp-w'],ratios_ppg_3['sp-dn/sp-a'],ratios_ppg_3['sp-dn/sp-b'],ratios_ppg_3['sp-dn/sp-c'],ratios_ppg_3['sp-dn/sp-e'],ratios_ppg_3['sp-dn/sp-f'],
 | ||
|                     ratios_ppg_3['sp-dp/sp-u'],ratios_ppg_3['sp-dp/sp-v'],ratios_ppg_3['sp-dp/sp-w'],ratios_ppg_3['sp-dp/sp-a'],ratios_ppg_3['sp-dp/sp-b'],ratios_ppg_3['sp-dp/sp-c'],ratios_ppg_3['sp-dp/sp-e'],ratios_ppg_3['sp-dp/sp-f'],
 | ||
|                     ratios_ppg_3['sp-u/sp-v'],ratios_ppg_3['sp-u/sp-w'],ratios_ppg_3['sp-u/sp-a'],ratios_ppg_3['sp-u/sp-b'],ratios_ppg_3['sp-u/sp-c'],ratios_ppg_3['sp-u/sp-e'],ratios_ppg_3['sp-u/sp-f'],
 | ||
|                     ratios_ppg_3['sp-v/sp-w'],ratios_ppg_3['sp-v/sp-a'],ratios_ppg_3['sp-v/sp-b'],ratios_ppg_3['sp-v/sp-c'],ratios_ppg_3['sp-v/sp-e'],ratios_ppg_3['sp-v/sp-f'],
 | ||
|                     ratios_ppg_3['sp-w/sp-a'],ratios_ppg_3['sp-w/sp-b'],ratios_ppg_3['sp-w/sp-c'],ratios_ppg_3['sp-w/sp-e'],ratios_ppg_3['sp-w/sp-f'],
 | ||
|                     ratios_ppg_3['sp-a/sp-b'],ratios_ppg_3['sp-a/sp-c'],ratios_ppg_3['sp-a/sp-e'],ratios_ppg_3['sp-a/sp-f'],
 | ||
|                     ratios_ppg_3['sp-b/sp-c'],ratios_ppg_3['sp-b/sp-e'],ratios_ppg_3['sp-b/sp-f'],
 | ||
|                     ratios_ppg_3['sp-c/sp-e'],ratios_ppg_3['sp-c/sp-f'],
 | ||
|                     ratios_ppg_3['sp-e/sp-f'],
 | ||
| 
 | ||
|                     ratios_ppg_3['dn-dp/dn-u'],ratios_ppg_3['dn-dp/dn-v'],ratios_ppg_3['dn-dp/dn-w'],ratios_ppg_3['dn-dp/dn-a'],ratios_ppg_3['dn-dp/dn-b'],ratios_ppg_3['dn-dp/dn-c'],ratios_ppg_3['dn-dp/dn-e'],ratios_ppg_3['dn-dp/dn-f'],
 | ||
|                     ratios_ppg_3['dn-u/dn-v'],ratios_ppg_3['dn-u/dn-w'],ratios_ppg_3['dn-u/dn-a'],ratios_ppg_3['dn-u/dn-b'],ratios_ppg_3['dn-u/dn-c'],ratios_ppg_3['dn-u/dn-e'],ratios_ppg_3['dn-u/dn-f'],
 | ||
|                     ratios_ppg_3['dn-v/dn-w'],ratios_ppg_3['dn-v/dn-a'],ratios_ppg_3['dn-v/dn-b'],ratios_ppg_3['dn-v/dn-c'],ratios_ppg_3['dn-v/dn-e'],ratios_ppg_3['dn-v/dn-f'],
 | ||
|                     ratios_ppg_3['dn-w/dn-a'],ratios_ppg_3['dn-w/dn-b'],ratios_ppg_3['dn-w/dn-c'],ratios_ppg_3['dn-w/dn-e'],ratios_ppg_3['dn-w/dn-f'],
 | ||
|                     ratios_ppg_3['dn-a/dn-b'],ratios_ppg_3['dn-a/dn-c'],ratios_ppg_3['dn-a/dn-e'],ratios_ppg_3['dn-a/dn-f'],
 | ||
|                     ratios_ppg_3['dn-b/dn-c'],ratios_ppg_3['dn-b/dn-e'],ratios_ppg_3['dn-b/dn-f'],
 | ||
|                     ratios_ppg_3['dn-c/dn-e'],ratios_ppg_3['dn-c/dn-f'],
 | ||
|                     ratios_ppg_3['dn-e/dn-f'],
 | ||
| 
 | ||
|                     ratios_ppg_3['dp-u/dp-v'],ratios_ppg_3['dp-u/dp-w'],ratios_ppg_3['dp-u/dp-a'],ratios_ppg_3['dp-u/dp-b'],ratios_ppg_3['dp-u/dp-c'],ratios_ppg_3['dp-u/dp-e'],ratios_ppg_3['dp-u/dp-f'],
 | ||
|                     ratios_ppg_3['dp-v/dp-w'],ratios_ppg_3['dp-v/dp-a'],ratios_ppg_3['dp-v/dp-b'],ratios_ppg_3['dp-v/dp-c'],ratios_ppg_3['dp-v/dp-e'],ratios_ppg_3['dp-v/dp-f'],
 | ||
|                     ratios_ppg_3['dp-w/dp-a'],ratios_ppg_3['dp-w/dp-b'],ratios_ppg_3['dp-w/dp-c'],ratios_ppg_3['dp-w/dp-e'],ratios_ppg_3['dp-w/dp-f'],
 | ||
|                     ratios_ppg_3['dp-a/dp-b'],ratios_ppg_3['dp-a/dp-c'],ratios_ppg_3['dp-a/dp-e'],ratios_ppg_3['dp-a/dp-f'],
 | ||
|                     ratios_ppg_3['dp-b/dp-c'],ratios_ppg_3['dp-b/dp-e'],ratios_ppg_3['dp-b/dp-f'],
 | ||
|                     ratios_ppg_3['dp-c/dp-e'],ratios_ppg_3['dp-c/dp-f'],
 | ||
|                     ratios_ppg_3['dp-e/dp-f'],
 | ||
| 
 | ||
|                     ratios_ppg_3['u-v/u-w'],ratios_ppg_3['u-v/u-a'],ratios_ppg_3['u-v/u-b'],ratios_ppg_3['u-v/u-c'],ratios_ppg_3['u-v/u-e'],ratios_ppg_3['u-v/u-f'],
 | ||
|                     ratios_ppg_3['u-w/u-a'],ratios_ppg_3['u-w/u-b'],ratios_ppg_3['u-w/u-c'],ratios_ppg_3['u-w/u-e'],ratios_ppg_3['u-w/u-f'],
 | ||
|                     ratios_ppg_3['u-a/u-b'],ratios_ppg_3['u-a/u-c'],ratios_ppg_3['u-a/u-e'],ratios_ppg_3['u-a/u-f'],
 | ||
|                     ratios_ppg_3['u-b/u-c'],ratios_ppg_3['u-b/u-e'],ratios_ppg_3['u-b/u-f'],
 | ||
|                     ratios_ppg_3['u-c/u-e'],ratios_ppg_3['u-c/u-f'],
 | ||
|                     ratios_ppg_3['u-e/u-f'],
 | ||
| 
 | ||
|                     ratios_ppg_3['v-w/v-a'],ratios_ppg_3['v-w/v-b'],ratios_ppg_3['v-w/v-c'],ratios_ppg_3['v-w/v-e'],ratios_ppg_3['v-w/v-f'],
 | ||
|                     ratios_ppg_3['v-a/v-b'],ratios_ppg_3['v-a/v-c'],ratios_ppg_3['v-a/v-e'],ratios_ppg_3['v-a/v-f'],
 | ||
|                     ratios_ppg_3['v-b/v-c'],ratios_ppg_3['v-b/v-e'],ratios_ppg_3['v-b/v-f'],
 | ||
|                     ratios_ppg_3['v-c/v-e'],ratios_ppg_3['v-c/v-f'],
 | ||
|                     ratios_ppg_3['v-e/v-f'],
 | ||
| 
 | ||
|                     ratios_ppg_3['w-a/w-b'],ratios_ppg_3['w-a/w-c'],ratios_ppg_3['w-a/w-e'],ratios_ppg_3['w-a/w-f'],
 | ||
|                     ratios_ppg_3['w-b/w-c'],ratios_ppg_3['w-b/w-e'],ratios_ppg_3['w-b/w-f'],
 | ||
|                     ratios_ppg_3['w-c/w-e'],ratios_ppg_3['w-c/w-f'],
 | ||
|                     ratios_ppg_3['w-e/w-f'],
 | ||
| 
 | ||
|                     ratios_ppg_3['a-b/a-c'],ratios_ppg_3['a-b/a-e'],ratios_ppg_3['a-b/a-f'],
 | ||
|                     ratios_ppg_3['a-c/a-e'],ratios_ppg_3['a-c/a-f'],
 | ||
|                     ratios_ppg_3['a-e/a-f'],
 | ||
| 
 | ||
|                     ratios_ppg_3['b-c/b-e'],ratios_ppg_3['b-c/b-f'],
 | ||
|                     ratios_ppg_3['b-e/b-f'],
 | ||
| 
 | ||
|                     ratios_ppg_3['c-e/c-f']
 | ||
| 
 | ||
|     ]
 | ||
| 
 | ||
|     values_ppg_areas = [
 | ||
|                     # 面积
 | ||
|                     areas_values['ppg_areas'], areas_values['vpg_areas'], areas_values['apg_areas']
 | ||
| 
 | ||
|     ]
 | ||
| 
 | ||
|     values_ppg_areas_ratios = [
 | ||
|                     # 面积的比值
 | ||
|                     ratios_areas['ppg_areas/vpg_areas'], ratios_areas['ppg_areas/apg_areas'],
 | ||
|                     ratios_areas['vpg_areas/apg_areas']
 | ||
| 
 | ||
|     ]
 | ||
| 
 | ||
|     values_ppg_areas_diffs = [
 | ||
|                     # 面积的差值
 | ||
|                     diffs_areas['ppg_areas-vpg_areas'], diffs_areas['ppg_areas-apg_areas'], 
 | ||
|                     diffs_areas['vpg_areas-apg_areas']
 | ||
| 
 | ||
|     ]
 | ||
| 
 | ||
| #--------------------------------------------------------------------------------------------------------
 | ||
| #-----------------------------------              ECG(包括PAT)            ------------------------------------
 | ||
| #--------------------------------------------------------------------------------------------------------
 | ||
| 
 | ||
|     num1 = [        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,
 | ||
|                     intervals_ecg['P_onset-P'], intervals_ecg['P_onset-P_offset'],
 | ||
|                     intervals_ecg['P_onset-Q'], intervals_ecg['P_onset-R'], 
 | ||
|                     intervals_ecg['P_onset-S'], intervals_ecg['P_onset-T_onset'],
 | ||
|                     intervals_ecg['P_onset-T'], intervals_ecg['P_onset-T_offset'],
 | ||
|                     intervals_ecg['P-P_offset'], intervals_ecg['P-Q'], 
 | ||
|                     intervals_ecg['P-R'], intervals_ecg['P-S'], 
 | ||
|                     intervals_ecg['P-T_onset'], intervals_ecg['P-T'],
 | ||
|                     intervals_ecg['P-T_offset'], intervals_ecg['P_offset-Q'],
 | ||
|                     intervals_ecg['P_offset-R'], intervals_ecg['P_offset-S'], 
 | ||
|                     intervals_ecg['P_offset-T_onset'],intervals_ecg['P_offset-T'], 
 | ||
|                     intervals_ecg['P_offset-T_offset'], intervals_ecg['Q-R'], 
 | ||
|                     intervals_ecg['Q-S'], intervals_ecg['Q-T_onset'], 
 | ||
|                     intervals_ecg['Q-T'], intervals_ecg['Q-T_offset'],
 | ||
|                     intervals_ecg['R-S'], intervals_ecg['R-T_onset'], 
 | ||
|                     intervals_ecg['R-T'], intervals_ecg['R-T_offset'], 
 | ||
|                     intervals_ecg['S-T_onset'], intervals_ecg['S-T'], 
 | ||
|                     intervals_ecg['S-T_offset'], intervals_ecg['T_onset-T'], 
 | ||
|                     intervals_ecg['T_onset-T_offset'],intervals_ecg['T-T_offset'],
 | ||
| 
 | ||
|                     peak_ratios['P_peaks_values/Q_peaks_values'], peak_ratios['P_peaks_values/R_peaks_values'], peak_ratios['P_peaks_values/S_peaks_values'], peak_ratios['P_peaks_values/T_peaks_values'],
 | ||
|                     peak_ratios['Q_peaks_values/R_peaks_values'], peak_ratios['Q_peaks_values/S_peaks_values'], peak_ratios['Q_peaks_values/T_peaks_values'],
 | ||
|                     peak_ratios['R_peaks_values/S_peaks_values'], peak_ratios['R_peaks_values/T_peaks_values'],
 | ||
|                     peak_ratios['S_peaks_values/T_peaks_values'],
 | ||
|                     peak_ratios['P_peaks_values/P_onset_values'], peak_ratios['P_peaks_values/P_offset_values'], peak_ratios['P_peaks_values/T_onset_values'], peak_ratios['P_peaks_values/T_offset_values'],
 | ||
|                     peak_ratios['Q_peaks_values/P_onset_values'], peak_ratios['Q_peaks_values/P_offset_values'], peak_ratios['Q_peaks_values/T_onset_values'], peak_ratios['Q_peaks_values/T_offset_values'],
 | ||
|                     peak_ratios['R_peaks_values/P_onset_values'], peak_ratios['R_peaks_values/P_offset_values'], peak_ratios['R_peaks_values/T_onset_values'], peak_ratios['R_peaks_values/T_offset_values'],
 | ||
|                     peak_ratios['S_peaks_values/P_onset_values'], peak_ratios['S_peaks_values/P_offset_values'], peak_ratios['S_peaks_values/T_onset_values'], peak_ratios['S_peaks_values/T_offset_values'],
 | ||
|                     peak_ratios['T_peaks_values/P_onset_values'], peak_ratios['T_peaks_values/P_offset_values'], peak_ratios['T_peaks_values/T_onset_values'], peak_ratios['T_peaks_values/T_offset_values'],
 | ||
|                     peak_ratios['P_onset_values/P_offset_values'], peak_ratios['P_onset_values/T_onset_values'], peak_ratios['P_onset_values/T_offset_values'],
 | ||
|                     peak_ratios['P_offset_values/T_onset_values'], peak_ratios['P_offset_values/T_offset_values'], peak_ratios['T_onset_values/T_offset_values'],
 | ||
|                     ratio_pp_tt,
 | ||
| 
 | ||
|                     ecg_areas, P_areas, T_areas, QRS_areas ,
 | ||
|                     areas_ratios['ecg_areas/P_areas'], areas_ratios['ecg_areas/QRS_areas'], areas_ratios['ecg_areas/T_areas'],
 | ||
|                     areas_ratios['P_areas/QRS_areas'], areas_ratios['P_areas/T_areas'],
 | ||
|                     areas_ratios['QRS_areas/T_areas'],
 | ||
| 
 | ||
|                     RT_PAT
 | ||
| 
 | ||
|     ]
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|     # num = [  
 | ||
|     #     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,
 | ||
|     #     ratio_pp_tt,
 | ||
|     #     ecg_areas, P_areas, T_areas, QRS_areas,
 | ||
|     # ]
 | ||
| 
 | ||
|     # # 遍历并打印每个列表的长度
 | ||
|     # for idx, values in enumerate(num):
 | ||
|     #     print(f"List {idx+1}: {len(values)}")
 | ||
| 
 | ||
| 
 | ||
|     # 定义保存的目录
 | ||
|     output_dir = f"D://python_study//big_boss//doc//output//{record_name}"
 | ||
|     # 定义文件名
 | ||
|     filename = f"{record_name}_output.txt"
 | ||
|     # 组合目录和文件名
 | ||
|     file_path = os.path.join(output_dir, filename)
 | ||
|     print("正在将相关性系数输出到文本中,请稍后。。。。。")
 | ||
| 
 | ||
|     for num1 in num1 :
 | ||
|         for num2 in values_ppg :
 | ||
|             pearson_corr, _ = pearsonr(num1, num2)
 | ||
|             # 打开文件,重定向输出
 | ||
|             with open(file_path, 'a') as f:
 | ||
|                 f.write(str(pearson_corr)+ '\n')
 | ||
| 
 | ||
|         for num2 in values_ppg_interval :
 | ||
|             pearson_corr, _ = pearsonr(num1, num2)
 | ||
|             # 打开文件以进行追加
 | ||
|             with open(file_path, 'a') as f:
 | ||
|                 f.write(str(pearson_corr)+ '\n')
 | ||
|             
 | ||
|         for num2 in values_ppg_ratio2 :
 | ||
|             pearson_corr, _ = pearsonr(num1, num2)
 | ||
|             # 打开文件以进行追加
 | ||
|             with open(file_path, 'a') as f:
 | ||
|                 f.write(str(pearson_corr)+ '\n')
 | ||
| 
 | ||
|         for num2 in values_ppg_ratio3 :
 | ||
|             pearson_corr, _ = pearsonr(num1, num2)
 | ||
|             # 打开文件以进行追加
 | ||
|             with open(file_path, 'a') as f:
 | ||
|                 f.write(str(pearson_corr)+ '\n')
 | ||
| 
 | ||
|         for num2 in values_ppg_areas :
 | ||
|             pearson_corr, _ = pearsonr(num1, num2)
 | ||
|             # 打开文件以进行追加
 | ||
|             with open(file_path, 'a') as f:
 | ||
|                 f.write(str(pearson_corr)+ '\n')
 | ||
|             
 | ||
|         for num2 in values_ppg_areas_ratios :
 | ||
|             pearson_corr, _ = pearsonr(num1, num2)
 | ||
|             # 打开文件以进行追加
 | ||
|             with open(file_path, 'a') as f:
 | ||
|                 f.write(str(pearson_corr)+ '\n')
 | ||
| 
 | ||
|         for num2 in values_ppg_areas_diffs :
 | ||
|             pearson_corr, _ = pearsonr(num1, num2)
 | ||
|             # 打开文件以进行追加
 | ||
|             with open(file_path, 'a') as f:
 | ||
|                 f.write(str(pearson_corr)+ '\n')
 | ||
| 
 | ||
|         # 打开文件以进行追加
 | ||
|         with open(file_path, 'a') as f:
 | ||
|             f.write('##########################################' + '\n') 
 | ||
|     
 | ||
|     print("输出完毕!")
 | ||
| 
 | ||
| 
 | ||
| if __name__ == "__main__":
 | ||
|     correlation() |