【问题标题】:Matlab - Combining slices into a 3-D volumeMatlab - 将切片组合成 3-D 体积
【发布时间】:2017-12-15 11:34:36
【问题描述】:
我正在测量 3 颗牙齿的微晶散度。每颗牙齿在物理上被分成 4 个切片,我使用 Matlab 为每个切片创建了一个网格。我表示的数据如图所示:
对于每颗牙齿,我想使用 matlab 将这 4 个切片堆叠成一个 3-D 模型。我希望能够从所有 3D 方向查看模型。您能否让我知道我的想法是否可行并引导我朝着正确的方向前进。
【问题讨论】:
标签:
matlab
mesh
contour
tomography-reconstruction
【解决方案1】:
使用surf()函数
如果您将每个切片保存为图像,则可以使用surf() 函数将一个切片显示为与图像着色的平面。如果您的切片图像以 RGB 格式存储在数组 sl 中,尺寸为 [N,M,3],您可以编写以下内容:
% x, and y coordinates for each grid point
[x,y] = meshgrid(1:size(sl,2),1:size(sl,1));
% Position of slice in z-coordinate
z=0;
% Draw surface with slice projected onto
surf(x,y,repmat(z,size(sl)),sl,'edgecolor','none');
要在上方或下方添加更多切片,请发出hold all 命令并将其他切片放置在不同的z 位置,然后对下一个切片重复上述操作。