Je peux écrire quelque chose moi-même en trouvant les passages à zéro de la dérivée première ou quelque chose comme ça, mais cela semble être une fonction suffisamment commune pour être incluse dans les bibliothèques standard. Quelqu'un en connaît une ?
Mon application particulière est une matrice 2D, mais elle est généralement utilisée pour trouver des pics dans les FFT, etc.
Plus précisément, dans ce type de problèmes, il y a plusieurs pics forts, puis beaucoup de "pics" plus petits qui sont simplement causés par le bruit et qui doivent être ignorés. Il ne s'agit que d'exemples, pas de mes données réelles :
Pics unidimensionnels :
Pics bidimensionnels :
L'algorithme de recherche de pics trouverait l'emplacement de ces pics (et pas seulement leurs valeurs) et, idéalement, trouverait le véritable pic inter-échantillon, et pas seulement l'indice avec la valeur maximale, probablement à l'aide des méthodes suivantes interpolation quadratique ou quelque chose comme ça.
En général, on ne s'intéresse qu'à quelques pics forts, qui sont choisis soit parce qu'ils sont supérieurs à un certain seuil, soit parce qu'ils sont les premiers à être atteints. n les pics d'une liste ordonnée, classés par amplitude.
Comme je l'ai dit, je sais comment écrire quelque chose comme ça moi-même. Je demande simplement s'il existe une fonction ou un paquet préexistant connu pour bien fonctionner.
Mise à jour :
I traduit un script MATLAB et cela fonctionne décemment pour le cas 1-D, mais pourrait être mieux.
Mise à jour :
sixtenbe a créé une meilleure version pour le cas 1-D.
0 votes
@endolith Avez-vous le fichier MATLAB original que vous avez traduit en python pour cela ? Merci !
0 votes
@Mohammad : billauer.co.il/peakdet.html gist.github.com/250860#file_peakdet.m
2 votes
Qu'en est-il de ceci : docs.scipy.org/doc/scipy/reference/generated/
1 votes
@endolith Je sais que cette question est assez ancienne, mais elle est assez utile ;) J'ai passé quelques heures ce matin sur
find_peaks
J'ai donc ajouté cette réponse qui pourraient être utiles pour une référence future. (Je suis sûr que vous avez déjà trouvé ceci depuis 2009 mais c'est pour d'autres personnes + moi-même quand je me poserai à nouveau la question dans quelques années).1 votes
ce Une réponse vaut la peine d'être notée ici.