clear all close all MC = 10; lambda = 4.5; L = 4; thd = 3; sigma = 20; images = {'barbara_512x512.png','peppers256.png'}; qmf = MakeONFilter('Symmlet',6); randn('state',0); for in=1:length(images) img=double(imread(images{in})); img=255*img/max(img(:)); for rep=1:MC imnoisy=img+sigma*randn(size(img)); % Block DWT. tic;imden=den2d_block(imnoisy,qmf,lambda,L,sigma);timeblock(rep,1)=toc; % Term-by-term DWT. tic;imden=den2d(imnoisy,qmf,2,'H',sigma,thd*sigma);timeterm(rep,1)=toc; % Block UDWT. tic;imden=den2d_blockTI(imnoisy,qmf,lambda,L,sigma);timeblock(rep,2)=toc; % Term-by-term UDWT. tic;imden=den2d_TI(imnoisy,qmf,2,'H',sigma);timeterm(rep,2)=toc; % Block Curvelets. tic;[imden,cput]=den2d_blockcurvwrap(imnoisy,4,lambda,L,sigma);timeblock(rep,3)=toc-cput(2); % Term-by-term Curvelets. tic;imden=den2d_curvwrap(imnoisy,5,'H',sigma);timeterm(rep,3)=toc-cput(2); end fprintf('%s\n','*'*ones(1,90)); fprintf('%30sCPU (s) for %s\n',' ',images{in}); fprintf('%s\n','*'*ones(1,90)); fprintf('%-10s%-15s\t%-15s\t%-15s\n',' ','DWT','UDWT','Curvelets'); fprintf('%-10s%-15.2g\t%-15.2g\t%-15.2g\n','Block', mean(timeblock(:,1)),mean(timeblock(:,2)),mean(timeblock(:,3))); fprintf('%-10s%-15.2g\t%-15.2g\t%-15.2g\n','Term' , mean(timeterm(:,1)),mean(timeterm(:,2)),mean(timeterm(:,3))); end % % Part of DBlockToolbox Version:100 % Written by: Jalal Fadili, GREYC CNRS ENSICAEN % Christophe Chesneau, LMNO University of Caen % Jean-Luc Starck, CEA-CNRS % Created June 2008 % This material is distributed under CeCiLL licence. % E-mail: Jalal.Fadili@greyc.ensicaen.fr %