Узнайте все минимум в кривой - PullRequest
0 голосов
/ 07 июня 2019

Мне нужно выяснить все минимумы на кривой, но я только локальные минимумы.

counts = np.sum(chunked_images[2]<chunked_images[2].max()/2., axis=1)

N = 15

cumsum, moving_aves = [0], []

for i, x in enumerate(counts, 1):    
    cumsum.append(cumsum[i-1] + x)

    if i>=N:
        moving_ave = (cumsum[i] - cumsum[i-N])/N
        #can do stuff with moving_ave here
        moving_aves.append(moving_ave)

moving_aves = np.array(moving_aves)
a = argrelextrema(moving_aves, np.less)
print(a)

Результат: (array([611, 628, 651]),) Но это не все минимумы:

img

1 Ответ

0 голосов
/ 07 июня 2019

Лучший способ сделать это - применить определение локального минимума.

Индекс i из counts является локальным минимумом, если:

counts[i-1] > counts[i] and counts[i+1] > counts[i]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...