Найти пики с помощью scipy "find_peaks ()"? - PullRequest
1 голос
/ 27 мая 2020

Я хотел бы обнаруживать пики, например, с помощью библиотеки scipy и ее функции find_peaks() с помощью этого простого исходного кода:

import matplotlib.pyplot as plt
import numpy as np
from scipy.signal import find_peaks

ecg = np.load("sample.npy")
peaks, _ = find_peaks(ecg)
plt.plot(ecg)
plt.plot(peaks, ecg[peaks], "x")
plt.show()

и я хотел бы получить что-то вроде этого:

sample plot

но я хотел бы получить этот результат ↑ для большего количества образцов ... сделайте его более общим.

1 Ответ

0 голосов
/ 27 мая 2020

Возьмите текущую разницу, а затем установите порог этого массива, чтобы получить пики.

import itertools
import operator
import numpy as np

arr = np.array(accumulate(your_array, operator.sub))
arr = np.where[arr > threshold]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...