Operator Reference

get_metrology_object_resultT_get_metrology_object_resultGetMetrologyObjectResultGetMetrologyObjectResultget_metrology_object_result (Operator)

get_metrology_object_resultT_get_metrology_object_resultGetMetrologyObjectResultGetMetrologyObjectResultget_metrology_object_result — Get the results of the measurement of a metrology model.

Signature

get_metrology_object_result( : : MetrologyHandle, Index, Instance, GenParamName, GenParamValue : Parameter)

Herror T_get_metrology_object_result(const Htuple MetrologyHandle, const Htuple Index, const Htuple Instance, const Htuple GenParamName, const Htuple GenParamValue, Htuple* Parameter)

void GetMetrologyObjectResult(const HTuple& MetrologyHandle, const HTuple& Index, const HTuple& Instance, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Parameter)

HTuple HMetrologyModel::GetMetrologyObjectResult(const HTuple& Index, const HTuple& Instance, const HTuple& GenParamName, const HTuple& GenParamValue) const

HTuple HMetrologyModel::GetMetrologyObjectResult(Hlong Index, const HString& Instance, const HTuple& GenParamName, const HTuple& GenParamValue) const

HTuple HMetrologyModel::GetMetrologyObjectResult(Hlong Index, const char* Instance, const HTuple& GenParamName, const HTuple& GenParamValue) const

HTuple HMetrologyModel::GetMetrologyObjectResult(Hlong Index, const wchar_t* Instance, const HTuple& GenParamName, const HTuple& GenParamValue) const   ( Windows only)

def get_metrology_object_result(metrology_handle: HHandle, index: MaybeSequence[Union[int, str]], instance: MaybeSequence[Union[int, str]], gen_param_name: Sequence[str], gen_param_value: Sequence[Union[str, float]]) -> Sequence[Union[float, int, str]]

def get_metrology_object_result_s(metrology_handle: HHandle, index: MaybeSequence[Union[int, str]], instance: MaybeSequence[Union[int, str]], gen_param_name: Sequence[str], gen_param_value: Sequence[Union[str, float]]) -> Union[float, int, str]

Description

get_metrology_object_resultget_metrology_object_resultGetMetrologyObjectResultGetMetrologyObjectResultget_metrology_object_result allows to access the results of a measurement obtained by apply_metrology_modelapply_metrology_modelApplyMetrologyModelApplyMetrologyModelapply_metrology_model for the metrology objects of the metrology model MetrologyHandleMetrologyHandleMetrologyHandlemetrologyHandlemetrology_handle.

For an explanation of the concept of 2D metrology see the introduction of chapter 2D Metrology.

The parameter IndexIndexIndexindexindex specifies for which metrology objects the results are queried. For IndexIndexIndexindexindex set to 'all'"all""all""all""all", the results of all metrology objects are returned. With the parameter InstanceInstanceInstanceinstanceinstance it can be specified, which instances of the results are returned in ParameterParameterParameterparameterparameter. The results for all instances are returned by setting InstanceInstanceInstanceinstanceinstance to 'all'"all""all""all""all". Different generic parameters can be used to control the returned values in ParameterParameterParameterparameterparameter. The generic parameter names are passed in GenParamNameGenParamNameGenParamNamegenParamNamegen_param_name. The corresponding values are passed in GenParamValueGenParamValueGenParamValuegenParamValuegen_param_value. The following parameters and values are possible:

'result_type'"result_type""result_type""result_type""result_type":

If GenParamNameGenParamNameGenParamNamegenParamNamegen_param_name is set to 'result_type'"result_type""result_type""result_type""result_type", then GenParamValueGenParamValueGenParamValuegenParamValuegen_param_value allows to control how and what results are returned for a metrology object. All measured parameters of the queried metrology object can be queried at once, specific parameters can be queried individually or the score for the metrology object can be queried.

'Obtaining all parameters':

