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

3 3d matlab plot discrete-space volume-rendering

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

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);
Run Code Online (Sandbox Code Playgroud)

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

在此输入图像描述

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

Amr*_*mro 13

也许你的意思是:

slice(mesh.x, mesh.y, mesh.z, c, [], [], 4:4:52)
Run Code Online (Sandbox Code Playgroud)

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

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

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

截图