add_metrology_object_circle_measure T_add_metrology_object_circle_measure AddMetrologyObjectCircleMeasure AddMetrologyObjectCircleMeasure (Operator)
Name
add_metrology_object_circle_measure T_add_metrology_object_circle_measure AddMetrologyObjectCircleMeasure AddMetrologyObjectCircleMeasure
— Add a circle or a circular arc to a metrology model.
Signature
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 )
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 HTuple& GenParamName , const HTuple& GenParamValue ) const
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 , HTuple genParamName , HTuple genParamValue )
Description
add_metrology_object_circle_measure add_metrology_object_circle_measure AddMetrologyObjectCircleMeasure AddMetrologyObjectCircleMeasure AddMetrologyObjectCircleMeasure
adds a metrology object
of type circle or circular arc to a metrology model and prepares the
rectangular measure regions. The handle of the model is
passed in MetrologyHandle MetrologyHandle MetrologyHandle MetrologyHandle metrologyHandle
.
For an explanation of the concept of 2D metrology see the
introduction of chapter 2D Metrology .
The geomeotric shape of the metrology object of type circle is
specified by its center (Row Row Row Row row
, Column Column Column Column column
) and
Radius Radius Radius Radius radius
. The rectangular measure regions lie
perpendicular to the boundary of the circle. The half edge
lengths of the measure regions are set in MeasureLength1 MeasureLength1 MeasureLength1 MeasureLength1 measureLength1
and MeasureLength2 MeasureLength2 MeasureLength2 MeasureLength2 measureLength2
. The centers of the measure regions
lie on the boundary of the circle. The parameter MeasureSigma MeasureSigma MeasureSigma MeasureSigma measureSigma
specifies the standard deviation that is used by operator
apply_metrology_model apply_metrology_model ApplyMetrologyModel ApplyMetrologyModel ApplyMetrologyModel
to smooth the gray values of the image.
Salient edges can be selected with the parameter
MeasureThreshold MeasureThreshold MeasureThreshold MeasureThreshold measureThreshold
, 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_measure add_metrology_object_circle_measure AddMetrologyObjectCircleMeasure AddMetrologyObjectCircleMeasure AddMetrologyObjectCircleMeasure
returns the index of the added metrology object in parameter
Index Index Index Index index
.
Furthermore, you can adjust some generic parameters with
GenParamName GenParamName GenParamName GenParamName genParamName
and GenParamValue GenParamValue GenParamValue GenParamValue genParamValue
. The following
values for GenParamName GenParamName GenParamName GenParamName genParamName
and GenParamValue GenParamValue GenParamValue GenParamValue genParamValue
are
available:
'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" 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
.
List of values: 0.0 , 0.78 ,
6.28318
Default value: 0.0
'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"
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
.
List of values: 0.0 , 0.78 ,
6.28318
Default value: 6.28318
'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" , the circular
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 circular 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 value: '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 SetMetrologyObjectParam
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:
The value of this parameter may not be shared across multiple threads without external synchronization.
Parameters
MetrologyHandle MetrologyHandle MetrologyHandle MetrologyHandle metrologyHandle
(input_control, state is modified) metrology_model →
HMetrologyModel , HTuple HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Handle of the metrology model.
Row Row Row Row row
(input_control) circle.center.y(-array) →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Row coordinate (or Y) of the center of the circle or
circular arc.
Column Column Column Column column
(input_control) circle.center.x(-array) →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Column (or X) coordinate of the center of the circle or
circular arc.
Radius Radius Radius Radius radius
(input_control) circle.radius(-array) →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Radius of the circle or circular arc.
MeasureLength1 MeasureLength1 MeasureLength1 MeasureLength1 measureLength1
(input_control) number →
HTuple HTuple Htuple (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
Minimum increment: 1.0
Recommended increment: 10.0
Restriction: MeasureLength1 < Radius
MeasureLength2 MeasureLength2 MeasureLength2 MeasureLength2 measureLength2
(input_control) number →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
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
Minimum increment: 1.0
Recommended increment: 10.0
MeasureSigma MeasureSigma MeasureSigma MeasureSigma measureSigma
(input_control) number →
HTuple HTuple Htuple (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
Minimum increment: 0.01
Recommended increment: 0.1
Restriction: 0.4 <= MeasureSigma && MeasureSigma <= 100
MeasureThreshold MeasureThreshold MeasureThreshold MeasureThreshold measureThreshold
(input_control) number →
HTuple HTuple Htuple (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
≤
255
(lin)
Minimum increment: 0.5
Recommended increment: 2
GenParamName GenParamName GenParamName GenParamName genParamName
(input_control) attribute.name-array →
HTuple HTuple Htuple (string) (string ) (HString ) (char* )
Names of the generic parameters.
Default value: []
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 genParamValue
(input_control) attribute.value-array →
HTuple HTuple Htuple (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" , '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 HTuple Htuple (integer) (int / long) (Hlong ) (Hlong )
Index of the created metrology object.
Example (HDevelop)
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', \
'all_param', Circle)
get_metrology_object_result_contour (Contour, MetrologyHandle, Index, \
'all', 1.5)
Result
If the parameters are valid, the operator
add_metrology_object_circle_measure add_metrology_object_circle_measure AddMetrologyObjectCircleMeasure AddMetrologyObjectCircleMeasure AddMetrologyObjectCircleMeasure
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 SetMetrologyModelImageSize
Possible Successors
align_metrology_model align_metrology_model AlignMetrologyModel AlignMetrologyModel AlignMetrologyModel
,
apply_metrology_model apply_metrology_model ApplyMetrologyModel ApplyMetrologyModel ApplyMetrologyModel
Alternatives
add_metrology_object_generic add_metrology_object_generic AddMetrologyObjectGeneric AddMetrologyObjectGeneric AddMetrologyObjectGeneric
See also
get_metrology_object_model_contour get_metrology_object_model_contour GetMetrologyObjectModelContour GetMetrologyObjectModelContour GetMetrologyObjectModelContour
,
set_metrology_model_param set_metrology_model_param SetMetrologyModelParam SetMetrologyModelParam SetMetrologyModelParam
,
add_metrology_object_ellipse_measure add_metrology_object_ellipse_measure AddMetrologyObjectEllipseMeasure AddMetrologyObjectEllipseMeasure AddMetrologyObjectEllipseMeasure
,
add_metrology_object_line_measure add_metrology_object_line_measure AddMetrologyObjectLineMeasure AddMetrologyObjectLineMeasure AddMetrologyObjectLineMeasure
,
add_metrology_object_rectangle2_measure add_metrology_object_rectangle2_measure AddMetrologyObjectRectangle2Measure AddMetrologyObjectRectangle2Measure AddMetrologyObjectRectangle2Measure
Module
2D Metrology