2 个稳定版本
1.0.1 | 2022年5月26日 |
---|---|
1.0.0 | 2021年10月7日 |
#4 in #identifying
用于 音高检测器
12KB
210 行
PeakFinder
一个用于识别线性数据中峰值的库,支持多种语言的实现。线性数据可以是加速度计数据、光谱数据、股票价格历史等几乎任何东西。
以下是该算法如何工作的图形示例,识别给定线性数据中的峰值和谷值。蓝色线是原始数据,绿色线显示算法识别的峰值
此库旨在小巧且易于使用,依赖性少(Python 实现需要 numpy)。它目前提供了寻找超过指定阈值的峰值和超过给定统计限制的峰值的接口。未来可能会添加更多算法。
安装
C++
将文件 Peaks.cpp
和 Peaks.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