add_metrology_object_ellipse_measureT_add_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasureadd_metrology_object_ellipse_measure (算子名称)

名称

add_metrology_object_ellipse_measureT_add_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasureadd_metrology_object_ellipse_measure — 添加椭圆或椭圆弧到度量模型。

参数签名

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

描述

add_metrology_object_ellipse_measureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasureadd_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 MetrologyHandleMetrologyHandleMetrologyHandleMetrologyHandlemetrologyHandlemetrology_handle.

For an explanation of the concept of 2D 度量 see the introduction of chapter 2D 度量.

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 Radius1Radius1Radius1Radius1radius1radius_1, and the length of the smaller half axis Radius2Radius2Radius2Radius2radius2radius_2. The input value for PhiPhiPhiPhiphiphi 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 MeasureLength1MeasureLength1MeasureLength1MeasureLength1measureLength1measure_length_1 and MeasureLength2MeasureLength2MeasureLength2MeasureLength2measureLength2measure_length_2. The centers of the measure regions lie on the boundary of the geometric shape. The parameter MeasureSigmaMeasureSigmaMeasureSigmaMeasureSigmameasureSigmameasure_sigma specifies the standard deviation that is used by 该算子 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. 该算子 add_metrology_object_ellipse_measureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasureadd_metrology_object_ellipse_measure returns the index of the added metrology object in the parameter IndexIndexIndexIndexindexindex.

Furthermore, you can adjust some generic parameters within GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name and GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value. The following values for GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name and GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value are available:

'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 , 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""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 (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: 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 , 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""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 (with positive point order). The input value is mapped 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""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_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.

运行信息

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.

参数表

MetrologyHandleMetrologyHandleMetrologyHandleMetrologyHandlemetrologyHandlemetrology_handle (input_control, state is modified)  metrology_model HMetrologyModel, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle of the metrology model.

RowRowRowRowrowrow (input_control)  ellipse.center.y(-array) HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Row (or Y) coordinate of the center of the ellipse.

ColumnColumnColumnColumncolumncolumn (input_control)  ellipse.center.x(-array) HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Column (or X) coordinate of the center of the ellipse.

PhiPhiPhiPhiphiphi (input_control)  ellipse.angle.rad(-array) HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Orientation of the main axis [rad].

Radius1Radius1Radius1Radius1radius1radius_1 (input_control)  ellipse.radius1(-array) HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Length of the larger half axis.

Radius2Radius2Radius2Radius2radius2radius_2 (input_control)  ellipse.radius2(-array) HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Length of the smaller half axis.

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: 20.0

Suggested values: 10.0, 20.0, 30.0

Value range: 1.0 ≤ MeasureLength1 MeasureLength1 MeasureLength1 MeasureLength1 measureLength1 measure_length_1

Minimum increment: 1.0

Recommended increment: 10.0

Restriction: MeasureLength1 < Radius1 && MeasureLength1 < Radius2

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: 5.0

Suggested values: 3.0, 5.0, 10.0

Value range: 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: 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 measureSigma measure_sigma ≤ 100.0

Minimum increment: 0.01

Recommended increment: 0.1

MeasureThresholdMeasureThresholdMeasureThresholdMeasureThresholdmeasureThresholdmeasure_threshold (input_control)  number HTupleUnion[int, float]HTupleHtuple (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 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: []

List of values: 'distance_threshold'"distance_threshold""distance_threshold""distance_threshold""distance_threshold""distance_threshold", '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", '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", 'point_order'"point_order""point_order""point_order""point_order""point_order", 'rand_seed'"rand_seed""rand_seed""rand_seed""rand_seed""rand_seed", 'start_phi'"start_phi""start_phi""start_phi""start_phi""start_phi"

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: []

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.

结果

如果参数均有效,算子 add_metrology_object_ellipse_measureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasureadd_metrology_object_ellipse_measure 返回值 2 ( H_MSG_TRUE) . If necessary, an exception is raised.

可能的前置算子

set_metrology_model_image_sizeset_metrology_model_image_sizeSetMetrologyModelImageSizeSetMetrologyModelImageSizeSetMetrologyModelImageSizeset_metrology_model_image_size

可能的后置算子

align_metrology_modelalign_metrology_modelAlignMetrologyModelAlignMetrologyModelAlignMetrologyModelalign_metrology_model, apply_metrology_modelapply_metrology_modelApplyMetrologyModelApplyMetrologyModelApplyMetrologyModelapply_metrology_model

可替代算子

add_metrology_object_genericadd_metrology_object_genericAddMetrologyObjectGenericAddMetrologyObjectGenericAddMetrologyObjectGenericadd_metrology_object_generic

参考其它

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_line_measureadd_metrology_object_line_measureAddMetrologyObjectLineMeasureAddMetrologyObjectLineMeasureAddMetrologyObjectLineMeasureadd_metrology_object_line_measure, add_metrology_object_rectangle2_measureadd_metrology_object_rectangle2_measureAddMetrologyObjectRectangle2MeasureAddMetrologyObjectRectangle2MeasureAddMetrologyObjectRectangle2Measureadd_metrology_object_rectangle2_measure

模块

2D 度量