#data #line #peaks #finding #identifying #accelerometer #spectral

peak_finder

一种从线性数据中识别峰值(如加速度计或光谱数据)的算法

2 个稳定版本

1.0.1 2022年5月26日
1.0.0 2021年10月7日

#4 in #identifying


用于 音高检测器

MIT 许可证

12KB
210

MIT license

PeakFinder

一个用于识别线性数据中峰值的库,支持多种语言的实现。线性数据可以是加速度计数据、光谱数据、股票价格历史等几乎任何东西。

以下是该算法如何工作的图形示例,识别给定线性数据中的峰值和谷值。蓝色线是原始数据,绿色线显示算法识别的峰值

Example

此库旨在小巧且易于使用,依赖性少(Python 实现需要 numpy)。它目前提供了寻找超过指定阈值的峰值和超过给定统计限制的峰值的接口。未来可能会添加更多算法。

安装

C++

将文件 Peaks.cppPeaks.h 复制到您的项目中。查看 main.cpp 以了解如何使用峰值查找类。

  • GraphPeakListPeaks::findPeaksOverThreshold();
  • GraphPeakListPeaks::findPeaksOverStd();

Julia

将文件 Peaks.jl 复制到您的项目中。查看 PeakFinder.jl 以了解如何使用峰值查找类。

  • find_peaks_over_threshold(data::Array{GraphPoint},threshold)
  • find_peaks_over_stddev(data::Array{GraphPoint},sigmas)

Python

将文件 peaks.py 复制到您的项目中,尽管我最终会为它创建一个可安装的 pip 包。阅读 peakfinder.py 了解示例用法。

  • find_peaks_in_numeric_array_over_threshold(data,threshold)
  • find_peaks_in_numeric_array_over_stddev(data,sigmas)

Rust

安装 cargo 包 peak_finder。如果您真的不想添加包依赖,您只需将文件 peaks.rs 复制到您的项目中。查看 lib.rs 以了解示例用法。可用的函数有

  • find_peaks_in_numeric_array_over_threshold(data,threshold)
  • find_peaks_in_numeric_array_over_stddev(data,sigmas)

版本历史

v.1.0.0 - 初次发布。

许可证

本库采用 MIT 许可证发布,有关详细信息请参阅 LICENSE。

依赖

~1.3–1.7MB
~21K SLoC