set_metrology_object_paramT_set_metrology_object_paramSetMetrologyObjectParamSetMetrologyObjectParamset_metrology_object_param (算子)
名称
set_metrology_object_paramT_set_metrology_object_paramSetMetrologyObjectParamSetMetrologyObjectParamset_metrology_object_param — 为计量模型的计量对象设置参数。
签名
void SetMetrologyObjectParam(const HTuple& MetrologyHandle, const HTuple& Index, const HTuple& GenParamName, const HTuple& GenParamValue)
void HMetrologyModel::SetMetrologyObjectParam(const HTuple& Index, const HTuple& GenParamName, const HTuple& GenParamValue) const
void HMetrologyModel::SetMetrologyObjectParam(const HString& Index, const HTuple& GenParamName, const HTuple& GenParamValue) const
void HMetrologyModel::SetMetrologyObjectParam(const char* Index, const HTuple& GenParamName, const HTuple& GenParamValue) const
void HMetrologyModel::SetMetrologyObjectParam(const wchar_t* Index, const HTuple& GenParamName, const HTuple& GenParamValue) const
(
Windows only)
描述
set_metrology_object_paramset_metrology_object_paramSetMetrologyObjectParamSetMetrologyObjectParamSetMetrologyObjectParamset_metrology_object_param is used to set or change the
different parameters of a metrology object.
有关二维计量概念的说明,请参阅 二维计量 一章的引言。
The metrology model is defined by the handle
MetrologyHandleMetrologyHandleMetrologyHandleMetrologyHandlemetrologyHandlemetrology_handle. The parameter IndexIndexIndexIndexindexindex specifies
the metrology objects for which the parameters are set. The parameters
of all metrology objects are set if the parameter IndexIndexIndexIndexindexindex is
set to 'all'"all""all""all""all""all". All parameters can also
be set when creating a metrology object with
add_metrology_object_genericadd_metrology_object_genericAddMetrologyObjectGenericAddMetrologyObjectGenericAddMetrologyObjectGenericadd_metrology_object_generic,
add_metrology_object_circle_measureadd_metrology_object_circle_measureAddMetrologyObjectCircleMeasureAddMetrologyObjectCircleMeasureAddMetrologyObjectCircleMeasureadd_metrology_object_circle_measure,
add_metrology_object_ellipse_measureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasureadd_metrology_object_ellipse_measure,
add_metrology_object_line_measureadd_metrology_object_line_measureAddMetrologyObjectLineMeasureAddMetrologyObjectLineMeasureAddMetrologyObjectLineMeasureadd_metrology_object_line_measure, or
add_metrology_object_rectangle2_measureadd_metrology_object_rectangle2_measureAddMetrologyObjectRectangle2MeasureAddMetrologyObjectRectangle2MeasureAddMetrologyObjectRectangle2Measureadd_metrology_object_rectangle2_measure。The current configuration of the metrology model can be accessed
with get_metrology_object_paramget_metrology_object_paramGetMetrologyObjectParamGetMetrologyObjectParamGetMetrologyObjectParamget_metrology_object_param。All parameters that can be
set with set_metrology_object_paramset_metrology_object_paramSetMetrologyObjectParamSetMetrologyObjectParamSetMetrologyObjectParamset_metrology_object_param can be reset with
reset_metrology_object_paramreset_metrology_object_paramResetMetrologyObjectParamResetMetrologyObjectParamResetMetrologyObjectParamreset_metrology_object_param。
In the following all generic parameters with the default values
are listed.但请注意,对于许多应用而言,默认值已足够使用,无需进行调整。 The following values for
GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name and GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value are possible -
ordered by different categories:
Creating measure regions:
- 'measure_length1'"measure_length1""measure_length1""measure_length1""measure_length1""measure_length1":
-
The value of this parameter
specifies the half length of the measure regions perpendicular
to the metrology object boundary. It is equivalent to the measure
tolerance. The unit of this value is pixel.
值列表: 10.0, 20.0, 30.0
默认值: 20.0
Restriction: 'measure_length1'"measure_length1""measure_length1""measure_length1""measure_length1""measure_length1" >= 1.0
- 'measure_length2'"measure_length2""measure_length2""measure_length2""measure_length2""measure_length2":
-
The value of this parameter
specifies the half length of the measure regions tangential to the
metrology object boundary. The unit of this value is pixel.
值列表: 3.0, 5.0, 10.0
默认值: 5.0
Restriction: 'measure_length2'"measure_length2""measure_length2""measure_length2""measure_length2""measure_length2" >= 0.0
- 'measure_distance'"measure_distance""measure_distance""measure_distance""measure_distance""measure_distance":
-
The value of this parameter
specifies the desired distance between the centers of two measure regions.
If the value leads to too few measure regions, the parameter has no
influence and the number of measure regions will be increased to
the minimum required number of measure regions (circle = 3,
ellipse = 5, line = 2, rectangle = 2 per side = 8).
The unit of this value is pixel.
If this value is set, the parameter 'num_measures'"num_measures""num_measures""num_measures""num_measures""num_measures" has no
influence.
值列表: 5.0, 15.0, 20.0,
30.0
默认值: 10.0
- 'num_measures'"num_measures""num_measures""num_measures""num_measures""num_measures":
-
The value of this parameter
specifies the desired number of measure regions.
If the value leads to too few measure regions, the parameter has no
influence and the number of measure regions will be increased to
the minimum required number of measure regions (circle = 3,
ellipse = 5, line = 2, rectangle = 2 per side = 8).
If this value is set, the parameter
'measure_distance'"measure_distance""measure_distance""measure_distance""measure_distance""measure_distance" has no influence.
值列表: 8, 10, 16,
20, 30, 50,
100
Edge detection:
- 'measure_sigma'"measure_sigma""measure_sigma""measure_sigma""measure_sigma""measure_sigma":
-
The parameter specifies the sigma for the Gaussian smoothing. The
meaning, the use, and the default value of this parameter are
described with the operator measure_posmeasure_posMeasurePosMeasurePosMeasurePosmeasure_pos by the parameter
SigmaSigmaSigmaSigmasigmasigma.
- 'measure_threshold'"measure_threshold""measure_threshold""measure_threshold""measure_threshold""measure_threshold":
-
The parameter specifies the 最小边缘振幅。 The meaning,
the use, and the default value of this parameter are
described with the operator measure_posmeasure_posMeasurePosMeasurePosMeasurePosmeasure_pos by the parameter
ThresholdThresholdThresholdThresholdthresholdthreshold.
- 'measure_select'"measure_select""measure_select""measure_select""measure_select""measure_select":
-
The parameter specifies the selection of end points of the edges.
The meaning, the use, and the default value of this parameter are
described with the operator measure_posmeasure_posMeasurePosMeasurePosMeasurePosmeasure_pos by the parameter
SelectSelectSelectSelectselectselect.
- 'measure_transition'"measure_transition""measure_transition""measure_transition""measure_transition""measure_transition":
-
The parameter specifies the use of dark/light or light/dark edges.
The meaning and the use of the values 'all'"all""all""all""all""all",
'positive'"positive""positive""positive""positive""positive", and 'negative'"negative""negative""negative""negative""negative" for the parameter
'measure_transition'"measure_transition""measure_transition""measure_transition""measure_transition""measure_transition" is described with the operator
measure_posmeasure_posMeasurePosMeasurePosMeasurePosmeasure_pos by the parameter TransitionTransitionTransitionTransitiontransitiontransition.
Additionally, 'measure_transition'"measure_transition""measure_transition""measure_transition""measure_transition""measure_transition" can be set to the value
'uniform'"uniform""uniform""uniform""uniform""uniform". Then, all positive edges (dark/light edges) and
all negative edges (light/dark edges) are detected by the edge
detection but when fitting the geometric shapes, the edges with
different edge types are used separately, i.e., for each instance of
a geometric shape either only the positive edges or the negative
edges are used.
The measure direction within the measure regions is from the
inside to the outside of the metrology object for objects of the types
circle, ellipse, or rectangle. For metrology objects of the type line
measure direction within the measure regions is from the left to the
right, seen from the first point of the line (see
RowBeginRowBeginRowBeginRowBeginrowBeginrow_begin and ColumnBeginColumnBeginColumnBeginColumnBegincolumnBegincolumn_begin of the
operator add_metrology_object_line_measureadd_metrology_object_line_measureAddMetrologyObjectLineMeasureAddMetrologyObjectLineMeasureAddMetrologyObjectLineMeasureadd_metrology_object_line_measure).
值列表: 'all'"all""all""all""all""all", 'negative'"negative""negative""negative""negative""negative",
'positive'"positive""positive""positive""positive""positive", 'uniform'"uniform""uniform""uniform""uniform""uniform"
默认值: 'all'"all""all""all""all""all"
- 'measure_interpolation'"measure_interpolation""measure_interpolation""measure_interpolation""measure_interpolation""measure_interpolation":
The parameter specifies the type of interpolation to be used.
The meaning, the use and the default value of this parameter is
described with the operator gen_measure_rectangle2gen_measure_rectangle2GenMeasureRectangle2GenMeasureRectangle2GenMeasureRectangle2gen_measure_rectangle2 by the
parameter InterpolationInterpolationInterpolationInterpolationinterpolationinterpolation.
Fitting the geometric shapes:
- 'min_score'"min_score""min_score""min_score""min_score""min_score":
-
The parameter determines
what score a potential instance must at least have to be regarded
as a valid instance of the metrology object. The
score is the number of detected edges that are used to compute the
results divided by the maximum number of measure regions (see
apply_metrology_modelapply_metrology_modelApplyMetrologyModelApplyMetrologyModelApplyMetrologyModelapply_metrology_model). If it can be expected that all
edges of the metrology object are present, the parameter
'min_score'"min_score""min_score""min_score""min_score""min_score" can be set to a value as high as 0.8 or
even 0.9. Note that in images with a high degree of clutter
or strong background texture the parameter 'min_score'"min_score""min_score""min_score""min_score""min_score" should
be set to a value not much lower than 0.7 since otherwise
false instances of a metrology object could be found.
建议值: 0.5, 0.7, 0.9
默认值: 0.7
- 'num_instances'"num_instances""num_instances""num_instances""num_instances""num_instances":
-
The parameter specifies
the maximum number of successfully fitted instances of each metrology
object after which the fitting will stop (see
apply_metrology_modelapply_metrology_modelApplyMetrologyModelApplyMetrologyModelApplyMetrologyModelapply_metrology_model). Successfully fitted instances of
the metrology objects must have a score of at least the value of
'min_score'"min_score""min_score""min_score""min_score""min_score".
值列表: 1, 2, 3, 4
默认值: 1
- 'distance_threshold'"distance_threshold""distance_threshold""distance_threshold""distance_threshold""distance_threshold":
-
apply_metrology_modelapply_metrology_modelApplyMetrologyModelApplyMetrologyModelApplyMetrologyModelapply_metrology_model uses a randomized search
algorithm (RANSAC) to fit the geometric shapes. An edge point is
considered to be part of a fitted geometric shape, if the distance of
the edge point to the geometric shape does not exceed the
value of 'distance_threshold'"distance_threshold""distance_threshold""distance_threshold""distance_threshold""distance_threshold".
值列表: 0, 1.0, 2.0,
3.5, 5.0
默认值: 3.5
- 'max_num_iterations'"max_num_iterations""max_num_iterations""max_num_iterations""max_num_iterations""max_num_iterations":
-
The RANSAC algorithm estimates the number of iterations necessary for
fitting the requested geometric shape. The estimation is based on the
extracted edge data and the complexity of the shape.
When setting the value of the parameter 'max_num_iterations'"max_num_iterations""max_num_iterations""max_num_iterations""max_num_iterations""max_num_iterations",
an upper limit for the computed number of iterations is defined. The
number of iterations is still estimated by the RANSAC algorithm but cannot
exceed the value of 'max_num_iterations'"max_num_iterations""max_num_iterations""max_num_iterations""max_num_iterations""max_num_iterations". Setting this
parameter can be helpful, if the quality of the fitting is not as
important as observing time limits. However, if
'max_num_iterations'"max_num_iterations""max_num_iterations""max_num_iterations""max_num_iterations""max_num_iterations" is set too low, the algorithm will return
low-quality or no results.
By default, 'max_num_iterations'"max_num_iterations""max_num_iterations""max_num_iterations""max_num_iterations""max_num_iterations" is set to -1, indicating that
no additional upper limit is set for the number of iterations of the
RANSAC algorithm.
值列表: 10, 100, 1000
默认值: -1
- 'rand_seed'"rand_seed""rand_seed""rand_seed""rand_seed""rand_seed":
-
The parameter specifies the seed for
the random number generator for the RANSAC algorithm that is
used by the selection of the edges the in operator
apply_metrology_modelapply_metrology_modelApplyMetrologyModelApplyMetrologyModelApplyMetrologyModelapply_metrology_model。If
the value of the parameter 'rand_seed'"rand_seed""rand_seed""rand_seed""rand_seed""rand_seed" is set to a number
unequal to the value 0, the operator yields the same result
on every call with the same parameters, because the internally used
random number generator is initialized with the value of the
parameter 'rand_seed'"rand_seed""rand_seed""rand_seed""rand_seed""rand_seed".
If the parameter 'rand_seed'"rand_seed""rand_seed""rand_seed""rand_seed""rand_seed" is set to the value
0, the random number generator is initialized with the
current time. In this case, the results are not reproducible.
值列表: 0, 1, 42
默认值: 42
- 'instances_outside_measure_regions'"instances_outside_measure_regions""instances_outside_measure_regions""instances_outside_measure_regions""instances_outside_measure_regions""instances_outside_measure_regions":
-
The parameter
specifies the validation of the results of measurements. If the value
of the parameter 'instances_outside_measure_regions'"instances_outside_measure_regions""instances_outside_measure_regions""instances_outside_measure_regions""instances_outside_measure_regions""instances_outside_measure_regions" is
set to the value 'false'"false""false""false""false""false", only resulting instances of an
metrology object are valid that are inside the major
axis of the measure regions of this metrology object. Instances
which are not valid are not stored. If the value of the parameter
'instances_outside_measure_regions'"instances_outside_measure_regions""instances_outside_measure_regions""instances_outside_measure_regions""instances_outside_measure_regions""instances_outside_measure_regions" is set to the value
'true'"true""true""true""true""true", all instances of a metrology object are valid.
值列表: 'true'"true""true""true""true""true", 'false'"false""false""false""false""false"
默认值: 'false'"false""false""false""false""false"
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 未采用并行化处理。
此算子修改后续输入参数的状态:
在执行此算子时,若该参数值需在多个线程间使用,则必须对其访问进行同步。
参数
MetrologyHandleMetrologyHandleMetrologyHandleMetrologyHandlemetrologyHandlemetrology_handle (输入控制,状态被修改) metrology_model → HMetrologyModel, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
计量模型的句柄。
IndexIndexIndexIndexindexindex (输入控制) integer(-array) → HTupleMaybeSequence[Union[str, int]]HTupleHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong)
Index of the metrology objects.
默认值:
'all'
"all"
"all"
"all"
"all"
"all"
建议值:
'all'"all""all""all""all""all", 0, 1, 2
GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name (输入控制) attribute.name-array → HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)
通用参数的名称。
默认值:
'num_instances'
"num_instances"
"num_instances"
"num_instances"
"num_instances"
"num_instances"
值列表:
'distance_threshold'"distance_threshold""distance_threshold""distance_threshold""distance_threshold""distance_threshold", '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_length1'"measure_length1""measure_length1""measure_length1""measure_length1""measure_length1", 'measure_length2'"measure_length2""measure_length2""measure_length2""measure_length2""measure_length2", 'measure_select'"measure_select""measure_select""measure_select""measure_select""measure_select", 'measure_sigma'"measure_sigma""measure_sigma""measure_sigma""measure_sigma""measure_sigma", 'measure_threshold'"measure_threshold""measure_threshold""measure_threshold""measure_threshold""measure_threshold", '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", 'rand_seed'"rand_seed""rand_seed""rand_seed""rand_seed""rand_seed"
GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value (输入控制) attribute.value-array → HTupleSequence[Union[str, float, int]]HTupleHtuple (string / real / integer) (string / double / int / long) (HString / double / Hlong) (char* / double / Hlong)
通用参数的值。
默认值:
1
建议值:
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"
结果
如果参数有效,算子
set_metrology_object_paramset_metrology_object_paramSetMetrologyObjectParamSetMetrologyObjectParamSetMetrologyObjectParamset_metrology_object_param 返回值 2 ( H_MSG_TRUE )。如有必要,则抛出异常。
可能的前趋
get_metrology_object_paramget_metrology_object_paramGetMetrologyObjectParamGetMetrologyObjectParamGetMetrologyObjectParamget_metrology_object_param
可能的后继
apply_metrology_modelapply_metrology_modelApplyMetrologyModelApplyMetrologyModelApplyMetrologyModelapply_metrology_model,
reset_metrology_object_paramreset_metrology_object_paramResetMetrologyObjectParamResetMetrologyObjectParamResetMetrologyObjectParamreset_metrology_object_param,
get_metrology_object_paramget_metrology_object_paramGetMetrologyObjectParamGetMetrologyObjectParamGetMetrologyObjectParamget_metrology_object_param
另见
set_metrology_object_fuzzy_paramset_metrology_object_fuzzy_paramSetMetrologyObjectFuzzyParamSetMetrologyObjectFuzzyParamSetMetrologyObjectFuzzyParamset_metrology_object_fuzzy_param
模块
二维计量