📄 fritfd.m
字号:
function [r, m] = fritfd(x, l, wpar)
% FRITFD Folded Finite ridgelet transform
% [r, m] = fritd(x, n, wname)
%
% Input:
% x: image matrix of size N by N where (2N-1) is a prime number
% l: number of wavelet decomposition levels
% wpar: parameters for spline biorthogonal filters, e.g. [1,3]
%
% Output:
% r: ridgelet coefficients in a matrix, one column
% for each direction (there is N+1 directions)
% m: mean value of the folded image
%
% Note:
% This uses folded FRAT with symmetric extention and biorthogonal
% symmetric wavelet transform (WaveLab function)
%
% See also: FRATFD, FWT_SBS, IFRITFD
% Folded Finite Radon transform
[ra, m] = fratfd(x);
% Columnwise wavelet transform of the folded FRAT
% Retrieve the filters from input parameters
[qmf, dqmf] = MakeBSFilter('CDF', wpar);
%%% UN-OPTIMIZED Part (modified from WaveLab's FWT_SBS)
n = size(ra, 1);
J = ceil(log(n)/log(2));
L = J - l; % coarset level
dp = dyadpartition(n);
r = zeros(n, n+1);
% Temporary variables
wcoef = zeros(1, n);
% Transpose ra since WaveLab operates on row vector
ra = ra';
for i = 1:n+1
% FWT_SBS of the i-th "column" of ra
beta = ra(i, :); % take samples at finest scale as beta-coeffts
for j = J-1:-1:L,
[beta, alfa] = DownDyad_SBS(beta, qmf, dqmf);
wcoef((dp(j+1)+1):dp(j+2)) = alfa;
end
wcoef(1:length(beta)) = beta;
r(:, i) = wcoef';
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -