Files
SpectralPlot/src-tauri/src/algorithm/smoothmethod.rs
2025-05-07 11:10:44 +08:00

23 lines
571 B
Rust

extern crate savgol_rs;
use savgol_rs::savgol_filter;
pub fn savgol(data: Vec<f64>, window: usize, order: usize) -> Vec<f64> {
let svinput= savgol_rs::SavGolInput{data:&data,window_length:window,poly_order:order,derivative:0};
savgol_filter(&svinput).unwrap()
}
#[test]
fn test_savgol() {
// 示例数据
let data = vec![1.0, 1.9, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0];
let window = 5;
let order = 2;
// 调用 savgol 函数
let smoothed_data = savgol(data.clone(), window, order);
println!("Smoothed data: {:?}", smoothed_data);
}