资源简介
CurveLab is a toolbox implementing the Fast Discrete Curvelet Transform, both in Matlab and C++. The latest version is 2.1.2
The paper Fast Discrete Curvelet Transforms explains the curvelet transforms in detail. Parts of this research were supported by the National Science Foundation, the Alfred P. Sloan Foundation and the U.S. Department of Energy.
代码片段和文件信息
disp(‘ ‘);
disp([‘fdct3d_demo_basic.m -- This demo displays a 3d curvelet‘])
disp ([‘both in the spatial and frequency domains.‘]);
disp(‘ ‘);
disp([‘This is achieved by setting all the coefficients in the curvelet‘])
disp([‘domain to zero except that at the required location (which‘])
disp([‘is set to one). The curvelet is obtained by taking the‘])
disp([‘adjoint curvelet transform. Notice how the curvelet is sharply ‘])
disp([‘localized in both space and frequency.‘]);
disp(‘ ‘);
disp(‘The curvelet displayed is at the 4th scale. Its energy in the frequency‘)
disp(‘domain is concentrated in the direction of (xyz)=(1-1-1). In the spatial‘)
disp(‘domain it looks like a disc with the normal direction equal to (1-1-1).‘)
disp(‘The curvelet oscillates in the normal direction.‘)
disp(‘ ‘);
% fdct3d_demo_basic.m -- This demo displays a curvelet both in the spatial and frequency domains.
m = 128; n = 128; p = 64;
s = 4;
w = 1;
X = zeros(mnp);
disp(‘Take forward 3d curvelet transform:‘);
tic; C = fdct3d_forward(X); toc;
[t1t2t3] = size(C{s}{w});
t1 = ceil((t1+1)/2); t2 = ceil((t2+1)/2); t3 = ceil((t3+1)/2);
C{s}{w}(t1t2t3) = 1;
disp(‘Take inverse 3d curvelet transform:‘);
tic; Y = fdct3d_inverse(C); toc;
F = ifftshift(fftn(Y));
%reorder the data for display
Y = permute(Y [213]);
F = permute(F [213]);
%display 1
h = slice(real(Y)m/2n/2p/2);
alpha(‘color‘)
set(h‘EdgeColor‘‘none‘‘FaceColor‘‘interp‘‘FaceAlpha‘‘interp‘)
alphamap(‘rampdown‘)
alphamap(‘increase‘.1)
colormap(hsv)
set(gcf‘Renderer‘‘zbuffer‘); lighting phong
xlabel(‘x‘); ylabel(‘y‘); zlabel(‘z‘);
axis([0m0n0p]); colormap gray; axis equal;
disp(‘ ‘);
disp(‘Sliced display of the curvelet‘);
disp(‘Press any key to start the animation which displays the curvelet at different slices‘);
pause;
%display 2
for ix=m-1:-4:1
subplot(121);
h = slice(real(Y)ix[][]);
alpha(‘color‘)
set(h‘EdgeColor‘‘none‘‘FaceColor‘‘interp‘‘FaceAlpha‘‘interp‘)
alphamap(‘rampdown‘)
alphamap(‘increase‘.1)
colormap(hsv)
set(gcf‘Renderer‘‘zbuffer‘); lighting phong
xlabel(‘x‘); ylabel(‘y‘); zlabel(‘z‘);
axis([0m0n0p]); colormap gray;
title(‘a curvelet: spatial viewpoint‘);
subplot(122);
h = slice(abs(F)ix[][]);
alpha(‘color‘)
set(h‘EdgeColor‘‘none‘‘FaceColor‘‘interp‘‘FaceAlpha‘‘interp‘)
alphamap(‘rampdown‘)
alphamap(‘increase‘.1)
colormap(hsv)
set(gcf‘Renderer‘‘zbuffer‘); lighting phong
xlabel(‘x‘); ylabel(‘y‘); zlabel(‘z‘);
axis([0m0n0p]); colormap gray;
title(‘a curvelet: frequency viewpoint‘);
pause(0.05);
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 79651 2008-04-04 00:43 CurveLab-2.1.2\curvelab.pdf
文件 10008 2008-04-04 00:43 CurveLab-2.1.2\curvelab.tex
文件 2617 2008-04-04 00:43 CurveLab-2.1.2\fdct3d\mex\fdct3d_demo_basic.m
文件 209 2008-04-04 00:43 CurveLab-2.1.2\fdct3d\mex\fdct3d_forward.m
文件 218 2008-04-04 00:43 CurveLab-2.1.2\fdct3d\mex\fdct3d_inverse.m
文件 256 2008-04-04 00:43 CurveLab-2.1.2\fdct3d\mex\fdct3d_param.m
文件 620 2008-04-04 00:43 CurveLab-2.1.2\fdct3d\src\commoninc.hpp
文件 2699 2008-04-04 00:43 CurveLab-2.1.2\fdct3d\src\fdct3d.hpp
文件 11407 2008-04-04 00:43 CurveLab-2.1.2\fdct3d\src\fdct3dinline.hpp
文件 31988 2008-04-04 00:43 CurveLab-2.1.2\fdct3d\src\fdct3d_forward.cpp
文件 836 2008-04-04 00:43 CurveLab-2.1.2\fdct3d\src\fdct3d_forward_mex.cpp
文件 31859 2008-04-04 00:43 CurveLab-2.1.2\fdct3d\src\fdct3d_inverse.cpp
文件 850 2008-04-04 00:43 CurveLab-2.1.2\fdct3d\src\fdct3d_inverse_mex.cpp
文件 7558 2008-04-04 00:43 CurveLab-2.1.2\fdct3d\src\fdct3d_param.cpp
文件 977 2008-04-04 00:43 CurveLab-2.1.2\fdct3d\src\fdct3d_param_mex.cpp
文件 923 2008-04-04 00:43 CurveLab-2.1.2\fdct3d\src\makefile
文件 4530 2008-04-04 00:43 CurveLab-2.1.2\fdct3d\src\mexaux.hpp
文件 2590 2008-04-04 00:43 CurveLab-2.1.2\fdct3d\src\nummat.hpp
文件 2637 2008-04-04 00:43 CurveLab-2.1.2\fdct3d\src\numtns.hpp
文件 2161 2008-04-04 00:43 CurveLab-2.1.2\fdct3d\src\numvec.hpp
文件 2612 2008-04-04 00:43 CurveLab-2.1.2\fdct3d\src\offmat.hpp
文件 2973 2008-04-04 00:43 CurveLab-2.1.2\fdct3d\src\offtns.hpp
文件 2399 2008-04-04 00:43 CurveLab-2.1.2\fdct3d\src\offvec.hpp
文件 50 2008-04-04 00:43 CurveLab-2.1.2\fdct3d\src\options
文件 6924 2008-04-04 00:43 CurveLab-2.1.2\fdct3d\src\TAGS
文件 2254 2008-04-04 00:43 CurveLab-2.1.2\fdct3d\src\test.cpp
文件 782 2008-04-04 00:43 CurveLab-2.1.2\fdct3d_mpi\src\commoninc.hpp
文件 8824 2008-04-04 00:43 CurveLab-2.1.2\fdct3d_mpi\src\cpxcrvletprtd.cpp
文件 1568 2008-04-04 00:43 CurveLab-2.1.2\fdct3d_mpi\src\cpxcrvletprtd.hpp
文件 10056 2008-04-04 00:43 CurveLab-2.1.2\fdct3d_mpi\src\cpxnumtnsblkd.cpp
............此处省略212个文件信息
评论
共有 条评论