0001 addpath ../dal/
0002
0003
0004
0005 m = 128;
0006 n = 128;
0007
0008 try
0009 h=fspecial('gaussian',[11 11],5);
0010 H=convmtx2center(h, m, n);
0011 catch
0012 load('H.mat');
0013 end
0014
0015
0016 X0=zeros(m,n); Yclean=zeros(m,n);
0017 I=randperm(m*n);
0018 X0(I(1:30))=1;
0019 Yclean(:)=H*X0(:);
0020 Y=Yclean+0.01*randn(m,n);
0021 figure, imagesc(Y)
0022
0023 display('Press any key to continue.');
0024 pause;
0025
0026 close;
0027
0028 lambda = 0.005;
0029
0030 [xx,stat]=dalsql1(zeros(m*n,1),H,Y(:),lambda,'eta',500,'solver','cg');
0031
0032 xx(xx<0.1)=0;
0033
0034 X=reshape(xx,[m,n]);
0035 [ii,jj,ss]=find(X);
0036 figure,
0037 subplot(1,2,1);
0038 imagesc(Y)
0039 title('True + Noise','FontSize',16);
0040 axis image;
0041 subplot(1,2,2);
0042 imagesc(Yclean);
0043 for kk=1:length(ss)
0044 hold on; plot(jj(kk), ii(kk), 'mx', 'linewidth', 2,'markersize', 10);
0045 end
0046 title('True + Estimated','FontSize',16);
0047 axis image;
0048