Avizo用户使用手册-16
[TOC]
Chapter 16
16 Avizo XMetrology Extension
Avizo计量(Metrology)工作室仅在Windows平台上可用,该工作室允许创建由一个零件上的一组测量所构成的测试计划(test plan)。一旦在某个参考零件上创建并保存了一个测试计划,就可以把该测试计划重新应用到任何相似的零件上,以判定该零件合格还是不合格。测量应当依据特定的朝向来创建。第一步是把零件按某个特定朝向重新对齐,因为零件在CT采集过程中可能被倾斜放置,例如为了优化射线路径。系统提供了不同的工具来定义朝向,包括由零件上所创建的几何体所定义的方向。一旦定义了某个朝向(即局部坐标系,Local Coordinate System,LCS)或多个朝向、并创建了几何体,你就可以创建测量。一组LCS、几何体和测量可以被保存为一个测试计划。
- 数据选择
- 数据可视化
- 几何体拟合
- 继承几何体
- 局部坐标系(LCS)的创建
- 测量的创建
- 测试计划的使用
16.1 数据选择
16.1.1 概述
当切换到 Metrology 工作室时,Data Selection(数据选择)面板(见图16.1)将允许你选择以下内容:
- 要在其上进行测量的数据
- 定义零件与”外部”之间界面的曲面类型
- 用作参考显示的CAD模型。有一个按钮可以开关该显示。选项允许改变该显示的颜色和不透明度。
- 用于其他类型测量的掩膜(mask)
图 16.1:Data Selection面板。
16.1.2 计量曲面确定
有若干种方法可以从所选数据自动确定曲面。这个下拉菜单中所列出的其他曲面是来自 Project View 的曲面。这个曲面确定过程很重要,因为几何体拟合将依赖于它,因而大多数测量也将依赖于它。对于所有 Fast Partitioning(快速划分)方法,曲面都是使用一个 Isosurface 模块提取的。这些方法之间唯一的差别在于用于计算曲面的阈值确定方法。当前的曲面确定方法带有一些参数,你可以使用 Surface Determination Parameters(曲面确定参数)按钮编辑它们。
图 16.2:Adaptive Sub-Voxel方法的曲面确定参数。
如果参数被修改,你可以重新计算曲面或恢复默认值。
16.1.2.1 Fast Partitioning - Local Minima
阈值是通过对所选数据使用自动 Intensity Range Partitioning(强度范围划分)来自动确定的。更多细节参见 Intensity Range Partitioning Editor 文档。
16.1.2.2 Fast Partitioning - ISO 50
阈值使用ISO 50算法确定:
- 设定一个任意的阈值。
- 使用该阈值,构建两组值:
- 背景材料值(Background Material values):低于该阈值的数据值。
- 灰度材料值(Gray Material values):高于该阈值的数据值。
- 计算每组值的均值。
- 使用下面的公式计算一个新的阈值:
- 重复步骤2、3、4,直到阈值收敛。
注意:此方法不支持浮点数据。可以使用 Background Detection Correction 和 Convert Image Type 模块来转换数据类型。
16.1.2.3 Fast Partitioning - Otsu
阈值使用 Otsu(大津)准则确定。该值通过最大化类间方差来确定:
其中:
- $\omega_0[t]$ 和 $\omega_1[t]$ 分别是属于类 $C_0$ 和 $C_1$ 的概率。
- $\mu_0[t]$ 和 $\mu_1[t]$ 分别是类 $C_0$ 和 $C_1$ 的均值。
算法如下:
- 计算直方图和概率 $\omega_0[t]$ 与 $\omega_1[t]$
- 定义初始的 $\omega_0[0]$ 和 $\omega_1[0]$
- 遍历所有可用的阈值 $t$
- 更新 $\omega_i$ 和 $\mu_i$
- 计算 $\sigma_B^2[t]$
- Otsu阈值对应于 $\sigma_B^2[t]$ 的最大值
注意:此方法不支持浮点数据。可以使用 Background Detection Correction 和 Convert Image Type 模块来转换数据类型。
16.1.2.4 Adaptive Sub-Voxel
这是一种高级的、CPU/内存密集的算法,它提供更精确的曲面计算。第一次选择此选项时,计算可能会花费一些额外的时间,但结果会被缓存,因此当选择另一个曲面时它不会被重新计算。测量的精度预期会小于所采集体的实际体素大小(分辨率)。这个曲面是使用 Morphological Laplacian、Image Gradient、Interactive Thresholding 或 Auto Thresholding,以及一个由标签场过滤的 Isosurface 计算出来的。Metrology Preferences 下的一些偏好设置允许指定 Morphological Laplacian 和阈值处理。
Adaptive Sub-Voxel参数
这些参数用于生成 Morphological Laplacian(即 Edge Smoothing 参数)和标注(即 Edge Selection 参数)数据,以生成一个精确的曲面。
- Edge Smoothing:Morphological Laplacian 滤波器的核大小
- Edge Selection:Interactive(其中需要配置查看器掩膜)或 Auto Thresholding 模式
注意:此方法不支持浮点数据。可以使用 Background Detection Correction 和 Convert Image Type 模块来转换数据类型。
16.1.2.5 Adjusted Sub-Voxel
这种方法通过沿梯度方向移动点并把它们吸附到局部梯度极大值处,把一个给定的曲面调整到亚体素精度。这些点沿着由梯度向量场定义的路径移动。如果在搜索距离内存在多个梯度极大值,则使用梯度幅值以及到起始点的距离来做出判定。
输入曲面是使用一个 Isosurface 模块提取的。
Adjusted Sub-Voxel参数
- Maximum Distance:定义初始确定的曲面可以被调整的距离范围。这个值可以依据图像质量来修改,例如在存在强烈射线硬化伪影的情况下增大,或者对于高质量图像、特别是带有薄壁结构的图像减小
- Initial Threshold:允许选择 Isosurface 所使用的阈值,以提取用作Adjusted Sub-Voxel算法输入的曲面。可用的阈值有Local Minima、Otsu和ISO 50。
注意:Otsu阈值不支持浮点数据。可以使用 Background Detection Correction 和 Convert Image Type 模块来转换数据类型。
16.1.2.6 在Project View中导出曲面
对于每种曲面计算方法,单击 Export 即可把计算出的曲面导出到项目视图中。
16.2 数据可视化
查看器工具栏中提供了一些可视化选项。
16.2.1 计量3D显示
这个按钮显示数据的体渲染或曲面视图(见图16.3)。用于几何体拟合的点是在曲面上拾取的。
图 16.3:计量3D显示按钮。
16.2.2 体渲染选项
当体渲染被激活、且当前查看器设为3D查看器时,这些选项可见(见图16.4)。
图 16.4:体渲染选项。
- Colormap:设置体渲染的颜色映射表
- View Parameters:设置体渲染的不透明度,并启用或禁用在3D视图中显示斜切视图背景
16.2.3 曲面选项
当曲面被激活、且当前查看器为3D查看器时,这些选项可见(见图16.5)。
图 16.5:曲面选项。
- Surface Color:设置曲面视图的颜色。这个选项同时也会改变2D查看器中等值轮廓线的颜色。
- View Parameters:设置曲面视图的不透明度,并启用或禁用在3D视图中显示斜切视图背景
16.2.4 正交视图选项
当当前查看器为2D查看器时,这些选项可见(见图16.6)。
图 16.6:正交视图选项。
- Colormap:设置切片的颜色映射表
- View Parameters:参见 Ortho Views 选项。
16.3 几何体拟合
16.3.1 概述
Metrology 工作室包含一个可停靠的 Geometries(几何体)面板(见图16.7),可以从这里拟合几何体。一旦通过 Data Selection 面板选择了数据、曲面和可选的掩膜,就可以拟合几何体了。
图 16.7:Geometries面板。
几何体拟合依赖于选取那些支撑该几何体、位于零件与零件”外部”(例如空气)之间界面上的点。通过在布局中提供的四个查看器之一中使用3D或2D视图单击来选择这些点。当选中一个点时,它会被投影到 Data Selection 面板中所设定的曲面上。查看器顶部的工具栏中提供了不同的点选择工具。
为了在体中不可见或被隐藏的区域上拟合几何体,通过单击每个2D查看器右下角的![剪切按钮]图标来激活剪切(clipping)(见图16.8)。剪切是通过一个平面完成的,该平面的朝向由该2D查看器的视图朝向按以下模式之一定义:
- 不应用剪切。
- 剪切方向为该平面法线的方向或其反向,取决于哪一个与相机方向形成最大的夹角。
- 剪切方向为该平面法线的方向。
- 剪切方向为该平面法线的反方向。
图 16.8:自动激活剪切以在零件内部进行拟合。
16.3.2 几何体拟合工具栏
图 16.9:几何体拟合工具栏。
这个工具栏包含所有与几何体相关的工具。不同的工具包括:
- Advanced Parameters:使用 Metrology Preferences 自定义拟合方法。
- Pick Geometry:在3D查看器中拾取任何几何体,以在几何体面板中选中相应的几何体。
- Fitting Tools:这个下拉菜单包含在3D或2D查看器中拟合几何体的所有工具。
- Auto Fit Mode:启用/禁用 Auto Fit 模式。在 Auto Fit 模式下,每次你选择一组新的点时,几何体拟合都会被更新。
- Fit:如果 Auto Fit 模式被禁用,则只有在你单击这个按钮之后几何体才会被拟合。
- Finish:在你完成点的选取后,停止拟合编辑。
16.3.3 拟合工具
不同的拟合工具包括:
- Pick Tool(拾取工具)
- Knn Tool(K近邻工具)
- Radius Tool(半径工具)
- Magic Wand Tool(魔棒工具)
当用这些工具选择了若干组点时,最后一组以红色高亮显示,其他各组以黄色和蓝色高亮显示。黄色和红色的组可以按选择顺序用Undo(撤销)操作取消选择。红色表明哪一组是Undo操作下一个要取消选择的对象。蓝色的组不能被取消选择,因为它们对应于拟合所选几何体所需的最小点集。
16.3.4 拟合方法
Metrology 工作室中可以使用若干种拟合方法,具有以下配置选项:
- 最小二乘法(Least Square Method,LS)
- 最小区域法(Minimum Zone Method,MZ)
- 最小区域内法(Minimum Zone Inner Method,MZI)
- 最小区域外法(Minimum Zone Outer Method,MZO)
- 最大内接法(Maximum Inscribed,MI)
- 最小外接法(Minimum Circumscribed,MC)
- 自动调整重拟合(Auto-Adjustment Refit)
- RANSAC参数
在Avizo中,使用PCL库以 最小二乘法(LS) 进行拟合。其他拟合方法基于 Chebyshev(切比雪夫)算法,并用 最小二乘法(LS) 的结果进行初始化。关于 Chebyshev 算法的更详细信息,参见下面这篇文章 Reference Algorithms for Chebyshev and One-sided Data Fitting for Coordinate Metrology:http://www.nist.gov/customcf/get_pdf.cfm?pub_id=822103 。
基于 Chebyshev 算法的拟合方法要求每个几何体有最少数量的点。对于3D几何体,用于拟合的点必须表示一个3D体。
| 几何体 | 数学最小值 | 推荐值 |
|---|---|---|
| 直线(Line) | 2 | 5 |
| 平面(Plane) | 3 | 9 |
| 圆(Circle) | 3 | 7 |
| 球(Sphere) | 4 | 9 |
| 圆柱(Cylinder) | 5 | 15 |
| 圆锥(Cone) | 6 | 15 |
默认的拟合方法可以通过 Metrology Preferences 更改。
某个几何体的拟合方法可以使用 Fitting Options Editor(拟合选项编辑器)更改(见图16.10)。
图 16.10:Fitting Options Editor。
16.3.4.1 最小二乘法(LS)
目前在Avizo中,Least Square(最小二乘)方法可用于拟合以下几何体:直线、圆、平面、球、圆柱和圆锥。在你于查看器中单击点之后,这些点会被登记到数据曲面上。所得的点云作为 Least Square 算法的一个输入项,该算法试图通过最小化点-形状距离的平方和来找到最佳拟合几何体。
前面的公式是一组 $n$ 个数据点的竖直偏差的平方和 $R^2$。当下面的方程被满足时,$R^2$ 取得最小:
这里给出一个使用 Least Square 算法进行2D圆拟合的示例(见图16.11):
图 16.11:2D圆的最小二乘拟合。
然而,离群点可能对拟合产生不成比例的影响,因为使用的是偏移量的平方。这可以通过使用 RANSAC Parameters 来避免。
16.3.4.2 最小区域法(MZ)
Minimum Zone方法基于 Chebyshev 算法。这种方法可以用来拟合与 最小二乘法(LS) 相同的几何体。
- Line:点的最小外接圆柱的轴线所在的那条直线。
- Plane:中位平面,位于两个相距最小的不同平行平面正中间,这两个平面之间的空间包含所有的点。
- Circle:中位圆,位于两个相距最小的不同同心圆正中间,这两个圆之间的空间包含所有的点。
- Sphere:中位球,位于两个相距最小的不同同心球正中间,这两个球之间的空间包含所有的点。
- Cylinder:中位圆柱,位于两个相距最小的不同同轴圆柱正中间,这两个圆柱之间的空间包含所有的点。
- Cone:中位圆锥,位于两个相距最小的不同同轴圆锥(即具有相同顶角)正中间,这两个圆锥之间的空间包含所有的点。
下面的图16.12用 最小二乘法(LS) 中所用的同一点云,说明了一个2D圆的Minimum Zone准则:
图 16.12:2D圆的最小区域拟合。注意:拟合出的圆是绿色的那个圆。
目标是找到使距离 $d$ 最小的两个圆。最小区域圆是这两个圆的平均。
16.3.4.3 最小区域内法(MZI)
Minimum Zone Inner 方法基于 Chebyshev 算法。这种方法可以用来拟合与 最小二乘法(LS) 相同的几何体。它遵循与 最小区域法(MZ) 相同的算法。唯一的差别在于,不是取平均几何体,而是取最小的那个(即图16.12中的蓝色圆)。
16.3.4.4 最小区域外法(MZO)
Minimum Zone Outer 方法基于 Chebyshev 算法。这种方法可以用来拟合与 最小二乘法(LS) 相同的几何体。它遵循与 最小区域法(MZ) 相同的算法。唯一的差别在于,不是取平均几何体,而是取最大的那个(即图16.12中的红色圆)。
16.3.4.5 最大内接法(MI)
Maximum Inscribed 方法计算出一个几何体,使得所有的点都在它之外,并且该几何体尽可能大。这种方法可以用来拟合以下几何体:圆、圆柱和球(见图16.13)。
图 16.13:2D圆的最大内接拟合。
16.3.4.6 最小外接法(MC)
Minimum Circumscribed 方法计算出一个几何体,使得所有的点都在它之内,并且该几何体尽可能小。这种方法可以用来拟合以下几何体:圆、圆柱和球(见图16.14)。
注意:与 最小区域内法(MZI) 和 最小区域外法(MZO) 不同,外接形状的中心往往与内接形状的中心不同。
图 16.14:2D圆的最小外接拟合。
下表汇总了不同的拟合方法以及可以用它们拟合的几何体:
| 几何体 | 最小二乘 | 最小区域 | 最小内接 | 最大外接 |
|---|---|---|---|---|
| 直线(Line) | X | X | ||
| 平面(Plane) | X | X | ||
| 圆(Circle) | X | X | X | X |
| 球(Sphere) | X | X | X | X |
| 圆柱(Cylinder) | X | X | X | X |
| 圆锥(Cone) | X | X |
16.3.4.7 自动调整重拟合(Auto-Adjustment Refit)
Auto-Adjustment Refit 是一个允许你获得分布更均匀的支撑点、并优化拟合精度的功能。这个功能依赖于细分(tessellation)算法,在 最小二乘法(LS) 之前把离散化的点投影到曲面上最近的点。
Auto-Adjustment Refit 默认是启用的。这一默认行为可以在 Metrology Preferences 中更改。它也可以使用 Fitting Options Editor 针对某个几何体单独更改。
你可以为 Auto-Adjustment Refit 算法设置以下参数:
- Minimum Grid Step:相邻点之间的最小距离
- Maximum Points Count:支撑点的最大数量
- Search Distance:细分算法的最大搜索距离;位于此距离之上的点将被丢弃(在曲面包含孔洞时使用)
- Maximum Gradient:参考法线与拟合点的曲面法线之间所允许的最大角度偏差。如果该角度大于指定值,则该拟合点被丢弃。这一项可以开关
- Iterations:对该行执行细分的次数
16.3.4.8 RANSAC参数
RANSAC(RANdom SAmple Consensus,随机抽样一致)算法可以用于每一种拟合方法,因为它会过滤提供给拟合方法的支撑点云。它搜索并移除离群点,从而在进行拟合时忽略它们(见图16.15)。
图 16.15:左:应当在其上拟合一条直线的未过滤点云。右:用RANSAC过滤后的点云;红色点在直线拟合中被忽略。
RANSAC可以在 Metrology Preferences 中启用。
你可以为RANSAC算法设置以下参数:
- Distance Threshold:各点到所计算几何体的最大距离。
- Direction Weight:描述支撑点的法线。该值必须在0和1之间,其中0意味着忽略法线,1意味着只接受法线与该几何体法线完全吻合的点。
- Iteration Number:RANSAC算法的迭代次数。最大值设为5000次迭代。有一个公式可以估算获得一个结果所需的迭代次数:
- $P$ 是获得一个好结果的概率。
- $P_i$ 是所拾取的点应为内点(inlier)的概率。
$Nb_{MinPointToFit}$ 是拟合某个所选几何体所需的最少点数。
$P$ 越高、$Pi$ 越低,就意味着 $Nb{iteration}$ 越大。大多数复杂的几何体(球和圆锥)有 $Nb{MinPointToFit} = 4$。那么,如果 $P$ 设为90%、$P_i$ 设为20%,则 $Nb{iteration} \approx 1500$。
- Radius Range:几何体的半径限制
16.4 继承几何体
16.4.1 概述
除了拟合之外,Metrology 工作室还提供了另一种使用继承(inheritance)来创建几何体的方式。可以进行以下操作:
- Intersection(相交):通过求已有几何体的交来创建一个新的几何体。
- Composition(组合):通过组合已有几何体来创建一个新的几何体。
- Projection(投影):通过投影已有几何体来创建一个新的几何体。
16.4.2 继承几何体编辑器
要创建一个继承几何体,单击几何体按钮旁边的 Create Inherited Geometry…(见图16.7)。这会打开 Inherited Geometry Editor(继承几何体编辑器):
图 16.16:Inherited Geometry Editor。
第一部分列出所有可用的几何体及其组成部分。单击任何一项即可选中它。一旦所选内容允许创建一个继承几何体,第二部分就会用以下信息更新:
- 选择摘要。在那里,如果选择顺序有关系,可以快速切换选择内容。
- 相关参数。
然后,第三部分的一个或多个操作按钮会变为可用。当你单击一个操作按钮时,应用程序会尝试执行相应的操作。如果操作成功,所得的几何体会被添加到列表中。否则,会弹出一条错误消息,描述操作为何失败。一旦执行完一次操作,选择内容就会被清空,并且可以再次执行该过程以创建另一个继承几何体。
下一节描述每种操作的可用组合。
16.4.3 相交(Intersection)
使用 Intersection 操作,你可以创建以下几何体:
- 点(Point)
- 2条直线的交点。在这种情况下,可以设置一个 Tolerance Sphere(容差球)的半径,以决定是否考虑该交点
- 一个平面与一条直线的交点
- 3个平面的交点
- 直线(Line)
- 2个平面的交线
在前述每种情形中,Inherited Geometry Editor 中的选择顺序都无关紧要。
16.4.4 组合(Composition)
使用 Composition 操作,你可以创建以下几何体:
- 直线(Line)
- 2个点的组合。第一个被选中的点将是该直线的原点,另一个将是它的端点。
- 一个点与一个方向(向量)的组合。
- 平面(Plane)
- 3个点的组合。第一个点将是该平面的原点,第二个点将确定该平面的宽度,最后一个点将确定它的高度。
- 一个点与2个向量的组合。该点将是该平面的原点。第一个向量将被用作该平面的半宽向量,第二个向量用作它的半高向量。
注意:在所有选择顺序有影响的情形中,都可以在 Inherited Geometry Editor 的 selection summary 部分(见图16.16)中快速切换选择内容。
16.4.5 投影(Projection)
使用 Projection 操作,可以创建以下几何体:
- 点(Point)
- 一个点在一条直线上的投影。
- 一个点在一个平面上的投影。
- 直线(Line)
- 一条直线在一个平面上的投影。
16.4.6 继承几何体的更新
如果某个几何体被更新(例如进行了一次新的拟合),那么任何使用被更新几何体生成的继承几何体都会被重新计算。同样地,如果某个几何体被删除,任何使用被删除几何体生成的继承几何体也会被删除。
16.5 局部坐标系(LCS)的创建
16.5.1 概述
正如引言中所解释的,一个零件可能需要按某个特定朝向重新对齐,因为它在CT采集过程中可能被倾斜放置,以优化射线路径并最小化采集伪影。几何体被用来定义局部坐标系(LCS)的方向。系统提供了不同的工具来创建这些LCS,并且可以创建多个LCS。可视化可以从一个LCS切换到另一个LCS,以便创建与某个特定LCS的方向对齐的测量。如下图所示,LCS可以从 Geometries 面板或从LCS工具栏创建(见图16.17)。
图 16.17:从拟合面板创建LCS。
可以用不同的工具创建多个LCS,并且用户可以使用LCS工具栏从一个切换到另一个。这允许按零件的不同朝向来对齐测量。
16.5.2 LCS工具栏
这个工具栏包含所有与局部坐标系(LCS)相关的工具(见图16.18)。
图 16.18:LCS工具栏。
不同的工具包括:
- Bounding box:显示/隐藏LCS的边界框
- Axes:显示/隐藏LCS的坐标轴
- Origin:显示/隐藏LCS的原点
- Options:显示LCS选项。这个菜单包含:
- LCS列表,它允许你快速设定当前的LCS
- 通往LCS向导(Add LCS…)的入口,它允许创建LCS
- 通往LCS管理器(Manage LCS…)的入口,它允许所有与LCS相关的操作(创建、删除、重命名、显示LCS的特征)。见图16.19。
图 16.19:LCS管理器。
16.6 测量的创建
Avizo允许创建测量。提供了两大类测量。一类基于在零件与零件”外部”之间界面上所创建的几何体,另一类基于 Data Selection 面板中所提供的可选掩膜。基于几何体的测量给出亚分辨率精度的测量,而基于掩膜的测量给出分辨率精度的测量。Measures(测量)面板(见图16.20)提供了对所有测量工具的访问:
图 16.20:Measures面板。
16.7 测试计划的使用
一旦几何体已被创建,就可以创建LCS和测量,并且它们可以被保存为一个测试计划。可以创建一批测试计划,并把它们重新应用到其他需要对照某个参考模型进行验证的零件上。这一操作通过顶部的 Metrology 菜单执行,在那里可以保存或打开一个测试计划。
为了更熟悉Metrology工作室的用法,你可以跟随分步的 Metrology教程。
