adj_newbt3aa.m

来自「beamlet变化的工具箱」· M 代码 · 共 66 行

M
66
字号
function X=adj_newbt3aa(B)
sz=size(B);
n=sz(4);
m=n/2;
if sz(1)==n
    BigB=zeros(2*n,2*n,n,n);
    BigB(m+1:m+n,m+1:m+n,:,:)=B;
    B=BigB;
    clear BigB
end
X=zeros(2*n,2*n,n);
m=n/2;
s=1/n-1:2/n:1-1/n;
x=0.5:1:n-0.5;
for k=1:n
    for syi=1:n
        for szi=1:n
            if nnz(B(:,:,syi,szi))>0
                y1=s(syi)*(x(k)-m)+0.5;
                fy1=floor(y1);
                alphay=y1-fy1;
                sty=mod(2*n-fy1,2*n);
                PsykRsysz = [B( (sty+1) :2*n,:,syi,szi);B( 1: (sty),:,syi,szi)];
                if alphay<abs(s(syi)/2)
                    b=2*alphay/abs(s(syi));
                    sty=mod(2*n-fy1+1,2*n);
                    PsykRsysz=b*PsykRsysz+(1-b)*[B( (sty+1) :2*n,:,syi,szi);B( 1: (sty),:,syi,szi )];
                elseif alphay>(1-abs(s(syi))/2)
                    b=2*(1-alphay)/abs(s(syi));
                    sty=mod(2*n-fy1-1,2*n);
                    PsykRsysz=b*PsykRsysz+(1-b)*[B((sty+1) :2*n,:,syi,szi);B( 1: (sty),:,syi,szi )];
                end
                z1=s(szi)*(x(k)-m)+0.5;
                fz1=floor(z1);
                alphaz=z1-fz1;
                stz=mod(2*n-fz1,2*n);
                PsykRsyszPszk = [PsykRsysz(:, (stz+1) :2*n),PsykRsysz(:, 1: (stz))];
                if alphaz<abs(s(szi)/2)
                    b=2*alphaz/abs(s(szi));
                    stz=mod(2*n-fz1+1,2*n);
                    PsykRsyszPszk=b*PsykRsyszPszk+(1-b)*[PsykRsysz(:, (stz+1) :2*n),PsykRsysz(:, 1: (stz))];
                elseif alphaz>(1-abs(s(szi))/2)
                    b=2*(1-alphaz)/abs(s(szi));
                    stz=mod(2*n-fz1-1,2*n);
                    PsykRsyszPszk=b*PsykRsyszPszk+(1-b)*[PsykRsysz(:, (stz+1) :2*n),PsykRsysz(:, 1: (stz))];
                end
                X(:,:,k)=X(:,:,k)+PsykRsyszPszk;
            end
        end
    end
end
X=X(m+1:m+n,m+1:m+n,:);%% Part of BeamLab Version:200% Built:Friday,23-Aug-2002 00:00:00% This is Copyrighted Material% For Copying permissions see COPYING.m% Comments? e-mail beamlab@stat.stanford.edu%%% Part of BeamLab Version:200% Built:Saturday,14-Sep-2002 00:00:00% This is Copyrighted Material% For Copying permissions see COPYING.m% Comments? e-mail beamlab@stat.stanford.edu%

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?