Advertisement
WhiteGazelle

baseline

Jun 17th, 2018
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.63 KB | None | 0 0
  1. def calcBaseline(time_series):
  2.     time_series = np.asarray(time_series, dtype=int)
  3.     baseline_values = peakutils.baseline(time_series)
  4.     with open('baseline_values.txt', 'w') as filehandle:
  5.         filehandle.writelines("%s\n" % value for value in baseline_values)
  6.  
  7. def subtractBaseline(file):
  8.     time_series = []
  9.     baseline_values = []
  10.     new_time_series = []
  11.     nts = np.array(new_time_series, dtype=float)
  12.     #read baseline values
  13.     with open('baseline_values.txt', 'r') as filehandle:
  14.         for line in filehandle:
  15.             baseline_values.append(line.split()[0])
  16.     bv = np.array(baseline_values, dtype=float)
  17.     #read time series
  18.     with open('C:/Users/João/Desktop/ECG/data/'+file) as f:
  19.         for line in f:
  20.             time_series.append(line.split()[6])
  21.             if len(time_series) == 100:
  22.                 ts = np.array(time_series, dtype=float)
  23.                 nts = ts - bv
  24.                 time_series = []
  25.             if time_series:
  26.                 ts = np.array(time_series, dtype=float)
  27.                 nts = ts - bv
  28.     return nts
  29.  
  30. def plotWithoutBaseline(signal):
  31.     x = np.arange(0, len(signal), 1)
  32.     y = np.asarray(signal)
  33.     fig, ax = plt.subplots()
  34.     ax.plot(x, y)
  35.     plt.show()
  36.  
  37. def filterSignal():
  38.     print("Choose file from list of files:")
  39.     files = os.listdir('data')
  40.     for i in range(0,len(files)-1):
  41.         if files[i].endswith('.txt'):
  42.             print(files[i])
  43.     file = input("Write the desired file name:")
  44.     #remove baseline from the signal
  45.     with open('C:/Users/João/Desktop/ECG/data/'+file, 'r') as f:
  46.         result = []
  47.         for line in f:
  48.             result.append(line.split()[6])
  49.             if len(result) == 100:
  50.                 calcBaseline(result)
  51.                 result = []
  52.         if result:
  53.             calcBaseline(result)
  54.     signal = subtractBaseline(file)
  55.     plotWithoutBaseline(signal)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement