%smoothing_restoration2_mult

load_image
   
%Par=input('spline order--?');
deci=2;
lev=log2(deci);
ToX=.000000001;
range_rho1=10000000;%input('range_rho1; 111-former; ?')
% if range_rho1~=111
    range_rho=[0 range_rho1];
% end

y=bloch;
[M,~]=size(bloch);
st1=input('noise std; 0--no noise(interpolation);111-former; ?')
if st1~=111
    st=st1;
    nois=st*randn(M);
end
T2=zeros(2,7);T4=T2;
for kk=1:7
    Par=2*kk;
deci=2;
lev=log2(deci);
figure;
subplot(2,2,1)
D=(1:deci:M);
noi=nois(D,D);
x=y(D,D)+noi;
ee=sum(noi(:).^2);
rho=defroPSm(Par,x,ee,range_rho,ToX);

s=smooth_spline2DPt(x,2,Par,lev,2,Par,lev,rho);
aj(x);

title(['\fontsize{16}Sampl=1:' int2str(deci) ', STD=' num2str(st)])

subplot(2,2,2)
[PSNR, mablod]=psnB(y,s);
T2(1,kk)=Par;
T2(2,kk)=PSNR;
aj(s)
title(['\fontsize{16}Spl. order: '  int2str(Par) ', PSNR=' num2str(PSNR,4 ) ', \rho=' num2str(rho,4) ])


deci=2*deci;
lev=log2(deci);
subplot(2,2,3)
D=(1:deci:M);
noi=nois(D,D);
x=y(D,D)+noi;
ee=sum(noi(:).^2);
rho=defroPSm(Par,x,ee,range_rho,ToX);

s=smooth_spline2DPt(x,2,Par,lev,2,Par,lev,rho);
aj(x);

title(['\fontsize{16}Sampl=1:' int2str(deci) ', STD=' num2str(st)])

subplot(2,2,4)
[PSNR, mablod]=psnB(y,s);
T4(1,kk)=Par;
T4(2,kk)=PSNR;
aj(s)
title(['\fontsize{16}Spl. order: '  int2str(Par) ', PSNR=' num2str(PSNR,4 ) ', \rho=' num2str(rho,2) ])

end
figure;subplot(1,2,1);bar(T2(1,:),T2(2,:));subplot(1,2,2);bar(T4(1,:),T4(2,:))