idwt_dyadic_recon.m

来自「小波压缩编码平台软件包」· M 代码 · 共 44 行

M
44
字号
function Xr = idwt_dyadic_recon(Y,wavelet,N)
%X = idwt_dyadic_recon(Y,wavelet,N)
%Version: 1.10, Date: 2005/11/01, author: Nikola Sprljan
%Dyadic wavelet reconstruction of a multidimensional signal
%
%Input:
% X - matrix of wavelet coefficients
% wavelet - wavelet identification string
% N - specifies the number of levels of reconstruction (inverse DWT)
%     
%Output: 
% Xr - reconstructed matrix
% 
%Uses: 
% get_submatrix.m
% idwt_dim.m (Wavelet Toolbox)
% 
%Example:
% Xr=idwt_dyadic_recon(Y,'CDF_9x7',6);

Xr=double(Y);

transposed = 0; %by default, do not transpose
if (size(Y,1) == 1) %if one-row vector, needs to be transposed
 Xr = Xr'; 
 transposed = 1; %remember to transpose it back later
end;
Xsiz=size(Xr);
if isvector(Xr) n = 1;
else n = ndims(Xr);end;

for i=N-1:-1:0
    Lsiz = ceil(Xsiz / 2^i); %low-pass subband dimensions
    [Li,Lind] = get_submatrix(Xr,Lsiz);
    for j=n:-1:1 %inverse transform in j-th dimension     
        Li = idwt_dim(Li,j,wavelet);
    end;
    Xr(Lind{:}) = Li;
end;

if transposed
    Xr = Xr';
end;

⌨️ 快捷键说明

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