1
1d-arrayからピークとトラフを見つけようとしています。1d-arrayから正しいピークとトラフを得る方法
私たちはnumpy.r_()
を使用していますが、それは配列からのすべてのピークとトラフを見つけますが、我々は横隔膜運動の緩和と収縮点に対応するピークとトラフのみを求めます。
間違った最小点と最大点を拒否する関数はありますか?あなたはピーク発見の目的のために望ましくない高周波、小振幅振動を持って
1d-arrayからピークとトラフを見つけようとしています。1d-arrayから正しいピークとトラフを得る方法
私たちはnumpy.r_()
を使用していますが、それは配列からのすべてのピークとトラフを見つけますが、我々は横隔膜運動の緩和と収縮点に対応するピークとトラフのみを求めます。
間違った最小点と最大点を拒否する関数はありますか?あなたはピーク発見の目的のために望ましくない高周波、小振幅振動を持って
:
は、下の悪い例を参照してください。ピークを検索する前にフィルタリングしてください。シンプルなフィルタはscipy.ndimageの1-dimensional Gaussianです。あなたのチャートのスケールで、
smooth_signal = ndimage.gaussian_filter1d(signal, 5)
は(ウィンドウサイズは、不要な振動を抑制するのに十分な大きさが、実際のピークを歪めないために十分に小さくなければならない)、右であるべきであると思われます。次に、ピーク発見アルゴリズムをsmooth_signal
に適用します。
signal processing moduleは、より洗練されたフィルタを備えていますが、使用するのに時間がかかります。
私たちはSciPyに新しいピーク発見アルゴリズムを取り入れようとしていますが、まだ見ていてうまくいけばそれについていくつかのフィードバックを与えることができます:) https://github.com/scipy/scipy/issues/8211 – percusse
"are are numpy.r_()を使用して、すべてのピークを検出します。真剣に? ['numpy.r_'](https://docs.scipy.org/doc/numpy/reference/generated/numpy.r_.html)はピーク検出法ではありません。 – FTP