📄 iafrit.m
字号:
function x = iafrit(r, s, m, ind, wname)
% IFRITFD Inverse adaptive finite ridgelet transform
% x = iafrit(r, s, m, ind, wname)
%
% Input:
% r: ridgelet coefficients in a matrix, one column
% for each direction (there is N+1 directions)
% s: structure of wavelet transform
% m: mean value of the folded image
% ind: list of projections in which DWT is replaced by DCT
% wname: wavelet name
%
% Output:
% x: reconstructed image
%
% See also: AFRIT
% Length of each projection
p = size(r, 2) - 1;
ra = zeros(p, p+1);
% Inverse DCT for the indicated projections
if ~isempty(ind)
ra(:, ind) = idct([zeros(1, length(ind)); r(:, ind)]);
end
% Inverse wavelet transform for other projections
wind = setdiff(1:p+1, ind);
% Make sure using the periodic extension mode
st = dwtmode('status', 'nodisp');
if ~strcmp(st, 'per')
dwtmode('per');
end
% Number of wavelet decomposition levels
n = log2(p - 1);
% Recorrect the wavelet approx. cofficients
r(1, wind) = sqrt(p) * r(1, wind) / p;
% Inverse the wavelet transform
ra(1:end-1, wind) = waverecc(r(:, wind), s, wname);
% Compute the last Radon coefficients
ra(end, wind) = -sqrt(p-1) * r(1, wind);
% Inverse FRAT
x = ifrat(ra, m);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -