fwt4_po.m
来自「beamlet变化的工具箱」· M 代码 · 共 77 行
M
77 行
function wc = FWT4_PO(x,L,qmf)
% FWT4_PO -- 4-d MRA wavelet transform (periodized, orthogonal)
% Usage
% wc = FWT4_PO(x,L,qmf)
% Inputs
% x 4-d image (n*n*n*n array, n dyadic)
% L coarse level
% qmf quadrature mirror filter
% Outputs
% wc 4-d wavelet transform
%
% Description
% A four-dimensional Wavelet Transform is computed for the
% array x. To reconstruct, use IWT4_PO.
%
% See Also
% IWT4_PO, MakeONFilter
%
n=length(x);
J=log2(n);
wc = x;
nc = n;
for jscal=J-1:-1:L,
top = (nc/2+1):nc; bot = 1:(nc/2);
for ix=1:nc,
for iz=1:nc,
for iw=1:nc,
row = squeeze(wc(ix,1:nc,iz,iw));
wc(ix,bot,iz,iw) = DownDyadLo(row,qmf);
wc(ix,top,iz,iw) = DownDyadHi(row,qmf);
end
end
end
for iy=1:nc,
for iz=1:nc,
for iw=1:nc,
row = squeeze(wc(1:nc,iy,iz,iw))';
wc(bot,iy,iz,iw) = DownDyadLo(row,qmf);
wc(top,iy,iz,iw) = DownDyadHi(row,qmf);
end
end
end
for ix=1:nc,
for iy=1:nc,
for iw=1:nc,
row = squeeze(wc(ix,iy,1:nc,iw))';
wc(ix,iy,bot,iw) = DownDyadLo(row,qmf);
wc(ix,iy,top,iw) = DownDyadHi(row,qmf);
end
end
end
for ix=1:nc,
for iy=1:nc,
for iz=1:nc,
row = squeeze(wc(ix,iy,iz,1:nc))';
wc(ix,iy,iz,bot) = DownDyadLo(row,qmf);
wc(ix,iy,iz,top) = DownDyadHi(row,qmf);
end
end
end
nc=nc/2;
end
%% 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 + -
显示快捷键?