add_metrology_object_ellipse_measure T_add_metrology_object_ellipse_measure AddMetrologyObjectEllipseMeasure AddMetrologyObjectEllipseMeasure add_metrology_object_ellipse_measure (Operator)
add_metrology_object_ellipse_measure T_add_metrology_object_ellipse_measure AddMetrologyObjectEllipseMeasure AddMetrologyObjectEllipseMeasure add_metrology_object_ellipse_measure
— Add an ellipse or an elliptic arc to a metrology model.
Signature
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
Description
add_metrology_object_ellipse_measure add_metrology_object_ellipse_measure AddMetrologyObjectEllipseMeasure AddMetrologyObjectEllipseMeasure add_metrology_object_ellipse_measure
adds a metrology object
of type ellipse or elliptic arc to a metrology model and prepares the
rectangular measure regions. The handle of the model is passed in
MetrologyHandle MetrologyHandle MetrologyHandle metrologyHandle metrology_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 ellipse is specified
by its center (Row Row Row row row
, Column Column Column column column
), the orientation of the
main axis Phi Phi Phi phi phi
, the length of the larger half axis
Radius1 Radius1 Radius1 radius1 radius_1
, and the length of the smaller half axis
Radius2 Radius2 Radius2 radius2 radius_2
. The input value for Phi Phi Phi phi phi
is mapped
automatically to the interval
.
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 MeasureLength1 MeasureLength1 MeasureLength1 measureLength1 measure_length_1
and MeasureLength2 MeasureLength2 MeasureLength2 measureLength2 measure_length_2
.
The centers of the measure regions lie on the boundary of the
geometric shape. The parameter MeasureSigma MeasureSigma MeasureSigma measureSigma measure_sigma
specifies the
standard deviation that is used by the operator
apply_metrology_model apply_metrology_model ApplyMetrologyModel ApplyMetrologyModel apply_metrology_model
to smooth the gray values of the image.
Salient edges can be selected with the parameter MeasureThreshold MeasureThreshold MeasureThreshold measureThreshold measure_threshold
,
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_measure add_metrology_object_ellipse_measure AddMetrologyObjectEllipseMeasure AddMetrologyObjectEllipseMeasure add_metrology_object_ellipse_measure
returns the index of the
added metrology object in the parameter Index Index Index index index
.
Furthermore, you can adjust some generic parameters within
GenParamName GenParamName GenParamName genParamName gen_param_name
and GenParamValue GenParamValue GenParamValue genParamValue gen_param_value
. The following
values for GenParamName GenParamName GenParamName genParamName gen_param_name
and GenParamValue GenParamValue GenParamValue genParamValue gen_param_value
are
available:
'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
Phi Phi Phi phi phi
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
, the two minor poles to the
angle
and
. To create a
closed ellipse the value of the parameter '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" is set to
(with positive
point order). The input value is mapped internally
automatically to the interval
.
Suggested values:
0.0 , 0.78 ,
6.28318
Default:
0.0
'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
Phi Phi Phi phi phi
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
, the two minor poles to the
angle
and
. To create a
closed ellipse the value of the parameter '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"
is set to
(with positive point order).
The input value is mapped automatically
to the interval
.
Suggested values:
0.0 , 0.78 ,
6.28318
Default:
6.28318
'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" , the elliptic
arc is defined between 'start_phi' "start_phi" "start_phi" "start_phi" "start_phi" and 'end_phi' "end_phi" "end_phi" "end_phi" "end_phi"
in mathematically positive direction (counterclockwise).
For the value 'negative' "negative" "negative" "negative" "negative" , the elliptic arc is defined
between 'start_phi' "start_phi" "start_phi" "start_phi" "start_phi" and 'end_phi' "end_phi" "end_phi" "end_phi" "end_phi" in
mathematically negative direction (clockwise).
List of values:
'positive' "positive" "positive" "positive" "positive" , 'negative' "negative" "negative" "negative" "negative"
Default:
'positive' "positive" "positive" "positive" "positive"
Additionally, all generic parameters that are available for the
operator set_metrology_object_param set_metrology_object_param SetMetrologyObjectParam SetMetrologyObjectParam set_metrology_object_param
can be set. But note
that for a lot of applications the default values are sufficient
and no adjustment is necessary.
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
MetrologyHandle MetrologyHandle MetrologyHandle metrologyHandle metrology_handle
(input_control, state is modified) metrology_model →
HMetrologyModel , HTuple HHandle HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Handle of the metrology model.
Row Row Row row row
(input_control) ellipse.center.y(-array) →
HTuple MaybeSequence[Union[int, float]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Row (or Y) coordinate of the center of the ellipse.
Column Column Column column column
(input_control) ellipse.center.x(-array) →
HTuple MaybeSequence[Union[int, float]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Column (or X) coordinate of the center of the ellipse.
Phi Phi Phi phi phi
(input_control) ellipse.angle.rad(-array) →
HTuple MaybeSequence[Union[int, float]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Orientation of the main axis [rad].
Radius1 Radius1 Radius1 radius1 radius_1
(input_control) ellipse.radius1(-array) →
HTuple MaybeSequence[Union[int, float]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Length of the larger half axis.
Radius2 Radius2 Radius2 radius2 radius_2
(input_control) ellipse.radius2(-array) →
HTuple MaybeSequence[Union[int, float]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Length of the smaller half axis.
MeasureLength1 MeasureLength1 MeasureLength1 measureLength1 measure_length_1
(input_control) number →
HTuple Union[int, float] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Half length of the measure regions perpendicular
to the boundary.
Default:
20.0
Suggested values:
10.0, 20.0, 30.0
Value range:
1.0
≤
MeasureLength1
MeasureLength1
MeasureLength1
measureLength1
measure_length_1
Minimum increment:
1.0
Recommended increment:
10.0
Restriction:
MeasureLength1 < Radius1 && MeasureLength1 < Radius2
MeasureLength2 MeasureLength2 MeasureLength2 measureLength2 measure_length_2
(input_control) number →
HTuple Union[int, float] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Half length of the measure regions tangential
to the boundary.
Default:
5.0
Suggested values:
3.0, 5.0, 10.0
Value range:
1.0
≤
MeasureLength2
MeasureLength2
MeasureLength2
measureLength2
measure_length_2
Minimum increment:
1.0
Recommended increment:
10.0
MeasureSigma MeasureSigma MeasureSigma measureSigma measure_sigma
(input_control) number →
HTuple Union[int, float] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Sigma of the Gaussian function for the smoothing.
Default:
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
Value range:
0.4
≤
MeasureSigma
MeasureSigma
MeasureSigma
measureSigma
measure_sigma
≤
100.0
Minimum increment:
0.01
Recommended increment:
0.1
MeasureThreshold MeasureThreshold MeasureThreshold measureThreshold measure_threshold
(input_control) number →
HTuple Union[int, float] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Minimum edge amplitude.
Default:
30.0
Suggested values:
5.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 90.0, 110.0
Value range:
1
≤
MeasureThreshold
MeasureThreshold
MeasureThreshold
measureThreshold
measure_threshold
≤
255
(lin)
Minimum increment:
0.5
Recommended increment:
2
GenParamName GenParamName GenParamName genParamName gen_param_name
(input_control) attribute.name-array →
HTuple Sequence[str] HTuple Htuple (string) (string ) (HString ) (char* )
Names of the generic parameters.
Default:
[]
List of values:
'distance_threshold' "distance_threshold" "distance_threshold" "distance_threshold" "distance_threshold" , '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" , '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_interpolation' "measure_interpolation" "measure_interpolation" "measure_interpolation" "measure_interpolation" , 'measure_select' "measure_select" "measure_select" "measure_select" "measure_select" , 'measure_transition' "measure_transition" "measure_transition" "measure_transition" "measure_transition" , 'min_score' "min_score" "min_score" "min_score" "min_score" , 'num_instances' "num_instances" "num_instances" "num_instances" "num_instances" , 'num_measures' "num_measures" "num_measures" "num_measures" "num_measures" , 'point_order' "point_order" "point_order" "point_order" "point_order" , 'rand_seed' "rand_seed" "rand_seed" "rand_seed" "rand_seed" , 'start_phi' "start_phi" "start_phi" "start_phi" "start_phi"
GenParamValue GenParamValue GenParamValue genParamValue gen_param_value
(input_control) attribute.value-array →
HTuple Sequence[Union[float, int, str]] HTuple Htuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)
Values of the generic parameters.
Default:
[]
Suggested values:
1, 2, 3, 4, 5, 10, 20, 'all' "all" "all" "all" "all" , 'true' "true" "true" "true" "true" , 'false' "false" "false" "false" "false" , 'first' "first" "first" "first" "first" , 'last' "last" "last" "last" "last" , 'positive' "positive" "positive" "positive" "positive" , 'negative' "negative" "negative" "negative" "negative" , 'uniform' "uniform" "uniform" "uniform" "uniform" , 'nearest_neighbor' "nearest_neighbor" "nearest_neighbor" "nearest_neighbor" "nearest_neighbor" , 'bilinear' "bilinear" "bilinear" "bilinear" "bilinear" , 'bicubic' "bicubic" "bicubic" "bicubic" "bicubic"
Index Index Index index index
(output_control) integer →
HTuple int HTuple Htuple (integer) (int / long) (Hlong ) (Hlong )
Index of the created metrology object.
Result
If the parameters are valid, the operator
add_metrology_object_ellipse_measure add_metrology_object_ellipse_measure AddMetrologyObjectEllipseMeasure AddMetrologyObjectEllipseMeasure add_metrology_object_ellipse_measure
returns the value 2 (
H_MSG_TRUE )
. If
necessary, an exception is raised.
Possible Predecessors
set_metrology_model_image_size set_metrology_model_image_size SetMetrologyModelImageSize SetMetrologyModelImageSize set_metrology_model_image_size
Possible Successors
align_metrology_model align_metrology_model AlignMetrologyModel AlignMetrologyModel align_metrology_model
,
apply_metrology_model apply_metrology_model ApplyMetrologyModel ApplyMetrologyModel apply_metrology_model
Alternatives
add_metrology_object_generic add_metrology_object_generic AddMetrologyObjectGeneric AddMetrologyObjectGeneric add_metrology_object_generic
See also
get_metrology_object_model_contour get_metrology_object_model_contour GetMetrologyObjectModelContour GetMetrologyObjectModelContour get_metrology_object_model_contour
,
set_metrology_model_param set_metrology_model_param SetMetrologyModelParam SetMetrologyModelParam set_metrology_model_param
,
add_metrology_object_circle_measure add_metrology_object_circle_measure AddMetrologyObjectCircleMeasure AddMetrologyObjectCircleMeasure add_metrology_object_circle_measure
,
add_metrology_object_line_measure add_metrology_object_line_measure AddMetrologyObjectLineMeasure AddMetrologyObjectLineMeasure add_metrology_object_line_measure
,
add_metrology_object_rectangle2_measure add_metrology_object_rectangle2_measure AddMetrologyObjectRectangle2Measure AddMetrologyObjectRectangle2Measure add_metrology_object_rectangle2_measure
Module
2D Metrology