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
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
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
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