import numpy as np import csv from model import cumbersome_model2 from model import UNet_family from model import UNet_attention from model import tf_model from model import tf_data import time import torch import os import random import shutil from scipy.signal import decimate, resample_poly, firwin, lfilter os.environ["CUDA_VISIBLE_DEVICES"]="0" def resample(signal, fs): # downsample the signal to a sample rate of 256 Hz if fs>256: fs_down = 256 # Desired sample rate q = int(fs / fs_down) # Downsampling factor signal_new = [] for ch in signal: x_down = decimate(ch, q) signal_new.append(x_down) # upsample the signal to a sample rate of 256 Hz elif fs<256: fs_up = 256 # Desired sample rate p = int(fs_up / fs) # Upsampling factor signal_new = [] for ch in signal: x_up = resample_poly(ch, p, 1) signal_new.append(x_up) else: signal_new = signal signal_new = np.array(signal_new).astype(np.float64) return signal_new # "original to 256Hz" or "256Hz to original" def resample_(signal, current_fs, target_fs): fs = current_fs # downsample the signal to the target sample rate if fs>target_fs: fs_down = target_fs # Desired sample rate q = int(fs / fs_down) # Downsampling factor signal_new = [] for ch in signal: x_down = decimate(ch, q) signal_new.append(x_down) # upsample the signal to the target sample rate elif fs