fCWT Rust Library
fcwt is a pure Rust library for fast continuous wavelet transform (CWT) computations using the FFT algorithm. It provides a flexible and efficient way to perform CWT on signals, particularly useful in signal processing and time-frequency analysis.
This is a port of the fCWT C++ library [[https://github.com/fastlib/fCWT]]. Test vectors have been compared between the outputs of fCWT and fcwt-rs.
Features
- Supports custom wavelet and scale definitions using traits.
- Utilizes rustfft for fast computations in pure Rust
- fftw3 can optionally be enabled with the
fftwfeature flag
TODO
- Implement parallel computations
- Currently only LinFreqs scales are implemented
Installation
Add fcwt to your Cargo.toml:
[]
= "0.1.2"
Usage
use ;
// Create a Morlet Wavelet with sigma=1.0
let wavelet = new;
// Create a frequency scale
let scales = new;
// Create a FastCwt instance using the specified Wavelet and Scales
let mut fcwt = new;
// Create a chirp test signal
let mut signal = chirp;
// Compute the fCWT and return a CwtResult<Float>
let result = cwt.cwt;