Skip to content

Adding Inverse Continuous Wavelet Transform (CWT) Support #134

@MilaGolomozin

Description

@MilaGolomozin

The toolbox already provides a Continuous Wavelet Transform (CWT) implementation, which is highly useful for time-frequency analysis of non-stationary signals. However, there is currently no corresponding inverse Continuous Wavelet Transform (iCWT) for reconstructing signals from their wavelet coefficients.

Providing an inverse transform would significantly extend the usefulness of the existing CWT by enabling:

  • Signal reconstruction from CWT coefficients
  • End-to-end learning pipelines in PyTorch
  • Applications such as denoising, feature manipulation, and signal editing
  • Consistency with existing forward/inverse transform pairs (e.g., DWT / IDWT)

Proposed Addition:

icwt(coefficients, scales, wavelet, ...)

With:

  • Full PyTorch tensor support (CPU/GPU)
  • Autograd compatibility
  • Batch processing support
  • Implementation (proposal)

I would be happy to take the lead on an implementation if this is of interest. The plan would be:

  • Implement inverse CWT based on admissibility conditions and numerical reconstruction
  • Ensure compatibility with the existing cwt output format
  • Support common analytic wavelets (e.g., Morlet)
  • Maintain differentiability for seamless integration into PyTorch workflows

I can start with a minimal working version and iterate based on feedback.

Please let me know if this addition would be of interest. Thanks!

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions