sopt_mltb_adjcurvelet - Adjoint curvelet transform Compute the adjoint curvelet transform from the curvelet coefficient vector. Inputs: - coef: Input curvelet coefficient vector. - Mod: Data structure that stores sizes of the curvelet transform generated from the CurveLab toolbox. - real: Flag indicating if the transform is real or complex (1 = real, 0 = complex). Outputs: - restim: Estimated image from the Curvelet coefficients.
0001 function restim = sopt_mltb_adjcurvelet(coef, Mod, real) 0002 % sopt_mltb_adjcurvelet - Adjoint curvelet transform 0003 % 0004 % Compute the adjoint curvelet transform from the curvelet 0005 % coefficient vector. 0006 % 0007 % Inputs: 0008 % 0009 % - coef: Input curvelet coefficient vector. 0010 % 0011 % - Mod: Data structure that stores sizes of the curvelet transform 0012 % generated from the CurveLab toolbox. 0013 % 0014 % - real: Flag indicating if the transform is real or complex (1 = real, 0015 % 0 = complex). 0016 % 0017 % Outputs: 0018 % 0019 % - restim: Estimated image from the Curvelet coefficients. 0020 0021 CR=cell(size(Mod)); 0022 marker=0; 0023 0024 for s=1:length(Mod) 0025 CR{s} = cell(size(Mod{s})); 0026 for w=1:length(Mod{s}) 0027 m=Mod{s}{w}(1); 0028 n=Mod{s}{w}(2); 0029 CR{s}{w}=reshape(coef(marker+1:marker+(m*n)),m,n); 0030 marker=marker+m*n; 0031 end 0032 end 0033 0034 % Apply adjoint curvelet transform 0035 restim = ifdct_usfft(CR,real);