Name
add_metrology_object_circle_measureadd_metrology_object_circle_measureAddMetrologyObjectCircleMeasureadd_metrology_object_circle_measureAddMetrologyObjectCircleMeasureAddMetrologyObjectCircleMeasure — Add a circle or a circular arc to a metrology model.
Herror add_metrology_object_circle_measure(const Hlong MetrologyHandle, double Row, double Column, double Radius, double MeasureLength1, double MeasureLength2, double MeasureSigma, double MeasureThreshold, const char* GenParamName, double GenParamValue, Hlong* Index)
Herror T_add_metrology_object_circle_measure(const Htuple MetrologyHandle, const Htuple Row, const Htuple Column, const Htuple Radius, const Htuple MeasureLength1, const Htuple MeasureLength2, const Htuple MeasureSigma, const Htuple MeasureThreshold, const Htuple GenParamName, const Htuple GenParamValue, Htuple* Index)
Herror add_metrology_object_circle_measure(const HTuple& MetrologyHandle, const HTuple& Row, const HTuple& Column, const HTuple& Radius, const HTuple& MeasureLength1, const HTuple& MeasureLength2, const HTuple& MeasureSigma, const HTuple& MeasureThreshold, const HTuple& GenParamName, const HTuple& GenParamValue, Hlong* Index)
Hlong HMetrologyModel::AddMetrologyObjectCircleMeasure(const HTuple& Row, const HTuple& Column, const HTuple& Radius, const HTuple& MeasureLength1, const HTuple& MeasureLength2, const HTuple& MeasureSigma, const HTuple& MeasureThreshold, const HTuple& GenParamName, const HTuple& GenParamValue) const
void AddMetrologyObjectCircleMeasure(const HTuple& MetrologyHandle, const HTuple& Row, const HTuple& Column, const HTuple& Radius, const HTuple& MeasureLength1, const HTuple& MeasureLength2, const HTuple& MeasureSigma, const HTuple& MeasureThreshold, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Index)
Hlong HMetrologyModel::AddMetrologyObjectCircleMeasure(const HTuple& Row, const HTuple& Column, const HTuple& Radius, const HTuple& MeasureLength1, const HTuple& MeasureLength2, const HTuple& MeasureSigma, const HTuple& MeasureThreshold, const HTuple& GenParamName, const HTuple& GenParamValue) const
Hlong HMetrologyModel::AddMetrologyObjectCircleMeasure(double Row, double Column, double Radius, double MeasureLength1, double MeasureLength2, double MeasureSigma, double MeasureThreshold, const HString& GenParamName, double GenParamValue) const
Hlong HMetrologyModel::AddMetrologyObjectCircleMeasure(double Row, double Column, double Radius, double MeasureLength1, double MeasureLength2, double MeasureSigma, double MeasureThreshold, const char* GenParamName, double GenParamValue) const
void HOperatorSetX.AddMetrologyObjectCircleMeasure(
[in] VARIANT MetrologyHandle, [in] VARIANT Row, [in] VARIANT Column, [in] VARIANT Radius, [in] VARIANT MeasureLength1, [in] VARIANT MeasureLength2, [in] VARIANT MeasureSigma, [in] VARIANT MeasureThreshold, [in] VARIANT GenParamName, [in] VARIANT GenParamValue, [out] VARIANT* Index)
Hlong HMetrologyModelX.AddMetrologyObjectCircleMeasure(
[in] VARIANT Row, [in] VARIANT Column, [in] VARIANT Radius, [in] VARIANT MeasureLength1, [in] VARIANT MeasureLength2, [in] VARIANT MeasureSigma, [in] VARIANT MeasureThreshold, [in] VARIANT GenParamName, [in] VARIANT GenParamValue)
static void HOperatorSet.AddMetrologyObjectCircleMeasure(HTuple metrologyHandle, HTuple row, HTuple column, HTuple radius, HTuple measureLength1, HTuple measureLength2, HTuple measureSigma, HTuple measureThreshold, HTuple genParamName, HTuple genParamValue, out HTuple index)
int HMetrologyModel.AddMetrologyObjectCircleMeasure(HTuple row, HTuple column, HTuple radius, HTuple measureLength1, HTuple measureLength2, HTuple measureSigma, HTuple measureThreshold, HTuple genParamName, HTuple genParamValue)
int HMetrologyModel.AddMetrologyObjectCircleMeasure(double row, double column, double radius, double measureLength1, double measureLength2, double measureSigma, double measureThreshold, string genParamName, double genParamValue)
add_metrology_object_circle_measureadd_metrology_object_circle_measureAddMetrologyObjectCircleMeasureadd_metrology_object_circle_measureAddMetrologyObjectCircleMeasureAddMetrologyObjectCircleMeasure adds an metrology object
of type circle or circular arc to a metrology model and prepares the
rectangular measure regions (see create_metrology_modelcreate_metrology_modelCreateMetrologyModelcreate_metrology_modelCreateMetrologyModelCreateMetrologyModel for
the basic principle of 2D metrology). The handle of the model is
passed in MetrologyHandleMetrologyHandleMetrologyHandleMetrologyHandleMetrologyHandlemetrologyHandle.
The geomeotric shape of the metrology object of type circle is
specified by its center (RowRowRowRowRowrow, ColumnColumnColumnColumnColumncolumn) and
RadiusRadiusRadiusRadiusRadiusradius. The rectangular measure regions lie
perpendicular to the boundary of the circle. The half edge
lengths of the measure regions are set in MeasureLength1MeasureLength1MeasureLength1MeasureLength1MeasureLength1measureLength1
and MeasureLength2MeasureLength2MeasureLength2MeasureLength2MeasureLength2measureLength2. The centers of the measure regions
lie on the boundary of the circle. The parameter MeasureSigmaMeasureSigmaMeasureSigmaMeasureSigmaMeasureSigmameasureSigma
specifies a standard deviation that is used by operator
apply_metrology_modelapply_metrology_modelApplyMetrologyModelapply_metrology_modelApplyMetrologyModelApplyMetrologyModel to smooth the gray values of the image.
Salient edges can be selected with the parameter
MeasureThresholdMeasureThresholdMeasureThresholdMeasureThresholdMeasureThresholdmeasureThreshold, which constitutes a threshold on the
amplitude, i.e., the absolute value of the first derivative of the
edge. The operator add_metrology_object_circle_measureadd_metrology_object_circle_measureAddMetrologyObjectCircleMeasureadd_metrology_object_circle_measureAddMetrologyObjectCircleMeasureAddMetrologyObjectCircleMeasure
returns the index of the new created metrology object in parameter
IndexIndexIndexIndexIndexindex.
Furthermore, you can adjust some generic parameters within
GenParamNameGenParamNameGenParamNameGenParamNameGenParamNamegenParamName and GenParamValueGenParamValueGenParamValueGenParamValueGenParamValuegenParamValue. The following
values for GenParamNameGenParamNameGenParamNameGenParamNameGenParamNamegenParamName and GenParamValueGenParamValueGenParamValueGenParamValueGenParamValuegenParamValue specify
the circular arc are available:
- 'start_phi'"start_phi""start_phi""start_phi""start_phi""start_phi":
-
The parameter specifies the angle at
the start point of a circular arc. To create a
closed circle the value of the parameter 'start_phi'"start_phi""start_phi""start_phi""start_phi""start_phi" is
set to 0 and the value of the parameter 'end_phi'"end_phi""end_phi""end_phi""end_phi""end_phi"
is set to 2*PI (with positive point order).
The input value is mapped automatically
to the interval [0,2*PI].
List of values: 0.0, 0.78,
6.28318
Default value: 0.0
- 'end_phi'"end_phi""end_phi""end_phi""end_phi""end_phi":
-
The parameter
specifies the angle at the end point of a circular arc. To create
a closed circle the value of the parameter 'start_phi'"start_phi""start_phi""start_phi""start_phi""start_phi"
is set to 0 and the value of the parameter
'end_phi'"end_phi""end_phi""end_phi""end_phi""end_phi" is set to 2*PI (with positive
point order). The input value is mapped internally
automatically to the interval [0,2*PI].
List of values: 0.0, 0.78,
6.28318
Default value: 6.28318
- 'point_order'"point_order""point_order""point_order""point_order""point_order":
-
The parameter specifies the direction
of the circular arc. For the value 'positive'"positive""positive""positive""positive""positive", the circular
arc is defined between 'start_phi'"start_phi""start_phi""start_phi""start_phi""start_phi" and 'end_phi'"end_phi""end_phi""end_phi""end_phi""end_phi"
in mathematically positive direction (counterclockwise).
For the value 'negative'"negative""negative""negative""negative""negative", the circular arc is defined
between 'start_phi'"start_phi""start_phi""start_phi""start_phi""start_phi" and 'end_phi'"end_phi""end_phi""end_phi""end_phi""end_phi" in
mathematically negative direction (clockwise).
List of values: 'positive'"positive""positive""positive""positive""positive", 'negative'"negative""negative""negative""negative""negative"
Default value: 'positive'"positive""positive""positive""positive""positive"
Additionally all generic parameters, that are available for the
operator set_metrology_object_paramset_metrology_object_paramSetMetrologyObjectParamset_metrology_object_paramSetMetrologyObjectParamSetMetrologyObjectParam can be set. But note
that for a lot of applications the default values are sufficient
and no adjustment is necessary.
A metrology model 'MetrologyHandle'"MetrologyHandle""MetrologyHandle""MetrologyHandle""MetrologyHandle""MetrologyHandle" cannot be shared between
two or more user's threads. Different metrology models can be used
independently and safely in different threads.
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Handle of the metrology model.
RowRowRowRowRowrow (input_control) circle.center.y(-array) → HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)
Row coordinate of the center of the circle or
circular arc.
Column coordinate of the center of the circle or
circular arc.
Radius of the circle or circular arc.
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
measureLength1
Minimum increment: 1.0
Recommended increment: 10.0
Restriction: MeasureLength1 < Radius
Half length of the measure regions tangetial
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
measureLength2
Minimum increment: 1.0
Recommended increment: 10.0
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
measureSigma
Minimum increment: 0.01
Recommended increment: 0.1
Restriction: 0.4 <= MeasureSigma && MeasureSigma <= 100
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
measureThreshold
≤
255 (lin)
Minimum increment: 0.5
Recommended increment: 2
Names of the generic parameters.
Default value: []
List of values: '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", '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", 'start_phi'"start_phi""start_phi""start_phi""start_phi""start_phi", 'world_pose'"world_pose""world_pose""world_pose""world_pose""world_pose"
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"
Index of the created metrology object.
read_image (Image, 'rings_and_nuts')
create_metrology_model (MetrologyHandle)
get_image_size (Image, Width, Height)
set_metrology_model_image_size (MetrologyHandle, Width, Height)
add_metrology_object_circle_measure (MetrologyHandle, 120, 130, 35, 10, 2, \
1, 30, ['measure_distance'], [40], Index)
apply_metrology_model (Image, MetrologyHandle)
get_metrology_object_result (MetrologyHandle, Index, 'all', 'result_type', \
'param', Circle)
gen_circle_contour_xld (ContCircle, Circle[0], Circle[1], Circle[2], 0, \
6.28318, 'positive', 1)
clear_metrology_model (MetrologyHandle)
If the parameters are valid, the operator
add_metrology_object_circle_measureadd_metrology_object_circle_measureAddMetrologyObjectCircleMeasureadd_metrology_object_circle_measureAddMetrologyObjectCircleMeasureAddMetrologyObjectCircleMeasure
returns the value 2 (H_MSG_TRUE). If necessary, an exception is raised.
set_metrology_model_image_sizeset_metrology_model_image_sizeSetMetrologyModelImageSizeset_metrology_model_image_sizeSetMetrologyModelImageSizeSetMetrologyModelImageSize
apply_metrology_modelapply_metrology_modelApplyMetrologyModelapply_metrology_modelApplyMetrologyModelApplyMetrologyModel,
copy_metrology_objectcopy_metrology_objectCopyMetrologyObjectcopy_metrology_objectCopyMetrologyObjectCopyMetrologyObject
gen_circle_contour_xldgen_circle_contour_xldGenCircleContourXldgen_circle_contour_xldGenCircleContourXldGenCircleContourXld,
add_metrology_object_ellipse_measureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasure,
add_metrology_object_line_measureadd_metrology_object_line_measureAddMetrologyObjectLineMeasureadd_metrology_object_line_measureAddMetrologyObjectLineMeasureAddMetrologyObjectLineMeasure,
add_metrology_object_rectangle2_measureadd_metrology_object_rectangle2_measureAddMetrologyObjectRectangle2Measureadd_metrology_object_rectangle2_measureAddMetrologyObjectRectangle2MeasureAddMetrologyObjectRectangle2Measure
2D Metrology