Matlab slice()函数无法正常工作

时间:2012-07-03 20:30:48

标签: matlab 3d plot volume-rendering discrete-space

我想使用以下代码行在z处的13 [4:4:52]个位置绘制离散的2D图像。

a=100;
[mesh.x,mesh.y,mesh.z] = meshgrid(1:1:100,1:1:100,4:4:52);
a_unifdist=0;
b_unifdist=10;
noise=a_unifdist+(b_unifdist-a_unifdist).*rand(100,100,13);
c = (a./mesh.x)+noise;
slice(c,1:100,1:100,4:4:52);

然而,我从1到13得到13个连续图,而不是13个离散位置,如下所示:

enter image description here

有人能告诉我我的错误是什么吗?我希望图像堆叠在z轴上的[4:4:52]位置。感谢。

1 个答案:

答案 0 :(得分:13)

也许你的意思是:

slice(mesh.x, mesh.y, mesh.z, c, [], [], 4:4:52)

这是一个比随机数据更有趣的例子:

load mri
D = double(squeeze(D));

h = slice(D, [], [], 1:size(D,3));
set(h, 'EdgeColor','none', 'FaceColor','interp')
alpha(.1)

screenshot

相关问题