# SortPatterns

按图案在图像中的位置对图案进行排序。对于输入 Patterns 数据结构中的每个图案，SortPatterns 计算图案响应相对于指定图像固定坐标系的位置。图案按以下方式之一排序：x 轴、y 轴、角度、角度距离、距离或网格；排序后的图案作为新的 Patterns 数据结构返回。

## SortPatterns 输入

参数 | 说明
图案 | 此参数必须引用包含 函数返回的有效 Patterns 数据结构的电子表格单元格。
要排序的数量 | 指定要排序的图案的最大数量（1 到 255；默认值 = 1）。
排序方式 | 指定排序方法。
0 = Y（默认） | 沿固定 y 坐标按距离排序，从小到大。
1 = X | 沿固定 x 坐标按距离排序，从小到大。
2 = 角度 | 按角度（0 到 360 度）排序，从固定坐标系的 y 轴逆时针测量到由图案响应点和固定原点定义的线段，从最近到最远，按降序排列。
3 = 角度距离 | 按角度的绝对值（-180 到 180 度）排序，从固定坐标系的 x 轴测量到由图案响应点和固定原点定义的线段，从最近到最远，按降序排列。
4 = 距离 | 按从固定原点到图案响应点的距离，从最近到最远，按降序排列。
5 = 网格 Y | 首先按固定 y 坐标的距离排序，然后按 x 坐标的距离，从最近到最远，按降序排列。 注意:如果选择了网格 Y并且函数引用了已校准为实际坐标值的图像，SortPatterns 将返回 #ERR，例如 CalibrateImage 或 TransPatternsToWorld 函数的输出。网格 Y 排序只能运用于像素坐标上。
6 = 网格 X | 首先按固定 x 坐标的距离排序，然后按 y 坐标的距离，从最近到最远，按降序排列。 注意:如果选择了网格 Y并且函数引用了已校准为实际坐标值的图像，SortPatterns 将返回 #ERR，例如 CalibrateImage 或 TransPatternsToWorld 函数的输出。网格 Y 排序只能运用于像素坐标上。
固定 | 定义相对于固定输入或视觉工具函数的图像坐标系输出的参考图案。相对于固定设置参考图案可确保如果固定旋转或平移，则参考图案将相对于固定旋转或平移。 默认设置为(0,0,0)，图像的最左上方。
X | 图像坐标中的 X 偏移。
Y | 图像坐标中的 Y 偏移。
Theta | 图像坐标系中图像 X 轴的旋转。（顺时针 +/-360 度）
排序公差 | 指定当按网格 X 或网格 Y 排序时，找到的图案必须包含在图案组中的训练图案高度的大小百分比（1% 到 500%；默认值 = 50%） 。 注意:此参数仅在排序依据参数设置为网格 X 或网格 Y 时使用。
显示 | 指定图像上 SortPatterns 图形的显示模式。
0 = 隐藏所有（默认值） | 所有图形都将隐藏，除非包含 SortPatterns 函数的单元格在电子表格中突出显示。
1 = 仅结果图形 | 任何时候都会为每个找到的图案显示一个交叉。
3 = 显示全部：输入、结果和匹配特征 | 输入图像区域、每个找到的图案的交叉和匹配特征将始终显示。 注意:匹配特征仅针对 PatMax 训练的图案显示。

## SortPatterns 输出

返回 | 包含已排序图案响应点的 Patterns 数据结构，如果任何输入参数无效，则为 #ERR。
结果 | 最初将 SortPatterns 插入单元格时，会使用以下图案Vision Data Access functions在电子表格中创建结果表：
标签 | 函数 | 说明
X | GetX(Patterns, Index) | 图案位置的 x 坐标。
Y | GetY(Patterns, Index) | 图案位置的 y 坐标。
角度 | GetAngle(Patterns, Index) | 图案位置的方向。
缩放 | GetScale(Patterns, Index) | 原始模型的大小百分比。
分数 | GetScore(Patterns, Index) | 图案响应分数。
注意:如果要排序的数量参数的值大于零，SortPatterns将自动插入一个结果表，其中最多包含 10 个条目，这些条目对应于 Patterns 数据结构中的前 10 个图案。如果您希望显示更多条目，可以通过复制最后一行并在末尾粘贴其他行来扩展表格；确保增加任何新粘贴行的索引号，以便索引正确的图案。