If GenParamValueGenParamValueGenParamValuegenParamValuegen_param_value is set to 'all_param'"all_param""all_param""all_param""all_param", then all measured parameters of a metrology object are returned. If camera parameters and a pose have been set (see set_metrology_model_paramset_metrology_model_paramSetMetrologyModelParamSetMetrologyModelParamset_metrology_model_param), the results are returned in metric coordinates, otherwise in pixels.

For a circle, the return values are the coordinates of the center and the radius of the circle. The order is ['row'"row""row""row""row", 'column'"column""column""column""column", 'radius'"radius""radius""radius""radius"] or ['x'"x""x""x""x", 'y'"y""y""y""y", 'radius'"radius""radius""radius""radius"] respectively.

For an ellipse, the return values are the coordinates of the center, the orientation of the major axis 'phi'"phi""phi""phi""phi", the length of the larger half axis 'radius1'"radius1""radius1""radius1""radius1", and the length of the smaller half axis 'radius2'"radius2""radius2""radius2""radius2" of the ellipse. The order is ['row'"row""row""row""row", 'column'"column""column""column""column", 'phi'"phi""phi""phi""phi", 'radius1'"radius1""radius1""radius1""radius1", 'radius2'"radius2""radius2""radius2""radius2"] or ['x'"x""x""x""x", 'y'"y""y""y""y", 'phi'"phi""phi""phi""phi", 'radius1'"radius1""radius1""radius1""radius1", 'radius2'"radius2""radius2""radius2""radius2"] respectively.

For a line, the start and end point of the line is returned. The order is ['row_begin'"row_begin""row_begin""row_begin""row_begin", 'column_begin'"column_begin""column_begin""column_begin""column_begin", 'row_end'"row_end""row_end""row_end""row_end", 'column_end'"column_end""column_end""column_end""column_end"] or ['x_begin'"x_begin""x_begin""x_begin""x_begin", 'y_begin'"y_begin""y_begin""y_begin""y_begin", 'x_end'"x_end""x_end""x_end""x_end", 'y_end'"y_end""y_end""y_end""y_end"]

For a rectangle, the return values are the coordinates of the center, the orientation of the main axis 'phi'"phi""phi""phi""phi", the length of the larger half edge 'length1'"length1""length1""length1""length1", and the length of the smaller half edge 'length2'"length2""length2""length2""length2" of the rectangle. The order is ['row'"row""row""row""row", 'column'"column""column""column""column", 'phi'"phi""phi""phi""phi", 'length1'"length1""length1""length1""length1", 'length2'"length2""length2""length2""length2"] or ['x'"x""x""x""x", 'y'"y""y""y""y", 'phi'"phi""phi""phi""phi", 'length1'"length1""length1""length1""length1", 'length2'"length2""length2""length2""length2"] respectively.

'Obtaining specific parameters':

Measured object parameters can also be queried individually by providing the desired parameter name in GenParamNameGenParamNameGenParamNamegenParamNamegen_param_name.

When no camera parameters and no measurement plane are set, the following parameters can be queried individually, depending on whether they are available for the respective object. Note that for lines, additionally the 3 parameters of the hessian normal form can be queried, i.e., the unit normal vector 'nrow'"nrow""nrow""nrow""nrow", 'ncolumn'"ncolumn""ncolumn""ncolumn""ncolumn" and the orthogonal distance 'distance'"distance""distance""distance""distance" of the line from the origin of the coordinate system. The sign of the distance determines the side of the line on which the origin is located.

List of values: 'row'"row""row""row""row", 'column'"column""column""column""column", 'radius'"radius""radius""radius""radius", 'phi'"phi""phi""phi""phi" , 'radius1'"radius1""radius1""radius1""radius1", 'radius2'"radius2""radius2""radius2""radius2", 'length1'"length1""length1""length1""length1", 'length2'"length2""length2""length2""length2", 'row_begin'"row_begin""row_begin""row_begin""row_begin", 'column_begin'"column_begin""column_begin""column_begin""column_begin", 'row_end'"row_end""row_end""row_end""row_end", 'column_end'"column_end""column_end""column_end""column_end", 'nrow'"nrow""nrow""nrow""nrow", 'ncolumn'"ncolumn""ncolumn""ncolumn""ncolumn", 'distance'"distance""distance""distance""distance"

