scalet 0.2.1

Continious wavelet transform
Documentation

Scalet

scalet is a Continuous Wavelet Transform (CWT) library written in Rust, focused on speed, numerical robustness, and high-quality visualization.

It provides fast CWT execution for f32 and f64, multiple wavelet types, flexible scale generation.

Example

let cwt = Scalet::make_cwt_f32(
    Arc::new(MorletWavelet::new(13.4)),
    signal.len(),
    CwtOptions {
    l1_norm: true,
    ..Default::default()
    },
)?;
let cwt_result = cwt.execute(&signal)?;
// optionally draw scalogram using spectrograph
use spectrograph::{Normalizer, SpectrographOptions, rgb_spectrograph_color_f32, SpectrographFrame};
let scalogram = rgb_spectrograph_color_f32(&SpectrographFrame {
    data: std::borrow::Cow::Borrowed(cwt_result.data.borrow()),
    width: cwt_result.width,
    height: cwt_result.height,
    },  SpectrographOptions {
    out_width: 1920,
    out_height: 1080,
    normalizer: Normalizer::PowerSqrt,
    colormap: spectrograph::Colormap::Turbo,
})?;

This project is licensed under either of

  • BSD-3-Clause License (see LICENSE)
  • Apache License, Version 2.0 (see LICENSE)

at your option.