get_surface_matching_resultT_get_surface_matching_resultGetSurfaceMatchingResultGetSurfaceMatchingResult (Operator)

Name

get_surface_matching_resultT_get_surface_matching_resultGetSurfaceMatchingResultGetSurfaceMatchingResult — Get details of a result from surface based matching.

Signature

get_surface_matching_result( : : SurfaceMatchingResultID, ResultName, ResultIndex : ResultValue)

Herror T_get_surface_matching_result(const Htuple SurfaceMatchingResultID, const Htuple ResultName, const Htuple ResultIndex, Htuple* ResultValue)

void GetSurfaceMatchingResult(const HTuple& SurfaceMatchingResultID, const HTuple& ResultName, const HTuple& ResultIndex, HTuple* ResultValue)

HTuple HSurfaceMatchingResult::GetSurfaceMatchingResult(const HTuple& ResultName, Hlong ResultIndex) const

HTuple HSurfaceMatchingResult::GetSurfaceMatchingResult(const HString& ResultName, Hlong ResultIndex) const

HTuple HSurfaceMatchingResult::GetSurfaceMatchingResult(const char* ResultName, Hlong ResultIndex) const

HTuple HSurfaceMatchingResult::GetSurfaceMatchingResult(const wchar_t* ResultName, Hlong ResultIndex) const   (Windows only)

static void HOperatorSet.GetSurfaceMatchingResult(HTuple surfaceMatchingResultID, HTuple resultName, HTuple resultIndex, out HTuple resultValue)

HTuple HSurfaceMatchingResult.GetSurfaceMatchingResult(HTuple resultName, int resultIndex)

HTuple HSurfaceMatchingResult.GetSurfaceMatchingResult(string resultName, int resultIndex)

Description

The operator get_surface_matching_resultget_surface_matching_resultGetSurfaceMatchingResultGetSurfaceMatchingResultGetSurfaceMatchingResult returns details about the results of surface based matching or the surface pose refinement. The results are stored in SurfaceMatchingResultIDSurfaceMatchingResultIDSurfaceMatchingResultIDSurfaceMatchingResultIDsurfaceMatchingResultID, which must have been created by find_surface_modelfind_surface_modelFindSurfaceModelFindSurfaceModelFindSurfaceModel or refine_surface_model_poserefine_surface_model_poseRefineSurfaceModelPoseRefineSurfaceModelPoseRefineSurfaceModelPose.

The parameter ResultNameResultNameResultNameResultNameresultName is used to select which result detail shall be returned. If details about one of the results shall be retrieved, ResultIndexResultIndexResultIndexResultIndexresultIndex selects the result index, where 0 selects the first result. ResultIndexResultIndexResultIndexResultIndexresultIndex is ignored for certain values of ResultNameResultNameResultNameResultNameresultName.

The following values are possible for ResultNameResultNameResultNameResultNameresultName if SurfaceMatchingResultIDSurfaceMatchingResultIDSurfaceMatchingResultIDSurfaceMatchingResultIDsurfaceMatchingResultID was created by find_surface_modelfind_surface_modelFindSurfaceModelFindSurfaceModelFindSurfaceModel or find_surface_model_imagefind_surface_model_imageFindSurfaceModelImageFindSurfaceModelImageFindSurfaceModelImage:

'sampled_scene'"sampled_scene""sampled_scene""sampled_scene""sampled_scene":

A 3D object model handle is returned that contains the sampled scene points that were used in the approximate matching step. This is helpful for tuning the sampling distance for the matching (see parameter RelSamplingDistance of operator find_surface_modelfind_surface_modelFindSurfaceModelFindSurfaceModelFindSurfaceModel). The parameter ResultIndexResultIndexResultIndexResultIndexresultIndex is ignored.

'key_points'"key_points""key_points""key_points""key_points":