If camera parameters and a measurement plane was set, the parameters are returned in metric coordinates, the following parameters can be queried individually, depending on whether they are available for the respective object. Note that for lines, additionally the 3 parameters of the hessian normal form can be queried, i.e., the unit normal vector 'nx'"nx""nx""nx""nx", 'ny'"ny""ny""ny""ny" and the orthogonal distance 'distance'"distance""distance""distance""distance" of the line from the origin of the coordinate system. The sign of the distance determines the side of the line on which the origin is located.

List of values: 'x'"x""x""x""x", 'y'"y""y""y""y", 'radius'"radius""radius""radius""radius", 'phi'"phi""phi""phi""phi" , 'radius1'"radius1""radius1""radius1""radius1", 'radius2'"radius2""radius2""radius2""radius2", 'length1'"length1""length1""length1""length1", 'length2'"length2""length2""length2""length2", 'radius1'"radius1""radius1""radius1""radius1", 'radius2'"radius2""radius2""radius2""radius2", 'length1'"length1""length1""length1""length1", 'length2'"length2""length2""length2""length2", 'x_begin'"x_begin""x_begin""x_begin""x_begin", 'y_begin'"y_begin""y_begin""y_begin""y_begin", 'x_end'"x_end""x_end""x_end""x_end", 'y_end'"y_end""y_end""y_end""y_end", 'nx'"nx""nx""nx""nx", 'ny'"ny""ny""ny""ny", 'distance'"distance""distance""distance""distance"

'Obtaining the score':

If GenParamNameGenParamNameGenParamNamegenParamNamegen_param_name is set to the 'score'"score""score""score""score", the fitting scores are returned. The score represents the number of measurements that are used for the calculation of the results divided by the maximum number of measure regions.

'used_edges'"used_edges""used_edges""used_edges""used_edges":

To query the edge points, that were actually used for a fitted metrology object, you can choose between following values for GenParamValueGenParamValueGenParamValuegenParamValuegen_param_value:

'row'"row""row""row""row":

Return the row coordinate of the edges that were used to fit the metrology object.

'column'"column""column""column""column":

Return the column coordinate of the edges that were used to fit the metrology object.

'amplitude'"amplitude""amplitude""amplitude""amplitude":

Return the edge amplitude of the edges that were used to fit the metrology object.

List of values: 'row'"row""row""row""row", 'column'"column""column""column""column", 'amplitude'"amplitude""amplitude""amplitude""amplitude"

'angle_direction'"angle_direction""angle_direction""angle_direction""angle_direction":

The parameter determines the rotation direction for angles that result from the fitting. Setting the parameter 'angle_direction'"angle_direction""angle_direction""angle_direction""angle_direction" to 'positive'"positive""positive""positive""positive" the angle is specified between the main axis of the object and the horizontal axis of the coordinate system in the mathematically positive direction (counterclockwise). Setting the parameter 'angle_direction'"angle_direction""angle_direction""angle_direction""angle_direction" to 'negative'"negative""negative""negative""negative" the angle is specified between the main axis of the object and the horizontal axis of the coordinate system in the mathematically negative direction (clockwise). The results of the angles are returned in radians.

List of values: 'positive'"positive""positive""positive""positive", 'negative'"negative""negative""negative""negative"

Default: 'positive'"positive""positive""positive""positive"

It is possible to query the results of several metrology objects (see the parameter IndexIndexIndexindexindex) and several instances (see the parameter InstanceInstanceInstanceinstanceinstance) of the metrology objects simultaneously. The results are returned in the following order in ParameterParameterParameterparameterparameter: 1st instance of 1st metrology object, 2nd instance of 1st metrology object, etc., 1st instance of 2nd metrology object, 2nd instance of 2nd metrology object, etc.

