Learnable Curvelet Transform
Version 1.0.0 (5.22 KB) by
Angshul Majumdar
This repository provides a MATLAB implementation of a **le
Curvelets are a canonical multiscale directional representation with strong theoretical guarantees, yet their fixed frequency tiling limits adaptability across diverse data and tasks. This paper develops a principled framework for learnable curvelet transforms that preserves the analytic structure of classical curvelets while enabling task-specific adaptation. Learning is performed through a structured parameterisation of the frequency-domain windows within the FDCT-wrapping construction, ensuring compact support, bounded overlap, and parabolic scaling. We establish rigorous analysis--synthesis guarantees, including exact and approximate perfect reconstruction, uniform stability, and finite frame bounds. Furthermore, we prove that key classical properties of curvelets---directional localisation and optimal sparse approximation rates for cartoon-like images---are preserved under admissible learned deformations. The learned curvelets are then specialised to three tasks: sparse recovery, classification, and clustering, yielding task-conditioned analysis operators with provable recovery guarantees in the analysis $\ell_1$ setting. Extensive experiments on images demonstrate consistent improvements over fixed and learned wavelet and contourlet representations, while a cross-task transfer analysis reveals the non-universality of learned transforms. Overall, the results show that learning, when guided by analytic constraints, can enhance performance without sacrificing the theoretical foundations of multiscale harmonic analysis.
Cite As
Angshul Majumdar (2026). Learnable Curvelet Transform (https://uk.mathworks.com/matlabcentral/fileexchange/183122-learnable-curvelet-transform), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Created with
R2025b
Compatible with any release
Platform Compatibility
Windows macOS LinuxTags
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
| Version | Published | Release Notes | |
|---|---|---|---|
| 1.0.0 |
