add_metrology_object_ellipse_measureT_add_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasureadd_metrology_object_ellipse_measure添加计量对象椭圆测量(算子)
名称
add_metrology_object_ellipse_measureT_add_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasureadd_metrology_object_ellipse_measure — 将椭圆或椭圆弧添加到计量模型中。
签名
add_metrology_object_ellipse_measure( : : MetrologyHandle, Row, Column, Phi, Radius1, Radius2, MeasureLength1, MeasureLength2, MeasureSigma, MeasureThreshold, GenParamName, GenParamValue : Index)
Herror T_add_metrology_object_ellipse_measure(const Htuple MetrologyHandle, const Htuple Row, const Htuple Column, const Htuple Phi, const Htuple Radius1, const Htuple Radius2, const Htuple MeasureLength1, const Htuple MeasureLength2, const Htuple MeasureSigma, const Htuple MeasureThreshold, const Htuple GenParamName, const Htuple GenParamValue, Htuple* Index)
void AddMetrologyObjectEllipseMeasure(const HTuple& MetrologyHandle, const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Radius1, const HTuple& Radius2, const HTuple& MeasureLength1, const HTuple& MeasureLength2, const HTuple& MeasureSigma, const HTuple& MeasureThreshold, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Index)
Hlong HMetrologyModel::AddMetrologyObjectEllipseMeasure(const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Radius1, const HTuple& Radius2, const HTuple& MeasureLength1, const HTuple& MeasureLength2, const HTuple& MeasureSigma, const HTuple& MeasureThreshold, const HTuple& GenParamName, const HTuple& GenParamValue) const
Hlong HMetrologyModel::AddMetrologyObjectEllipseMeasure(double Row, double Column, double Phi, double Radius1, double Radius2, double MeasureLength1, double MeasureLength2, double MeasureSigma, double MeasureThreshold, const HTuple& GenParamName, const HTuple& GenParamValue) const
static void HOperatorSet.AddMetrologyObjectEllipseMeasure(HTuple metrologyHandle, HTuple row, HTuple column, HTuple phi, HTuple radius1, HTuple radius2, HTuple measureLength1, HTuple measureLength2, HTuple measureSigma, HTuple measureThreshold, HTuple genParamName, HTuple genParamValue, out HTuple index)
int HMetrologyModel.AddMetrologyObjectEllipseMeasure(HTuple row, HTuple column, HTuple phi, HTuple radius1, HTuple radius2, HTuple measureLength1, HTuple measureLength2, HTuple measureSigma, HTuple measureThreshold, HTuple genParamName, HTuple genParamValue)
int HMetrologyModel.AddMetrologyObjectEllipseMeasure(double row, double column, double phi, double radius1, double radius2, double measureLength1, double measureLength2, double measureSigma, double measureThreshold, HTuple genParamName, HTuple genParamValue)
def add_metrology_object_ellipse_measure(metrology_handle: HHandle, row: MaybeSequence[Union[int, float]], column: MaybeSequence[Union[int, float]], phi: MaybeSequence[Union[int, float]], radius_1: MaybeSequence[Union[int, float]], radius_2: MaybeSequence[Union[int, float]], measure_length_1: Union[int, float], measure_length_2: Union[int, float], measure_sigma: Union[int, float], measure_threshold: Union[int, float], gen_param_name: Sequence[str], gen_param_value: Sequence[Union[float, int, str]]) -> int
描述
add_metrology_object_ellipse_measureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasureadd_metrology_object_ellipse_measure 将类型为椭圆或椭圆弧的计量对象添加到计量模型中,并准备矩形测量区域。模型句柄通过 MetrologyHandleMetrologyHandleMetrologyHandleMetrologyHandlemetrologyHandlemetrology_handle 参数传递。
有关二维计量概念的说明,请参阅 二维计量 一章的引言。
椭圆计量对象的几何形状由其中心坐标 (RowRowRowRowrowrow, ColumnColumnColumnColumncolumncolumn)、主轴方向 PhiPhiPhiPhiphiphi、长半轴长度 Radius1Radius1Radius1Radius1radius1radius_1 及短半轴长度 Radius2Radius2Radius2Radius2radius2radius_2 共同定义。PhiPhiPhiPhiphiphi 的输入值将自动映射至区间 。
矩形测量区域与椭圆边界垂直。垂直于椭圆边界与切线方向的测量区域的半边长分别通过 MeasureLength1MeasureLength1MeasureLength1MeasureLength1measureLength1measure_length_1 和 MeasureLength2MeasureLength2MeasureLength2MeasureLength2measureLength2measure_length_2 设定。测量区域中心点位于几何形状边界上。参数 MeasureSigmaMeasureSigmaMeasureSigmaMeasureSigmameasureSigmameasure_sigma 指定算子 apply_metrology_modelapply_metrology_modelApplyMetrologyModelApplyMetrologyModelApplyMetrologyModelapply_metrology_model 用于平滑图像灰度的标准差。突出的边缘可通过参数 MeasureThresholdMeasureThresholdMeasureThresholdMeasureThresholdmeasureThresholdmeasure_threshold 进行选择,该参数构成对振幅的阈值,即边缘一阶导数的绝对值。算子 add_metrology_object_ellipse_measureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasureadd_metrology_object_ellipse_measure 将返回参数 IndexIndexIndexIndexindexindex 中添加的计量对象索引。
此外,您还可以使用 GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name 和 GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value 调整某些通用参数。GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name 和 GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value 可用的值如下:
- 'start_phi'"start_phi""start_phi""start_phi""start_phi""start_phi":
-
该参数指定椭圆弧起始点的角度。起始点角度相对于由 PhiPhiPhiPhiphiphi 参数指定的正主轴进行测量,并对应于椭圆的最小外接圆。椭圆的实际起始点是椭圆与该圆点在主轴上正交投影的交点。该角度基于椭圆坐标系定义,即相对于主轴以数学正方向标定。因此两个主极点对应角度 0 和 ,两个副极点对应角度 和 。创建闭合椭圆时,需将参数 'start_phi'"start_phi""start_phi""start_phi""start_phi""start_phi" 设为 0 ,参数 'end_phi'"end_phi""end_phi""end_phi""end_phi""end_phi" 设为 (采用正点顺序)。输入值将自动在内部映射到区间 。
值列表: 0.0, 0.78,
6.28318
默认值: 0.0
- 'end_phi'"end_phi""end_phi""end_phi""end_phi""end_phi":
-
该参数指定椭圆弧终点的角度。端点的角度相对于由参数 PhiPhiPhiPhiphiphi 指定的正主轴进行测量,并对应椭圆的最小外接圆。椭圆的实际端点是椭圆与该圆点在主轴上正交投影的交点。该角度基于椭圆坐标系定义,即相对于主轴以数学正方向为基准。因此,两个主极点分别对应角度 0 和 ,两个副极点分别对应角度 和 。创建闭合椭圆时,需将参数 'start_phi'"start_phi""start_phi""start_phi""start_phi""start_phi" 设为 0 ,参数 'end_phi'"end_phi""end_phi""end_phi""end_phi""end_phi" 设为 (采用正点顺序)。输入值将自动映射至区间 。
值列表: 0.0, 0.78,
6.28318
默认值: 6.28318
- 'point_order'"point_order""point_order""point_order""point_order""point_order":
-
该参数指定椭圆弧的方向。当取值为 'positive'"positive""positive""positive""positive""positive" 时,椭圆弧在数学正方向(逆时针)上定义于 'start_phi'"start_phi""start_phi""start_phi""start_phi""start_phi" 和 'end_phi'"end_phi""end_phi""end_phi""end_phi""end_phi" 之间。当取值为 'negative'"negative""negative""negative""negative""negative" 时,椭圆弧在数学负方向(顺时针)上定义于 'start_phi'"start_phi""start_phi""start_phi""start_phi""start_phi" 与 'end_phi'"end_phi""end_phi""end_phi""end_phi""end_phi" 之间。
值列表: 'positive'"positive""positive""positive""positive""positive", 'negative'"negative""negative""negative""negative""negative"
默认值: 'positive'"positive""positive""positive""positive""positive"
此外,所有可用于 set_metrology_object_paramset_metrology_object_paramSetMetrologyObjectParamSetMetrologyObjectParamSetMetrologyObjectParamset_metrology_object_param 算子的通用参数均可设置。但请注意,对于许多应用而言,默认值已足够使用,无需进行调整。
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 未采用并行化处理。
此算子修改后续输入参数的状态:
在执行此算子时,若该参数值需在多个线程间使用,则必须对其访问进行同步。
参数
MetrologyHandleMetrologyHandleMetrologyHandleMetrologyHandlemetrologyHandlemetrology_handle (输入控制,状态被修改) metrology_model → HMetrologyModel, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
计量模型的句柄。
RowRowRowRowrowrow (输入控制) ellipse.center.y(-array) → HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
椭圆中心的行(或 Y )坐标。
ColumnColumnColumnColumncolumncolumn (输入控制) ellipse.center.x(-array) → HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
椭圆中心的列(或 X )坐标。
PhiPhiPhiPhiphiphi (输入控制) ellipse.angle.rad(-array) → HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
主轴方向 [弧度]。
Radius1Radius1Radius1Radius1radius1radius_1 (输入控制) ellipse.radius1(-array) → HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
长半轴的长度。
Radius2Radius2Radius2Radius2radius2radius_2 (输入控制) ellipse.radius2(-array) → HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
短半轴的长度。
MeasureLength1MeasureLength1MeasureLength1MeasureLength1measureLength1measure_length_1 (输入控制) number → HTupleUnion[int, float]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
与边界垂直的测量区域长度的一半。
默认值:
20.0
建议值:
10.0, 20.0, 30.0
值范围:
1.0
≤
MeasureLength1
MeasureLength1
MeasureLength1
MeasureLength1
measureLength1
measure_length_1
最小增量:
1.0
建议增量:
10.0
限制:
MeasureLength1 < Radius1 && MeasureLength1 < Radius2
MeasureLength2MeasureLength2MeasureLength2MeasureLength2measureLength2measure_length_2 (输入控制) number → HTupleUnion[int, float]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
与边界相切的测量区域长度的一半。
默认值:
5.0
建议值:
3.0, 5.0, 10.0
值范围:
1.0
≤
MeasureLength2
MeasureLength2
MeasureLength2
MeasureLength2
measureLength2
measure_length_2
最小增量:
1.0
建议增量:
10.0
MeasureSigmaMeasureSigmaMeasureSigmaMeasureSigmameasureSigmameasure_sigma (输入控制) number → HTupleUnion[int, float]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
高斯函数的平滑西格玛(sigma)值。
默认值:
1.0
建议值:
0.4, 0.6, 0.8, 1.0, 1.5, 2.0, 3.0, 4.0, 5.0, 7.0, 10.0
值范围:
0.4
≤
MeasureSigma
MeasureSigma
MeasureSigma
MeasureSigma
measureSigma
measure_sigma
≤
100.0
最小增量:
0.01
建议增量:
0.1
MeasureThresholdMeasureThresholdMeasureThresholdMeasureThresholdmeasureThresholdmeasure_threshold (输入控制) number → HTupleUnion[int, float]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
最小边缘振幅。
默认值:
30.0
建议值:
5.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 90.0, 110.0
值范围:
1
≤
MeasureThreshold
MeasureThreshold
MeasureThreshold
MeasureThreshold
measureThreshold
measure_threshold
≤
255 (lin)
最小增量:
0.5
建议增量:
2
GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name (输入控制) attribute.name-array → HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)
通用参数的名称。
默认值:
[]
值列表:
'distance_threshold'"distance_threshold""distance_threshold""distance_threshold""distance_threshold""distance_threshold", 'end_phi'"end_phi""end_phi""end_phi""end_phi""end_phi", 'instances_outside_measure_regions'"instances_outside_measure_regions""instances_outside_measure_regions""instances_outside_measure_regions""instances_outside_measure_regions""instances_outside_measure_regions", 'max_num_iterations'"max_num_iterations""max_num_iterations""max_num_iterations""max_num_iterations""max_num_iterations", 'measure_distance'"measure_distance""measure_distance""measure_distance""measure_distance""measure_distance", 'measure_interpolation'"measure_interpolation""measure_interpolation""measure_interpolation""measure_interpolation""measure_interpolation", 'measure_select'"measure_select""measure_select""measure_select""measure_select""measure_select", 'measure_transition'"measure_transition""measure_transition""measure_transition""measure_transition""measure_transition", 'min_score'"min_score""min_score""min_score""min_score""min_score", 'num_instances'"num_instances""num_instances""num_instances""num_instances""num_instances", 'num_measures'"num_measures""num_measures""num_measures""num_measures""num_measures", 'point_order'"point_order""point_order""point_order""point_order""point_order", 'rand_seed'"rand_seed""rand_seed""rand_seed""rand_seed""rand_seed", 'start_phi'"start_phi""start_phi""start_phi""start_phi""start_phi"
GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value (输入控制) attribute.value-array → HTupleSequence[Union[float, int, str]]HTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)
通用参数的值。
默认值:
[]
建议值:
1, 2, 3, 4, 5, 10, 20, 'all'"all""all""all""all""all", 'true'"true""true""true""true""true", 'false'"false""false""false""false""false", 'first'"first""first""first""first""first", 'last'"last""last""last""last""last", 'positive'"positive""positive""positive""positive""positive", 'negative'"negative""negative""negative""negative""negative", 'uniform'"uniform""uniform""uniform""uniform""uniform", 'nearest_neighbor'"nearest_neighbor""nearest_neighbor""nearest_neighbor""nearest_neighbor""nearest_neighbor", 'bilinear'"bilinear""bilinear""bilinear""bilinear""bilinear", 'bicubic'"bicubic""bicubic""bicubic""bicubic""bicubic"
IndexIndexIndexIndexindexindex (输出控制) integer → HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
创建的计量对象索引。
结果
add_metrology_object_ellipse_measureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasureadd_metrology_object_ellipse_measure 算子在参数正确时返回 2 ( H_MSG_TRUE )。如有必要,则抛出异常。
可能的前趋
set_metrology_model_image_sizeset_metrology_model_image_sizeSetMetrologyModelImageSizeSetMetrologyModelImageSizeSetMetrologyModelImageSizeset_metrology_model_image_size
可能的后继
align_metrology_modelalign_metrology_modelAlignMetrologyModelAlignMetrologyModelAlignMetrologyModelalign_metrology_model,
apply_metrology_modelapply_metrology_modelApplyMetrologyModelApplyMetrologyModelApplyMetrologyModelapply_metrology_model
替代
add_metrology_object_genericadd_metrology_object_genericAddMetrologyObjectGenericAddMetrologyObjectGenericAddMetrologyObjectGenericadd_metrology_object_generic
另见
get_metrology_object_model_contourget_metrology_object_model_contourGetMetrologyObjectModelContourGetMetrologyObjectModelContourGetMetrologyObjectModelContourget_metrology_object_model_contour,
set_metrology_model_paramset_metrology_model_paramSetMetrologyModelParamSetMetrologyModelParamSetMetrologyModelParamset_metrology_model_param,
add_metrology_object_circle_measureadd_metrology_object_circle_measureAddMetrologyObjectCircleMeasureAddMetrologyObjectCircleMeasureAddMetrologyObjectCircleMeasureadd_metrology_object_circle_measure,
add_metrology_object_line_measureadd_metrology_object_line_measureAddMetrologyObjectLineMeasureAddMetrologyObjectLineMeasureAddMetrologyObjectLineMeasureadd_metrology_object_line_measure,
add_metrology_object_rectangle2_measureadd_metrology_object_rectangle2_measureAddMetrologyObjectRectangle2MeasureAddMetrologyObjectRectangle2MeasureAddMetrologyObjectRectangle2Measureadd_metrology_object_rectangle2_measure
模块
二维计量