Execution Information

  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).
  • Multithreading scope: global (may be called from any thread).
  • Processed without parallelization.

Parameters

MetrologyHandleMetrologyHandleMetrologyHandlemetrologyHandlemetrology_handle (input_control)  metrology_model HMetrologyModel, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle of the metrology model.

IndexIndexIndexindexindex (input_control)  integer(-array) HTupleMaybeSequence[Union[int, str]]HTupleHtuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*)

Index of the metrology object.

Default: 0

Suggested values: 'all'"all""all""all""all", 0, 1, 2

InstanceInstanceInstanceinstanceinstance (input_control)  integer(-array) HTupleMaybeSequence[Union[int, str]]HTupleHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong)

Instance of the metrology object.

Default: 'all' "all" "all" "all" "all"

Suggested values: 'all'"all""all""all""all", 0, 1, 2

GenParamNameGenParamNameGenParamNamegenParamNamegen_param_name (input_control)  attribute.name-array HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)

Name of the generic parameter.

Default: 'result_type' "result_type" "result_type" "result_type" "result_type"

List of values: 'angle_direction'"angle_direction""angle_direction""angle_direction""angle_direction", 'result_type'"result_type""result_type""result_type""result_type", 'used_edges'"used_edges""used_edges""used_edges""used_edges"

GenParamValueGenParamValueGenParamValuegenParamValuegen_param_value (input_control)  attribute.value-array HTupleSequence[Union[str, float]]HTupleHtuple (string / real) (string / double) (HString / double) (char* / double)

Value of the generic parameter.

Default: 'all_param' "all_param" "all_param" "all_param" "all_param"

Suggested values: 'all_param'"all_param""all_param""all_param""all_param", 'score'"score""score""score""score", 'true'"true""true""true""true", 'false'"false""false""false""false", 'row'"row""row""row""row", 'column'"column""column""column""column", 'amplitude'"amplitude""amplitude""amplitude""amplitude", 'radius'"radius""radius""radius""radius", 'phi'"phi""phi""phi""phi", 'radius1'"radius1""radius1""radius1""radius1", 'radius2'"radius2""radius2""radius2""radius2", 'length1'"length1""length1""length1""length1", 'length2'"length2""length2""length2""length2", 'row_begin'"row_begin""row_begin""row_begin""row_begin", 'column_begin'"column_begin""column_begin""column_begin""column_begin", 'row_end'"row_end""row_end""row_end""row_end", 'column_end'"column_end""column_end""column_end""column_end", 'nrow'"nrow""nrow""nrow""nrow", 'ncolumn'"ncolumn""ncolumn""ncolumn""ncolumn", 'distance'"distance""distance""distance""distance", 'x'"x""x""x""x", 'y'"y""y""y""y", 'x_begin'"x_begin""x_begin""x_begin""x_begin", 'y_begin'"y_begin""y_begin""y_begin""y_begin", 'x_end'"x_end""x_end""x_end""x_end", 'y_end'"y_end""y_end""y_end""y_end", 'nx'"nx""nx""nx""nx", 'ny'"ny""ny""ny""ny", 'positive'"positive""positive""positive""positive", 'negative'"negative""negative""negative""negative"

ParameterParameterParameterparameterparameter (output_control)  real(-array) HTupleSequence[Union[float, int, str]]HTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)

Result values.

Result

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

Possible Predecessors

apply_metrology_modelapply_metrology_modelApplyMetrologyModelApplyMetrologyModelapply_metrology_model

Possible Successors

clear_metrology_modelclear_metrology_modelClearMetrologyModelClearMetrologyModelclear_metrology_model

See also

get_metrology_object_result_contourget_metrology_object_result_contourGetMetrologyObjectResultContourGetMetrologyObjectResultContourget_metrology_object_result_contour, get_metrology_object_measuresget_metrology_object_measuresGetMetrologyObjectMeasuresGetMetrologyObjectMeasuresget_metrology_object_measures

Module

2D Metrology