A 3D object model handle is returned that contains all points from the 3D scene that were used as key points in the matching process. This is helpful for tuning the sampling distance and key point rate for the matching (see parameter KeyPointFraction of operator find_surface_modelfind_surface_modelFindSurfaceModelFindSurfaceModelFindSurfaceModel). The parameter ResultIndexResultIndexResultIndexResultIndexresultIndex is ignored. At least 10 key points should be on the object of interest for stable results.

'score_unrefined'"score_unrefined""score_unrefined""score_unrefined""score_unrefined":

The score of the result before the dense pose refinement is returned. If the sparse pose refinement was disabled, this is the score of the approximate matching. Otherwise the score of the sparse pose refinement is returned. See find_surface_modelfind_surface_modelFindSurfaceModelFindSurfaceModelFindSurfaceModel for details about the score. In ResultIndexResultIndexResultIndexResultIndexresultIndex the index of the result must be specified. If SurfaceMatchingResultIDSurfaceMatchingResultIDSurfaceMatchingResultIDSurfaceMatchingResultIDsurfaceMatchingResultID was created by refine_surface_model_poserefine_surface_model_poseRefineSurfaceModelPoseRefineSurfaceModelPoseRefineSurfaceModelPose, 0 is returned.

'sampled_3d_edges'"sampled_3d_edges""sampled_3d_edges""sampled_3d_edges""sampled_3d_edges":

If the surface model was trained with 'train_3d_edges'"train_3d_edges""train_3d_edges""train_3d_edges""train_3d_edges" enabled, a 3D object model handle is returned that contains the sampled 3D edge points that were used in the approximate matching step and in the sparse refinement step. The parameter ResultIndexResultIndexResultIndexResultIndexresultIndex is ignored.

The following values are always possible for ResultNameResultNameResultNameResultNameresultName, regardless the operator SurfaceMatchingResultIDSurfaceMatchingResultIDSurfaceMatchingResultIDSurfaceMatchingResultIDsurfaceMatchingResultID was created with:

'pose'"pose""pose""pose""pose":

Returns the pose of the matching or refinement result. In ResultIndexResultIndexResultIndexResultIndexresultIndex the index of the result must be specified.

'score_refined'"score_refined""score_refined""score_refined""score_refined":

Returns the score of the result after the dense pose refinement. See find_surface_modelfind_surface_modelFindSurfaceModelFindSurfaceModelFindSurfaceModel for details about this score. In ResultIndexResultIndexResultIndexResultIndexresultIndex the index of the result must be specified. If SurfaceMatchingResultIDSurfaceMatchingResultIDSurfaceMatchingResultIDSurfaceMatchingResultIDsurfaceMatchingResultID was created by find_surface_modelfind_surface_modelFindSurfaceModelFindSurfaceModelFindSurfaceModel and dense pose refinement was disabled, 0 is returned.

'score'"score""score""score""score":

Returns the combined score of the result indexed in ResultIndexResultIndexResultIndexResultIndexresultIndex, thus this parameter is equal to ScoreScoreScoreScorescore returned in find_surface_modelfind_surface_modelFindSurfaceModelFindSurfaceModelFindSurfaceModel.

'score_surface'"score_surface""score_surface""score_surface""score_surface":

Returns the surface-based score of the result indexed in ResultIndexResultIndexResultIndexResultIndexresultIndex. If not specifically set otherwise, this score is equal to 'score_refined'"score_refined""score_refined""score_refined""score_refined".

'score_3d_edges'"score_3d_edges""score_3d_edges""score_3d_edges""score_3d_edges":

Returns the 3D edge score of the result indexed in ResultIndexResultIndexResultIndexResultIndexresultIndex. This score is only applicable for edged-supported surface-based matching.

'score_2d_edges'"score_2d_edges""score_2d_edges""score_2d_edges""score_2d_edges":

Returns the 2D edge score of the result indexed in ResultIndexResultIndexResultIndexResultIndexresultIndex. This score is only applicable for edged-supported surface-based matching.

