8
Python / SciPyのピーク検出アルゴリズム
一次導関数などのゼロクロッシングを見つけることで自分で何かを書くことができますが、標準ライブラリに含めるには十分に一般的な関数のようです。誰か知ってる? 私の特定のアプリケーションは2Dアレイですが、通常はFFTのピークを見つけるためなどに使用されます。 具体的には、これらの種類の問題では、複数の強いピークがあり、無視すべきノイズだけが原因で発生する多数の小さな「ピーク」があります。これらは単なる例です。私の実際のデータではありません: 1次元ピーク: 2次元ピーク: ピーク検出アルゴリズムは、これらのピークの位置(それらの値だけでなく)を見つけ、理想的には、おそらく2次補間などを使用して、最大値のインデックスだけでなく、真のサンプル間ピークを見つけます。 通常、気になるのは数個の強いピークだけなので、特定のしきい値を超えているため、または振幅でランク付けされた順序付きリストの最初のn個のピークであるために選択されます。 私が言ったように、私はこのようなものを自分で書く方法を知っています。うまく機能することが知られている既存の関数またはパッケージがあるかどうかを尋ねています。 更新: 私はMATLABスクリプトを翻訳しましたが、それは1次元の場合にうまく機能しますが、もっと良いかもしれません。 更新された更新: sixtenbe は1-Dケースのより良いバージョンを作成しました。