Operator Reference

get_surface_matching_resultT_get_surface_matching_resultGetSurfaceMatchingResultGetSurfaceMatchingResultget_surface_matching_result (Operator)

get_surface_matching_resultT_get_surface_matching_resultGetSurfaceMatchingResultGetSurfaceMatchingResultget_surface_matching_result — 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)

def get_surface_matching_result(surface_matching_result_id: HHandle, result_name: MaybeSequence[str], result_index: int) -> Sequence[HTupleElementType]

def get_surface_matching_result_s(surface_matching_result_id: HHandle, result_name: MaybeSequence[str], result_index: int) -> HTupleElementType

Description

The operator get_surface_matching_resultget_surface_matching_resultGetSurfaceMatchingResultGetSurfaceMatchingResultget_surface_matching_result returns details about the results of surface based matching or the surface pose refinement. The results are stored in SurfaceMatchingResultIDSurfaceMatchingResultIDSurfaceMatchingResultIDsurfaceMatchingResultIDsurface_matching_result_id, which must have been created by find_surface_modelfind_surface_modelFindSurfaceModelFindSurfaceModelfind_surface_model or refine_surface_model_poserefine_surface_model_poseRefineSurfaceModelPoseRefineSurfaceModelPoserefine_surface_model_pose.

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

The following values are possible for ResultNameResultNameResultNameresultNameresult_name if SurfaceMatchingResultIDSurfaceMatchingResultIDSurfaceMatchingResultIDsurfaceMatchingResultIDsurface_matching_result_id was created by find_surface_modelfind_surface_modelFindSurfaceModelFindSurfaceModelfind_surface_model or find_surface_model_imagefind_surface_model_imageFindSurfaceModelImageFindSurfaceModelImagefind_surface_model_image:

'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_modelFindSurfaceModelFindSurfaceModelfind_surface_model). The parameter ResultIndexResultIndexResultIndexresultIndexresult_index 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_modelFindSurfaceModelFindSurfaceModelfind_surface_model). The parameter ResultIndexResultIndexResultIndexresultIndexresult_index 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_modelFindSurfaceModelFindSurfaceModelfind_surface_model for details about the score. In ResultIndexResultIndexResultIndexresultIndexresult_index the index of the result must be specified. If SurfaceMatchingResultIDSurfaceMatchingResultIDSurfaceMatchingResultIDsurfaceMatchingResultIDsurface_matching_result_id was created by refine_surface_model_poserefine_surface_model_poseRefineSurfaceModelPoseRefineSurfaceModelPoserefine_surface_model_pose, 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 ResultIndexResultIndexResultIndexresultIndexresult_index is ignored.

The following values are always possible for ResultNameResultNameResultNameresultNameresult_name, regardless the operator SurfaceMatchingResultIDSurfaceMatchingResultIDSurfaceMatchingResultIDsurfaceMatchingResultIDsurface_matching_result_id was created with:

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

Returns the pose of the matching or refinement result. In ResultIndexResultIndexResultIndexresultIndexresult_index 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_modelFindSurfaceModelFindSurfaceModelfind_surface_model for details about this score. In ResultIndexResultIndexResultIndexresultIndexresult_index the index of the result must be specified. If SurfaceMatchingResultIDSurfaceMatchingResultIDSurfaceMatchingResultIDsurfaceMatchingResultIDsurface_matching_result_id was created by find_surface_modelfind_surface_modelFindSurfaceModelFindSurfaceModelfind_surface_model and dense pose refinement was disabled, 0 is returned.

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

Returns the combined score of the result indexed in ResultIndexResultIndexResultIndexresultIndexresult_index, thus this parameter is equal to ScoreScoreScorescorescore returned in find_surface_modelfind_surface_modelFindSurfaceModelFindSurfaceModelfind_surface_model.

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

Returns the surface-based score of the result indexed in ResultIndexResultIndexResultIndexresultIndexresult_index. 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 ResultIndexResultIndexResultIndexresultIndexresult_index. 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 ResultIndexResultIndexResultIndexresultIndexresult_index. This score is only applicable for edged-supported surface-based matching.

'score_view_based'"score_view_based""score_view_based""score_view_based""score_view_based":

Returns the view-based score of the result indexed in ResultIndexResultIndexResultIndexresultIndexresult_index. This score is only applicable if the surface model supports view-based score computation.

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

Returns for the result indexed in ResultIndexResultIndexResultIndexresultIndexresult_index the values of the five 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", 'score_2d_edges'"score_2d_edges""score_2d_edges""score_2d_edges""score_2d_edges", and 'score_view_based'"score_view_based""score_view_based""score_view_based""score_view_based". Thereby the scores have the same order as the thresholds given through the parameter MinScoreMinScoreMinScoreminScoremin_score in the matching and refinement operators.

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

SurfaceMatchingResultIDSurfaceMatchingResultIDSurfaceMatchingResultIDsurfaceMatchingResultIDsurface_matching_result_id (input_control)  surface_matching_result HSurfaceMatchingResult, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle of the surface matching result.

ResultNameResultNameResultNameresultNameresult_name (input_control)  string(-array) HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)

Name of the result property.

Default: '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", 'score_view_based'"score_view_based""score_view_based""score_view_based""score_view_based"

ResultIndexResultIndexResultIndexresultIndexresult_index (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Index of the matching result, starting with 0.

Default: 0

Suggested values: 0, 1, 2, 3

Restriction: ResultIndex >= 0

ResultValueResultValueResultValueresultValueresult_value (output_control)  integer(-array) HTupleSequence[HTupleElementType]HTupleHtuple (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_resultGetSurfaceMatchingResultGetSurfaceMatchingResultget_surface_matching_result returns the value 2 ( H_MSG_TRUE) . If necessary an exception is raised.

Possible Predecessors

find_surface_modelfind_surface_modelFindSurfaceModelFindSurfaceModelfind_surface_model, refine_surface_model_poserefine_surface_model_poseRefineSurfaceModelPoseRefineSurfaceModelPoserefine_surface_model_pose

Possible Successors

clear_surface_modelclear_surface_modelClearSurfaceModelClearSurfaceModelclear_surface_model

See also

find_surface_modelfind_surface_modelFindSurfaceModelFindSurfaceModelfind_surface_model, refine_surface_model_poserefine_surface_model_poseRefineSurfaceModelPoseRefineSurfaceModelPoserefine_surface_model_pose, read_surface_modelread_surface_modelReadSurfaceModelReadSurfaceModelread_surface_model, write_surface_modelwrite_surface_modelWriteSurfaceModelWriteSurfaceModelwrite_surface_model, clear_surface_modelclear_surface_modelClearSurfaceModelClearSurfaceModelclear_surface_model

Module

3D Metrology