скорость построения сигнала ЭКГ python - PullRequest
0 голосов
/ 19 июня 2020

Я новый python разработчик, я пытаюсь построить записанный сигнал ЭКГ (5 мин) в реальном времени, как показано на изображении ниже. проблема в том, что процесс построения занимает очень много времени. основная идея, которую я использовал, основана на рисовании линии между последней и следующей точкой входного сигнала (последний и новый списки). Проблема в том, что для построения 1 секунды входного сигнала требуется более 10 секунд. Я пробовал использовать серверную часть diff, такую ​​как PyQt5 или WXAgg, но это все равно занимает много времени. Есть ли какое-нибудь решение, чтобы ускорить процесс построения графика даже не в реальном времени?

enter image description here Мой код:

example_dir = 'E:/EEG_ECG/EEG_ECG_signal/190717C-CEX_0003.csv'
signal_input = np.loadtxt(example_dir)

#sample rate of the input ECG signal
fs = 256
formatter = matplotlib.ticker.FuncFormatter(lambda ms, x: time.strftime('%M:%S', time.gmtime(ms / fs)))

fig, axs = plt.subplots()
#plt.plot(signal_input)
axs.set_xlabel('Time')
axs.set_ylabel('Amplitude')
axs.grid(True)
axs.set_title('the original signal')
axs.xaxis.set_major_formatter(formatter)
plt.ion()
plt.show()

x = 0
last = [0, 0]
for i in range(0,len(signal_input)):
    # plotting the ECG signal point
    v = signal_input[x]
    x += 1

    new = [i,v]
    x_value = [last[0],new[0]]
    y_value = [last[1],new[1]]
    plt.plot(x_value, y_value, color='#000000')
    # saving the coord of the point to be used to plot the next point
    last = [i,v]

    plt.pause(0.000001)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...