'all_scores'"all_scores""all_scores""all_scores""all_scores":

Returns for the result indexed in ResultIndexResultIndexResultIndexResultIndexresultIndex the values of the four scores 'score'"score""score""score""score", 'score_surface'"score_surface""score_surface""score_surface""score_surface", 'score_3d_edges'"score_3d_edges""score_3d_edges""score_3d_edges""score_3d_edges", and 'score_2d_edges'"score_2d_edges""score_2d_edges""score_2d_edges""score_2d_edges". Thereby the scores have the same order as the thresholds given through the parameter MinScoreMinScoreMinScoreMinScoreminScore in the matching and refinement operators.

Execution Information

Parameters

SurfaceMatchingResultIDSurfaceMatchingResultIDSurfaceMatchingResultIDSurfaceMatchingResultIDsurfaceMatchingResultID (input_control)  surface_matching_result HSurfaceMatchingResult, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle of the surface matching result.

ResultNameResultNameResultNameResultNameresultName (input_control)  string(-array) HTupleHTupleHtuple (string) (string) (HString) (char*)

Name of the result property.

Default value: 'pose' "pose" "pose" "pose" "pose"

List of values: 'all_scores'"all_scores""all_scores""all_scores""all_scores", 'key_points'"key_points""key_points""key_points""key_points", 'pose'"pose""pose""pose""pose", 'sampled_3d_edges'"sampled_3d_edges""sampled_3d_edges""sampled_3d_edges""sampled_3d_edges", 'sampled_scene'"sampled_scene""sampled_scene""sampled_scene""sampled_scene", 'score'"score""score""score""score", 'score_2d_edges'"score_2d_edges""score_2d_edges""score_2d_edges""score_2d_edges", 'score_3d_edges'"score_3d_edges""score_3d_edges""score_3d_edges""score_3d_edges", 'score_refined'"score_refined""score_refined""score_refined""score_refined", 'score_surface'"score_surface""score_surface""score_surface""score_surface", 'score_unrefined'"score_unrefined""score_unrefined""score_unrefined""score_unrefined"

ResultIndexResultIndexResultIndexResultIndexresultIndex (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Index of the matching result, starting with 0.

Default value: 0

Suggested values: 0, 1, 2, 3

Restriction: ResultIndex >= 0

ResultValueResultValueResultValueResultValueresultValue (output_control)  integer(-array) HTupleHTupleHtuple (integer / string / real / handle) (int / long / string / double / HHandle) (Hlong / HString / double / HHandle) (Hlong / char* / double / handle)

Value of the result property.

Result

If the handle of the result is valid, the operator get_surface_matching_resultget_surface_matching_resultGetSurfaceMatchingResultGetSurfaceMatchingResultGetSurfaceMatchingResult returns the value 2 (H_MSG_TRUE). If necessary an exception is raised.

Possible Predecessors

find_surface_modelfind_surface_modelFindSurfaceModelFindSurfaceModelFindSurfaceModel, refine_surface_model_poserefine_surface_model_poseRefineSurfaceModelPoseRefineSurfaceModelPoseRefineSurfaceModelPose

Possible Successors

clear_surface_modelclear_surface_modelClearSurfaceModelClearSurfaceModelClearSurfaceModel

See also

find_surface_modelfind_surface_modelFindSurfaceModelFindSurfaceModelFindSurfaceModel, refine_surface_model_poserefine_surface_model_poseRefineSurfaceModelPoseRefineSurfaceModelPoseRefineSurfaceModelPose, read_surface_modelread_surface_modelReadSurfaceModelReadSurfaceModelReadSurfaceModel, write_surface_modelwrite_surface_modelWriteSurfaceModelWriteSurfaceModelWriteSurfaceModel, clear_surface_modelclear_surface_modelClearSurfaceModelClearSurfaceModelClearSurfaceModel

Module

3D Metrology