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 + -
显示快捷键?