%function [jj1,jj2,jj3,sc,cc,cq,iff,scoh]=bsdm(X1,X1C,block) eskisi function [jj1,jj2,jj3,JJ1,JJ2,JJ3]=bsdm(X1,X1C,block) % Blockwise Spectral Distance Measure [nrows,ncols]=size(X1); ZO=fft2(X1); ZC=fft2(X1C); ZM=abs(ZO); ZMC=abs(ZC); ZA=angle(ZO); ZAC=angle(ZC); alfa=2.4916e-005; JJ1=sum(sum((ZM-ZMC).^2)).^0.5; JJ2=sum(sum((abs(ZA)-abs(ZAC)).^2)).^0.5; JJ3=alfa.*JJ1+(1-alfa).*JJ2; % for all blocks k=1; for i=1:fix(nrows/block) for j=1:fix(ncols/block) % chop a block Xb=X1(1+((i-1)*block):(i*block),1+((j-1)*block):(j*block)); XCb=X1C(1+((i-1)*block):(i*block),1+((j-1)*block):(j*block)); O=fft2(Xb); C=fft2(XCb); OM=abs(O); CM=abs(C); OA=angle(O); CA=angle(C); J1(k)=sum(sum((OM-CM).^2)).^0.5; J2(k)=sum(sum((abs(OA)-abs(CA)).^2)).^0.5; J3(k)=alfa.*J1(k)+(1-alfa).*J2(k); k=k+1; end end jj1(1)=mean(J1); jj1(2)=median(J1); jj1(3)=max(J1); jj2(1)=mean(J2); jj2(2)=median(J2); jj2(3)=max(J2); jj3(1)=mean(J3); jj3(2)=median(J3); jj3(3)=max(J3);