# filtered_eda = eda_features.filterEDA(eda) # filtered_ppg = ppg_features.filterPPG(ppg) # # eda_final = pd.DataFrame({"time": time, "eda": filtered_eda}) # ppg_final = pd.DataFrame({"time": time, "ppg": filtered_ppg}) # # eda_final.to_csv(subject + gsr_file +"filtered_eda.csv", index=False) # ppg_final.to_csv(subject + gsr_file +"filtered_ppg.csv", index=False) # filter ECG and Resp ecg_resp = pd.read_csv(glob.glob(subject + resp_file + "*.csv")[0], header=[0, 1]) time = ecg_resp.iloc[:, 0].values ecg = ecg_resp.iloc[:, 8].values resp = ecg_resp.iloc[:, 9].values filtered_ecg_resp = ecg_features.waveDriftFilter( ecg_features.filterECG(ecg), n=9) filtered_resp = resp_features.filterResp(resp) ecg_final = pd.DataFrame({"time": time, "ecg": filtered_ecg_resp}) resp_final = pd.DataFrame({"time": time, "resp": filtered_resp}) ecg_final.to_csv(subject + resp_file + "filtered_ecg_resp.csv", index=False) resp_final.to_csv(subject + resp_file + "filtered_resp.csv", index=False) except: print("Error: " + subject)
time_start = np.min(ecg_road_data["timestamp"].values) time_end = np.max(ecg_road_data["timestamp"].values) tdelta = time_end - time_start #features extractor featuresExct = ECGFeatures(200) #road test features road_test_features = [] for j in np.arange(0, (tdelta // SPLIT_TIME), 0.2): end = time_end - ((j) * SPLIT_TIME) start = time_end - ((j + 1) * SPLIT_TIME) - EXTENTION_TIME ecg = ecg_road_data[(ecg_road_data["timestamp"].values >= start) & (ecg_road_data["timestamp"].values <= end)] ecg_values = featuresExct.filterECG(ecg['ecg'].values) ecg_values = signal.resample(ecg_values, int((len(ecg_values) / FS_ECG) * 200)) time_domain = featuresExct.extractTimeDomain(ecg_values) freq_domain = featuresExct.extractFrequencyDomain(ecg_values) nonlinear_domain = featuresExct.extractNonLinearDomain(ecg_values) if time_domain.shape[0] != 0 and freq_domain.shape[ 0] != 0 and nonlinear_domain.shape[0] != 0: concatenate_features = np.concatenate( [time_domain, freq_domain, nonlinear_domain]) road_test_features.append(concatenate_features) road_test_features = np.concatenate([road_test_features]) # concatenate features and normalize them