Найти, существует ли пик в данном месте - PullRequest
0 голосов
/ 24 марта 2020

У меня есть таблица с местоположениями пиков и их соответствующими именами. Мне нужно знать, существует ли пик в заданном месте или нет, и рассчитать площадь под кривой.

peak_location = [12, 100 , 900 ,1000, 2000] #just dummy locations in my case I have about 100
sample = DATA[12]["intensity"] 
sample1 = pre.normalize_2(pre.diff(pre.normalize_2(sample)))
peak_idx, properties = find_peaks(sample1, height=None, threshold=None, distance=None,
               prominence=2, width=1, wlen=None, rel_height=.5,
               plateau_size=None)
properties["prominences"], properties["widths"]
plt.plot(sample1)
plt.plot(peak_idx, sample1[peak_idx], 'x', color='yellow')
plt.vlines(x=peak_idx, ymin=sample1[peak_idx] - properties["prominences"],
            ymax = sample1[peak_idx], color = "C1")
plt.hlines(y=properties["width_heights"], xmin=properties["left_ips"],
            xmax=properties["right_ips"], color = "C1")

plt.vlines(peak_location, ymin=(min(sample1)-10), ymax=(max(sample1)+10), colors="r")
plt.show()

Примером формы сигнала после дифференцирования красные линии показывают местоположение пика: An example of the shape of the signal after differentiation the red lines show the peak location

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