How to obtain a curvelet transform matrix?

7 views (last 30 days)
I want to obtain a matrix C in matlab which is the n-by-n DCT (discrete curvelet transform) matrix such that for a given set of signals X and given set of coefficients A (I supposedly think which will better represent edges of X ) we can get a representation X=C*A. C will be a universal transform matrix like an n-Haar transform matrix. Can I obtain such a matrix since curvelet is linear? I have curvelab 2.1.3 installed and a function fdct_usfft.m returns curvelet transform of a given input. But I need the curvelet transform to be a transform operator matrix rather than as an operator on a signal.
  1 Comment
晓珍 李
晓珍 李 on 19 Mar 2024
Hello, may I share your code after adjusting the parameters?I also want to get the Qubo transform matrix

Sign in to comment.

Accepted Answer

Matt J
Matt J on 3 Oct 2017
  9 Comments
Mrin San
Mrin San on 4 Oct 2017
Thanks a lot Sir. Trying to tweak its parameters out to get the right matrix out of it.
Matt J
Matt J on 4 Oct 2017
Edited: Matt J on 4 Oct 2017
where x is a 512*512 array of real data or complex data (i checked both)
Note as well that if the matrix is intended to represent a 2D separable transform, it can be more efficient to compute the 1D transform matrix instead, and combine them using this FEX submission.
See here for a related example.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!