Learnable Curvelet Transform

This repository provides a MATLAB implementation of a **le
2 Downloads
Updated 27 Jan 2026

View License

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 Linux
Tags Add Tags
Version Published Release Notes
1.0.0