Name
add_metrology_object_ellipse_measureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasure — Add an ellipse or an elliptic arc to a metrology model.
add_metrology_object_ellipse_measure( : : MetrologyHandle, Row, Column, Phi, Radius1, Radius2, MeasureLength1, MeasureLength2, MeasureSigma, MeasureThreshold, GenParamName, GenParamValue : Index)
Herror add_metrology_object_ellipse_measure(const Hlong MetrologyHandle, double Row, double Column, double Phi, double Radius1, double Radius2, double MeasureLength1, double MeasureLength2, double MeasureSigma, double MeasureThreshold, const char* GenParamName, double GenParamValue, Hlong* 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)
Herror 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, Hlong* 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
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 HString& GenParamName, double GenParamValue) const
Hlong HMetrologyModel::AddMetrologyObjectEllipseMeasure(double Row, double Column, double Phi, double Radius1, double Radius2, double MeasureLength1, double MeasureLength2, double MeasureSigma, double MeasureThreshold, const char* GenParamName, double GenParamValue) const
void HOperatorSetX.AddMetrologyObjectEllipseMeasure(
[in] VARIANT MetrologyHandle, [in] VARIANT Row, [in] VARIANT Column, [in] VARIANT Phi, [in] VARIANT Radius1, [in] VARIANT Radius2, [in] VARIANT MeasureLength1, [in] VARIANT MeasureLength2, [in] VARIANT MeasureSigma, [in] VARIANT MeasureThreshold, [in] VARIANT GenParamName, [in] VARIANT GenParamValue, [out] VARIANT* Index)
Hlong HMetrologyModelX.AddMetrologyObjectEllipseMeasure(
[in] VARIANT Row, [in] VARIANT Column, [in] VARIANT Phi, [in] VARIANT Radius1, [in] VARIANT Radius2, [in] VARIANT MeasureLength1, [in] VARIANT MeasureLength2, [in] VARIANT MeasureSigma, [in] VARIANT MeasureThreshold, [in] VARIANT GenParamName, [in] VARIANT GenParamValue)
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, string genParamName, double genParamValue)
add_metrology_object_ellipse_measureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasure adds an metrology object
of type ellipse or elliptic 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 geometric shape of the metrology object of type ellipse is specified
by its center (RowRowRowRowRowrow, ColumnColumnColumnColumnColumncolumn), the orientation of the
main axis PhiPhiPhiPhiPhiphi, the length of the larger half axis
Radius1Radius1Radius1Radius1Radius1radius1, and the length of the smaller half axis
Radius2Radius2Radius2Radius2Radius2radius2. The input value for PhiPhiPhiPhiPhiphi is mapped
automatically to the interval ]-PI,PI].
The rectangular measure regions lie perpendicular to the
boundary of the ellipse. The half edge lengths of the measure
regions perpendicular and tangential to the boundary of the ellipse
are set in MeasureLength1MeasureLength1MeasureLength1MeasureLength1MeasureLength1measureLength1 and MeasureLength2MeasureLength2MeasureLength2MeasureLength2MeasureLength2measureLength2.
The centers of the measure regions lie on the boundary of the
geometric shape. The parameter MeasureSigmaMeasureSigmaMeasureSigmaMeasureSigmaMeasureSigmameasureSigma specifies a
standard deviation that is used by the 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_ellipse_measureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasure returns the index of the
added metrology object in the parameter IndexIndexIndexIndexIndexindex.
Furthermore, you can adjust some generic parameters within
GenParamNameGenParamNameGenParamNameGenParamNameGenParamNamegenParamName and GenParamValueGenParamValueGenParamValueGenParamValueGenParamValuegenParamValue. The following
values for GenParamNameGenParamNameGenParamNameGenParamNameGenParamNamegenParamName and GenParamValueGenParamValueGenParamValueGenParamValueGenParamValuegenParamValue specify
the elliptic arc:
- 'start_phi'"start_phi""start_phi""start_phi""start_phi""start_phi":
-
The parameter specifies the angle at
the start point of an elliptic arc. The angle at the start point
is measured relative to the positive main axis specified with
PhiPhiPhiPhiPhiphi and corresponds to the smallest surrounding circle
of the ellipse. The actual start point of the ellipse is the
intersection of the ellipse with the orthogonal projection of the
corresponding circle point onto the main axis. The angle refers
to the coordinate system of the ellipse, i.e., it is specified
relative to the main axis and in a mathematical positive
direction. Thus, the two main poles correspond to the
angles 0 and PI, the two minor poles to the
angle PI/2 and 3*PI/2. To create a
closed ellipse 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: 0.0
- 'end_phi'"end_phi""end_phi""end_phi""end_phi""end_phi":
-
The parameter specifies the angle at
the end point of an elliptic arc. The angle at the end point are
measured relative to the positive main axis specified with
PhiPhiPhiPhiPhiphi and corresponds to the smallest surrounding circle
of the ellipse. The actual end point of the ellipse is the
intersection of the ellipse with the orthogonal projection of the
corresponding circle point onto the main axis. The angle refers
to the coordinate system of the ellipse, i.e., it is specified
relative to the main axis and in a mathematical positive direction.
Thus, the two main poles correspond to the
angles 0 and PI, the two minor poles to the
angle PI/2 and 3*PI/2. To create a
closed ellipse 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: 6.28318
- 'point_order'"point_order""point_order""point_order""point_order""point_order":
-
The parameter specifies the direction
of the elliptic arc. For the value 'positive'"positive""positive""positive""positive""positive", the elliptic
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 elliptic 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) ellipse.center.y(-array) → HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)
Row coordinate of the center of the ellispe.
Column coordinate of the center of the ellispe.
PhiPhiPhiPhiPhiphi (input_control) ellipse.angle.rad(-array) → HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)
Orientation of the main axis [rad].
Length of the larger half axis.
Length of the smaller half axis.
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 < Radius1 && MeasureLength1 < Radius2
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.
If the parameters are valid, the operator
add_metrology_object_ellipse_measureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasure 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_ellipse_contour_xldgen_ellipse_contour_xldGenEllipseContourXldgen_ellipse_contour_xldGenEllipseContourXldGenEllipseContourXld,
add_metrology_object_circle_measureadd_metrology_object_circle_measureAddMetrologyObjectCircleMeasureadd_metrology_object_circle_measureAddMetrologyObjectCircleMeasureAddMetrologyObjectCircleMeasure,
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