add_metrology_object_line_measureT_add_metrology_object_line_measureAddMetrologyObjectLineMeasureAddMetrologyObjectLineMeasureadd_metrology_object_line_measure (Operator)
Name
add_metrology_object_line_measureT_add_metrology_object_line_measureAddMetrologyObjectLineMeasureAddMetrologyObjectLineMeasureadd_metrology_object_line_measure
— Add a line to a metrology model.
Signature
add_metrology_object_line_measure( : : MetrologyHandle, RowBegin, ColumnBegin, RowEnd, ColumnEnd, MeasureLength1, MeasureLength2, MeasureSigma, MeasureThreshold, GenParamName, GenParamValue : Index)
Herror T_add_metrology_object_line_measure(const Htuple MetrologyHandle, const Htuple RowBegin, const Htuple ColumnBegin, const Htuple RowEnd, const Htuple ColumnEnd, const Htuple MeasureLength1, const Htuple MeasureLength2, const Htuple MeasureSigma, const Htuple MeasureThreshold, const Htuple GenParamName, const Htuple GenParamValue, Htuple* Index)
void AddMetrologyObjectLineMeasure(const HTuple& MetrologyHandle, const HTuple& RowBegin, const HTuple& ColumnBegin, const HTuple& RowEnd, const HTuple& ColumnEnd, const HTuple& MeasureLength1, const HTuple& MeasureLength2, const HTuple& MeasureSigma, const HTuple& MeasureThreshold, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Index)
Hlong HMetrologyModel::AddMetrologyObjectLineMeasure(const HTuple& RowBegin, const HTuple& ColumnBegin, const HTuple& RowEnd, const HTuple& ColumnEnd, const HTuple& MeasureLength1, const HTuple& MeasureLength2, const HTuple& MeasureSigma, const HTuple& MeasureThreshold, const HTuple& GenParamName, const HTuple& GenParamValue) const
Hlong HMetrologyModel::AddMetrologyObjectLineMeasure(double RowBegin, double ColumnBegin, double RowEnd, double ColumnEnd, double MeasureLength1, double MeasureLength2, double MeasureSigma, double MeasureThreshold, const HTuple& GenParamName, const HTuple& GenParamValue) const
static void HOperatorSet.AddMetrologyObjectLineMeasure(HTuple metrologyHandle, HTuple rowBegin, HTuple columnBegin, HTuple rowEnd, HTuple columnEnd, HTuple measureLength1, HTuple measureLength2, HTuple measureSigma, HTuple measureThreshold, HTuple genParamName, HTuple genParamValue, out HTuple index)
int HMetrologyModel.AddMetrologyObjectLineMeasure(HTuple rowBegin, HTuple columnBegin, HTuple rowEnd, HTuple columnEnd, HTuple measureLength1, HTuple measureLength2, HTuple measureSigma, HTuple measureThreshold, HTuple genParamName, HTuple genParamValue)
int HMetrologyModel.AddMetrologyObjectLineMeasure(double rowBegin, double columnBegin, double rowEnd, double columnEnd, double measureLength1, double measureLength2, double measureSigma, double measureThreshold, HTuple genParamName, HTuple genParamValue)
def add_metrology_object_line_measure(metrology_handle: HHandle, row_begin: MaybeSequence[Union[int, float]], column_begin: MaybeSequence[Union[int, float]], row_end: MaybeSequence[Union[int, float]], column_end: 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
Description
add_metrology_object_line_measureadd_metrology_object_line_measureAddMetrologyObjectLineMeasureAddMetrologyObjectLineMeasureAddMetrologyObjectLineMeasureadd_metrology_object_line_measure
adds a metrology object of
type line to a metrology model and prepares the rectangular measure
regions. The handle of the model is passed in
MetrologyHandleMetrologyHandleMetrologyHandleMetrologyHandlemetrologyHandlemetrology_handle
.
For an explanation of the concept of 2D metrology see the
introduction of chapter 2D Metrology.
The geometric shape of the metrology object of type line is described
by the coordinates of the start point (RowBeginRowBeginRowBeginRowBeginrowBeginrow_begin
,
ColumnBeginColumnBeginColumnBeginColumnBegincolumnBegincolumn_begin
) and the coordinates of the end point
(RowEndRowEndRowEndRowEndrowEndrow_end
, ColumnEndColumnEndColumnEndColumnEndcolumnEndcolumn_end
). The rectangular measure regions
lie perpendicular to the line. The half edge lengths of the
measure regions perpendicular and tangential to the line are set
in MeasureLength1MeasureLength1MeasureLength1MeasureLength1measureLength1measure_length_1
and MeasureLength2MeasureLength2MeasureLength2MeasureLength2measureLength2measure_length_2
.
The centers of the measure regions lie on the line. The
parameter MeasureSigmaMeasureSigmaMeasureSigmaMeasureSigmameasureSigmameasure_sigma
specifies a standard deviation that
is used by the operator apply_metrology_modelapply_metrology_modelApplyMetrologyModelApplyMetrologyModelApplyMetrologyModelapply_metrology_model
to smooth the gray values of the image. Salient edges can be
selected with the parameter MeasureThresholdMeasureThresholdMeasureThresholdMeasureThresholdmeasureThresholdmeasure_threshold
, which
constitutes a threshold on the amplitude, i.e., the absolute
value of the first derivative of the edge.
Furthermore, you can adjust some generic parameters within
GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name
and GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value
. In particular,
all generic parameters that are available in the operator
set_metrology_object_paramset_metrology_object_paramSetMetrologyObjectParamSetMetrologyObjectParamSetMetrologyObjectParamset_metrology_object_param
can be set. But note that
for a lot of applications the default values are sufficient and
no adjustment is necessary.
The operator
add_metrology_object_line_measureadd_metrology_object_line_measureAddMetrologyObjectLineMeasureAddMetrologyObjectLineMeasureAddMetrologyObjectLineMeasureadd_metrology_object_line_measure
returns the index of the added
metrology object in the parameter IndexIndexIndexIndexindexindex
.
Execution Information
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
This operator modifies the state of the following input parameter:
During execution of this operator, access to the value of this parameter must be synchronized if it is used across multiple threads.
Parameters
MetrologyHandleMetrologyHandleMetrologyHandleMetrologyHandlemetrologyHandlemetrology_handle
(input_control, state is modified) metrology_model →
HMetrologyModel, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle of the metrology model.
RowBeginRowBeginRowBeginRowBeginrowBeginrow_begin
(input_control) line.begin.y(-array) →
HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Row (or Y) coordinate of the start of the line.
ColumnBeginColumnBeginColumnBeginColumnBegincolumnBegincolumn_begin
(input_control) line.begin.x(-array) →
HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Column (or X) coordinate of the start of the line.
RowEndRowEndRowEndRowEndrowEndrow_end
(input_control) line.end.y(-array) →
HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Row (or Y) coordinate of the end of the line.
ColumnEndColumnEndColumnEndColumnEndcolumnEndcolumn_end
(input_control) line.end.x(-array) →
HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Column (or X) coordinate of the end of the line.
MeasureLength1MeasureLength1MeasureLength1MeasureLength1measureLength1measure_length_1
(input_control) number →
HTupleUnion[int, float]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Half length of the measure regions
perpendicular to the boundary.
Default value: 20.0
Suggested values: 10.0, 20.0, 30.0
Typical range of values: 1.0
≤
MeasureLength1
MeasureLength1
MeasureLength1
MeasureLength1
measureLength1
measure_length_1
Minimum increment: 1.0
Recommended increment: 10.0
MeasureLength2MeasureLength2MeasureLength2MeasureLength2measureLength2measure_length_2
(input_control) number →
HTupleUnion[int, float]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Half length of the measure regions tangential
to the boundary.
Default value: 5.0
Suggested values: 3.0, 5.0, 10.0
Typical range of values: 1.0
≤
MeasureLength2
MeasureLength2
MeasureLength2
MeasureLength2
measureLength2
measure_length_2
Minimum increment: 1.0
Recommended increment: 10.0
MeasureSigmaMeasureSigmaMeasureSigmaMeasureSigmameasureSigmameasure_sigma
(input_control) number →
HTupleUnion[int, float]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Sigma of the Gaussian function for the smoothing.
Default value: 1.0
Suggested values: 0.4, 0.6, 0.8, 1.0, 1.5, 2.0, 3.0, 4.0, 5.0, 7.0, 10.0
Typical range of values: 0.4
≤
MeasureSigma
MeasureSigma
MeasureSigma
MeasureSigma
measureSigma
measure_sigma
Minimum increment: 0.01
Recommended increment: 0.1
Restriction: 0.4 <= MeasureSigma && MeasureSigma <= 100
MeasureThresholdMeasureThresholdMeasureThresholdMeasureThresholdmeasureThresholdmeasure_threshold
(input_control) number →
HTupleUnion[int, float]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Minimum edge amplitude.
Default value: 30.0
Suggested values: 5.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 90.0, 110.0
Typical range of values: 1
≤
MeasureThreshold
MeasureThreshold
MeasureThreshold
MeasureThreshold
measureThreshold
measure_threshold
≤
255
(lin)
Minimum increment: 0.5
Recommended increment: 2
GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name
(input_control) attribute.name-array →
HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)
Names of the generic parameters.
Default value: []
List of values: '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_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", 'rand_seed'"rand_seed""rand_seed""rand_seed""rand_seed""rand_seed"
GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value
(input_control) attribute.value-array →
HTupleSequence[Union[float, int, str]]HTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)
Values of the generic parameters.
Default value: []
Suggested values: 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
(output_control) integer →
HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Index of the created metrology object.
Result
If the parameters are valid, the operator
add_metrology_object_line_measureadd_metrology_object_line_measureAddMetrologyObjectLineMeasureAddMetrologyObjectLineMeasureAddMetrologyObjectLineMeasureadd_metrology_object_line_measure
returns the value 2 (H_MSG_TRUE). If
necessary, an exception is raised.
Possible Predecessors
set_metrology_model_image_sizeset_metrology_model_image_sizeSetMetrologyModelImageSizeSetMetrologyModelImageSizeSetMetrologyModelImageSizeset_metrology_model_image_size
Possible Successors
align_metrology_modelalign_metrology_modelAlignMetrologyModelAlignMetrologyModelAlignMetrologyModelalign_metrology_model
,
apply_metrology_modelapply_metrology_modelApplyMetrologyModelApplyMetrologyModelApplyMetrologyModelapply_metrology_model
Alternatives
add_metrology_object_genericadd_metrology_object_genericAddMetrologyObjectGenericAddMetrologyObjectGenericAddMetrologyObjectGenericadd_metrology_object_generic
See also
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_ellipse_measureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasureadd_metrology_object_ellipse_measure
,
add_metrology_object_rectangle2_measureadd_metrology_object_rectangle2_measureAddMetrologyObjectRectangle2MeasureAddMetrologyObjectRectangle2MeasureAddMetrologyObjectRectangle2Measureadd_metrology_object_rectangle2_measure
Module
2D Metrology