ClassesClassesClassesClasses | | | | Operators

add_metrology_object_rectangle2_measureT_add_metrology_object_rectangle2_measureAddMetrologyObjectRectangle2Measureadd_metrology_object_rectangle2_measureAddMetrologyObjectRectangle2MeasureAddMetrologyObjectRectangle2Measure (Operator)

Name

add_metrology_object_rectangle2_measureT_add_metrology_object_rectangle2_measureAddMetrologyObjectRectangle2Measureadd_metrology_object_rectangle2_measureAddMetrologyObjectRectangle2MeasureAddMetrologyObjectRectangle2Measure — Add a rectangle to a metrology model.

Signature

add_metrology_object_rectangle2_measure( : : MetrologyHandle, Row, Column, Phi, Length1, Length2, MeasureLength1, MeasureLength2, MeasureSigma, MeasureThreshold, GenParamName, GenParamValue : Index)

Herror T_add_metrology_object_rectangle2_measure(const Htuple MetrologyHandle, const Htuple Row, const Htuple Column, const Htuple Phi, const Htuple Length1, const Htuple Length2, const Htuple MeasureLength1, const Htuple MeasureLength2, const Htuple MeasureSigma, const Htuple MeasureThreshold, const Htuple GenParamName, const Htuple GenParamValue, Htuple* Index)

Herror add_metrology_object_rectangle2_measure(const HTuple& MetrologyHandle, const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Length1, const HTuple& Length2, const HTuple& MeasureLength1, const HTuple& MeasureLength2, const HTuple& MeasureSigma, const HTuple& MeasureThreshold, const HTuple& GenParamName, const HTuple& GenParamValue, Hlong* Index)

Hlong HMetrologyModel::AddMetrologyObjectRectangle2Measure(const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Length1, const HTuple& Length2, const HTuple& MeasureLength1, const HTuple& MeasureLength2, const HTuple& MeasureSigma, const HTuple& MeasureThreshold, const HTuple& GenParamName, const HTuple& GenParamValue) const

void AddMetrologyObjectRectangle2Measure(const HTuple& MetrologyHandle, const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Length1, const HTuple& Length2, const HTuple& MeasureLength1, const HTuple& MeasureLength2, const HTuple& MeasureSigma, const HTuple& MeasureThreshold, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Index)

Hlong HMetrologyModel::AddMetrologyObjectRectangle2Measure(const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Length1, const HTuple& Length2, const HTuple& MeasureLength1, const HTuple& MeasureLength2, const HTuple& MeasureSigma, const HTuple& MeasureThreshold, const HTuple& GenParamName, const HTuple& GenParamValue) const

Hlong HMetrologyModel::AddMetrologyObjectRectangle2Measure(double Row, double Column, double Phi, double Length1, double Length2, double MeasureLength1, double MeasureLength2, double MeasureSigma, double MeasureThreshold, const HTuple& GenParamName, const HTuple& GenParamValue) const

void HOperatorSetX.AddMetrologyObjectRectangle2Measure(
[in] VARIANT MetrologyHandle, [in] VARIANT Row, [in] VARIANT Column, [in] VARIANT Phi, [in] VARIANT Length1, [in] VARIANT Length2, [in] VARIANT MeasureLength1, [in] VARIANT MeasureLength2, [in] VARIANT MeasureSigma, [in] VARIANT MeasureThreshold, [in] VARIANT GenParamName, [in] VARIANT GenParamValue, [out] VARIANT* Index)

Hlong HMetrologyModelX.AddMetrologyObjectRectangle2Measure(
[in] VARIANT Row, [in] VARIANT Column, [in] VARIANT Phi, [in] VARIANT Length1, [in] VARIANT Length2, [in] VARIANT MeasureLength1, [in] VARIANT MeasureLength2, [in] VARIANT MeasureSigma, [in] VARIANT MeasureThreshold, [in] VARIANT GenParamName, [in] VARIANT GenParamValue)

static void HOperatorSet.AddMetrologyObjectRectangle2Measure(HTuple metrologyHandle, HTuple row, HTuple column, HTuple phi, HTuple length1, HTuple length2, HTuple measureLength1, HTuple measureLength2, HTuple measureSigma, HTuple measureThreshold, HTuple genParamName, HTuple genParamValue, out HTuple index)

int HMetrologyModel.AddMetrologyObjectRectangle2Measure(HTuple row, HTuple column, HTuple phi, HTuple length1, HTuple length2, HTuple measureLength1, HTuple measureLength2, HTuple measureSigma, HTuple measureThreshold, HTuple genParamName, HTuple genParamValue)

int HMetrologyModel.AddMetrologyObjectRectangle2Measure(double row, double column, double phi, double length1, double length2, double measureLength1, double measureLength2, double measureSigma, double measureThreshold, HTuple genParamName, HTuple genParamValue)

Description

add_metrology_object_rectangle2_measureadd_metrology_object_rectangle2_measureAddMetrologyObjectRectangle2Measureadd_metrology_object_rectangle2_measureAddMetrologyObjectRectangle2MeasureAddMetrologyObjectRectangle2Measure adds a metrology object of type rectangle to a metrology model and prepares the rectangular measure regions. The handle of the model is passed in MetrologyHandleMetrologyHandleMetrologyHandleMetrologyHandleMetrologyHandlemetrologyHandle.

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 rectangle is specified by its center (RowRowRowRowRowrow, ColumnColumnColumnColumnColumncolumn), the orientation of the main axis PhiPhiPhiPhiPhiphi, and the half edge lengths Length1Length1Length1Length1Length1length1 and Length2Length2Length2Length2Length2length2. The input value for PhiPhiPhiPhiPhiphi is mapped automatically to the interval . The rectangular measure regions lie perpendicular to the boundary of the rectangle. The half edge lengths of the measure regions perpendicular and tangential to the boundary of the rectangle are set in MeasureLength1MeasureLength1MeasureLength1MeasureLength1MeasureLength1measureLength1 and MeasureLength2MeasureLength2MeasureLength2MeasureLength2MeasureLength2measureLength2. The centers of the measure regions lie on the boundary of the rectangle. 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.

