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