主要内容

extractIsosurface

利用移动立方体算法从体积中提取等值面

描述

一个等值面是三维强度体中具有相等值的点的三维曲面表示。的extractIsosurface函数返回等值面的面和顶点数据,该等值面的面和顶点数据是由空间体积内的常值连接点提取的。的extractIsosurface函数使用移动立方体算法以数组形式提取等值面数据,其速度比等值面功能,不影响分辨率。对于其他选项,必须使用等值面函数。

例子

绿党= extractIsosurface(V等值从强度体积中提取等值面V通过确定的值V是否等于指定的等值等值.函数返回中等值面的面和顶点数据而且绿党,分别。

例子

全部折叠

将强度体积数据加载到工作区中。

负载(fullfile (toolboxdir (“图片”),“imdata”“BrainMRILabeled”“图片”“vol_001.mat”));V = vol;

指定等值面提取的等值。

等值= 100;

提取输入体积在指定等值处的等值面。

[faces,vert] = extractIsosurface(V,等值);

画出提取的等值面。

figure p = patch(Faces= Faces,Vertices=vert);isonorals (V,p) view(3) set(p,FaceColor=[0.5 1 0.5]) set(p,EdgeColor=“没有”)凸轮灯照明高洛德

图中包含一个轴对象。axis对象包含一个patch类型的对象。

将强度体积数据加载到工作区中。

负载(fullfile (toolboxdir (“图片”),“imdata”“BrainMRILabeled”“标签”“label_001.mat”));V =标签;

指定等值面提取的等值。

等值= 0.05;

提取输入体积在指定等值处的等值面。

[faces,vert] = extractIsosurface(V,等值);

显示和检查提取的等值面。

figure p = patch(Faces= Faces,Vertices=vert);isonorals (V,p) view(3) set(p,FaceColor=[0.5 1 0.5]) set(p,EdgeColor=“没有”)凸轮灯照明高洛德

图中包含一个轴对象。axis对象包含一个patch类型的对象。

从提取的等值面的顶点创建一个点云。显示点云。

ptCloud = pointCloud(vert);图pcshow (ptCloud)

将强度体积数据加载到工作区中。

负载(fullfile (toolboxdir (“图片”),“imdata”“BrainMRILabeled”“标签”“label_002.mat”));V =标签;

指定等值面提取的等值。

等值= 0.05;

提取输入体积在指定等值处的等值面。

[faces,vert] = extractIsosurface(V,等值);

显示和检查提取的等值面。

figure p = patch(Faces= Faces,Vertices=vert);isonorals (V,p) view(3) set(p,FaceColor=[0.5 1 0.5]) set(p,EdgeColor=“没有”)凸轮灯照明高洛德

图中包含一个轴对象。axis对象包含一个patch类型的对象。

对提取的等值面进行三角剖分。将三角剖分显示为网格。

T =三角剖分(double(faces),double(vert));图trimesh (T)

图中包含一个轴对象。axis对象包含一个patch类型的对象。

创建一个STL文件用于3d打印,使用三角剖分提取等值面。

stlwrite (T)“brain.stl”

输入参数

全部折叠

强度体积数据,指定为3-D数值或逻辑数组。

数据类型:||int8|int16|int32|uint8|uint16|uint32|逻辑

计算等值面的等值值,用数值标量表示。

数据类型:|

输出参数

全部折叠

计算的等值面的面数据,返回为3矩阵。是等值面的面数。三个顶点构成一个三角形。的行返回曲面上所有顶点的三维索引坐标绿党.每一行矩阵包含三个顶点的行索引绿党形成三角形的面。

数据类型:

计算的等值面的顶点数据,返回为N3矩阵。N是等值面的顶点数。矩阵的每一行包含等值面的一个顶点的三维下标坐标。

数据类型:

算法

extractIsosurface函数使用移动立方体算法来提取体积的等值面V在指定的等值上等值.行进立方体算法使用查找表来获取等值面的面和顶点的信息。查找表启用extractIsosurface函数以数组形式提取面和顶点数据的速度比等值面功能,而不影响大强度体积的分辨率,如那些通常用于医学成像。尽管extractIsosurface而且等值面都是相似的,但在实现和输出上有一定的区别。

  • 的行为extractIsosurface而且等值面当强度值等于指定的等值时,边缘情况不同。的等值面函数在强度小于或等于等值的区域与强度大于等值的区域之间生成一个曲面。的extractIsosurface函数在强度小于等值的区域和强度大于或等于等值的区域之间生成一个曲面。

  • 除了边情况,两者都是extractIsosurface而且等值面生成相同数量的顶点,顶点的索引坐标在一个小的公差范围内匹配。但是,输出中顶点的顺序绿党可以是不同的。

  • 除了边情况,两者都是extractIsosurface而且等值面生成相同数量的人脸。但是,输出中的实际面是不同的,因为这两种算法使用不同的顶点三角剖分创建相同的表面。

参考文献

[1]洛伦森,威廉·E·和哈维·E·克莱恩。移动立方体:一种高分辨率三维曲面构建算法。计算机图形学21日,没有。4(1987年8月):163-69。https://doi.org/10.1145/37402.37422。

版本历史

R2022b中引入

另请参阅

Baidu
map