Furthermore, you can adjust some generic parameters within GenParamNameGenParamNameGenParamNameGenParamNameGenParamNamegenParamName and GenParamValueGenParamValueGenParamValueGenParamValueGenParamValuegenParamValue. In particular, all generic parameters that are available in 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.

The operator add_metrology_object_rectangle2_measureadd_metrology_object_rectangle2_measureAddMetrologyObjectRectangle2Measureadd_metrology_object_rectangle2_measureAddMetrologyObjectRectangle2MeasureAddMetrologyObjectRectangle2Measure returns the index of the added metrology object within the metrology model in the parameter IndexIndexIndexIndexIndexindex.

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

MetrologyHandleMetrologyHandleMetrologyHandleMetrologyHandleMetrologyHandlemetrologyHandle (input_control, state is modified)  metrology_model HMetrologyModel, HTupleHTupleHMetrologyModel, HTupleHMetrologyModelX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handle of the metrology model.

RowRowRowRowRowrow (input_control)  rectangle2.center.y(-array) HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

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

ColumnColumnColumnColumnColumncolumn (input_control)  rectangle2.center.x(-array) HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

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

PhiPhiPhiPhiPhiphi (input_control)  rectangle2.angle.rad(-array) HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Orientation of the main axis [rad].

Length1Length1Length1Length1Length1length1 (input_control)  rectangle2.hwidth(-array) HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Length of the larger half edge of the rectangle.

Length2Length2Length2Length2Length2length2 (input_control)  rectangle2.hheight(-array) HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Length of the smaller half edge of the rectangle.

MeasureLength1MeasureLength1MeasureLength1MeasureLength1MeasureLength1measureLength1 (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (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 measureLength1

Minimum increment: 1.0

Recommended increment: 10.0

Restriction: MeasureLength1 < Length1 && MeasureLength1 < Length2

MeasureLength2MeasureLength2MeasureLength2MeasureLength2MeasureLength2measureLength2 (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (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 measureLength2

Minimum increment: 1.0

Recommended increment: 10.0

MeasureSigmaMeasureSigmaMeasureSigmaMeasureSigmaMeasureSigmameasureSigma (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (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 measureSigma

Minimum increment: 0.01

Recommended increment: 0.1

Restriction: 0.4 <= MeasureSigma && MeasureSigma <= 100

MeasureThresholdMeasureThresholdMeasureThresholdMeasureThresholdMeasureThresholdmeasureThreshold (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (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 measureThreshold ≤ 255 (lin)

Minimum increment: 0.5

Recommended increment: 2

GenParamNameGenParamNameGenParamNameGenParamNameGenParamNamegenParamName (input_control)  attribute.name-array HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Names of the generic parameters.

Default value: []

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

GenParamValueGenParamValueGenParamValueGenParamValueGenParamValuegenParamValue (input_control)  attribute.value-array HTupleHTupleHTupleVARIANTHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*) (double / Hlong / BSTR) (double / Hlong / char*)

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"

IndexIndexIndexIndexIndexindex (output_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Index of the created metrology object.

Result

If the parameters are valid, the operator add_metrology_object_rectangle2_measureadd_metrology_object_rectangle2_measureAddMetrologyObjectRectangle2Measureadd_metrology_object_rectangle2_measureAddMetrologyObjectRectangle2MeasureAddMetrologyObjectRectangle2Measure returns the value 2 (H_MSG_TRUE). If necessary, an exception is raised.

Possible Predecessors

set_metrology_model_image_sizeset_metrology_model_image_sizeSetMetrologyModelImageSizeset_metrology_model_image_sizeSetMetrologyModelImageSizeSetMetrologyModelImageSize

Possible Successors

align_metrology_modelalign_metrology_modelAlignMetrologyModelalign_metrology_modelAlignMetrologyModelAlignMetrologyModel, apply_metrology_modelapply_metrology_modelApplyMetrologyModelapply_metrology_modelApplyMetrologyModelApplyMetrologyModel

Alternatives

add_metrology_object_genericadd_metrology_object_genericAddMetrologyObjectGenericadd_metrology_object_genericAddMetrologyObjectGenericAddMetrologyObjectGeneric

See also

get_metrology_object_model_contourget_metrology_object_model_contourGetMetrologyObjectModelContourget_metrology_object_model_contourGetMetrologyObjectModelContourGetMetrologyObjectModelContour, set_metrology_model_paramset_metrology_model_paramSetMetrologyModelParamset_metrology_model_paramSetMetrologyModelParamSetMetrologyModelParam, add_metrology_object_circle_measureadd_metrology_object_circle_measureAddMetrologyObjectCircleMeasureadd_metrology_object_circle_measureAddMetrologyObjectCircleMeasureAddMetrologyObjectCircleMeasure, 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

Module

2D Metrology


ClassesClassesClassesClasses | | | | Operators