# Gaussian Filtering: `gaussfilt` `gaussfilt` is a `no_std` library that provides Gaussian filter design and application. Filters may be designed by a known sigma or a known cutoff frequency and sample rate. Orders 0 through 3 are supported. Allocation is required for kernel design, and interfaces are generic on the `num_traits: Float` so there are are crate features for choice of "std" or "libm" support. Here are a couple provided signatures: * `design_gaussian_filter1d(sigma, order, truncate) -> alloc::Vec` * `design_gaussian_sigma_for_cutoff(cutoff, sample_rate) -> F` * `apply_gaussian_filter(signal: Iterator, kernel: &[F], pad: bool) -> Iterator` ## Example Usage Choose a desired cutoff, design a filter, filter some data: ```rust use gaussfilt::*; let signal = (0..1000).map(|x| x as f32); let sigma = design_gaussian_sigma_for_cutoff(10., 100.0); let filter = design_gaussian_filter1d(sigma, 0, 4.0); let filtered = apply_gaussian_filter1d(signal, &filter, true); let data = filtered.collect(); ```