Skip to content

get_surface_model_paramGetSurfaceModelParamGetSurfaceModelParamget_surface_model_paramT_get_surface_model_param🔗

Short description🔗

get_surface_model_paramGetSurfaceModelParamGetSurfaceModelParamget_surface_model_paramT_get_surface_model_param — Return the parameters and properties of a surface model.

Signature🔗

get_surface_model_param( surface_model SurfaceModelID, attribute.name GenParamName, out attribute.value GenParamValue )void GetSurfaceModelParam( const HTuple& SurfaceModelID, const HTuple& GenParamName, HTuple* GenParamValue )static void HOperatorSet.GetSurfaceModelParam( HTuple surfaceModelID, HTuple genParamName, out HTuple genParamValue )def get_surface_model_param( surface_model_id: HHandle, gen_param_name: MaybeSequence[str] ) -> Sequence[HTupleElementType]

def get_surface_model_param_s( surface_model_id: HHandle, gen_param_name: MaybeSequence[str] ) -> HTupleElementTypeHerror T_get_surface_model_param( const Htuple SurfaceModelID, const Htuple GenParamName, Htuple* GenParamValue )

HTuple HSurfaceModel::GetSurfaceModelParam( const HTuple& GenParamName ) const

HTuple HSurfaceModel::GetSurfaceModelParam( const HString& GenParamName ) const

HTuple HSurfaceModel::GetSurfaceModelParam( const char* GenParamName ) const

HTuple HSurfaceModel::GetSurfaceModelParam( const wchar_t* GenParamName ) const (Windows only)

HTuple HSurfaceModel.GetSurfaceModelParam( HTuple genParamName )

HTuple HSurfaceModel.GetSurfaceModelParam( string genParamName )

Description🔗

The operator get_surface_model_paramGetSurfaceModelParam returns parameters and properties of the surface model SurfaceModelIDsurfaceModelIDsurface_model_id. The surface model must have been created by create_surface_modelCreateSurfaceModel or read_surface_modelReadSurfaceModel. The names of the desired properties are passed in the generic parameter GenParamNamegenParamNamegen_param_name, the corresponding values are returned in GenParamValuegenParamValuegen_param_value.

The following values are possible for GenParamNamegenParamNamegen_param_name:

  • 'diameter'"diameter": Diameter of the model point cloud. The diameter is the length of the diagonal of the axis-parallel bounding box (see parameter 'bounding_box1'"bounding_box1").

  • 'center'"center": Center point of the model. The center point is the center of the axis-parallel bounding box (see parameter 'bounding_box1'"bounding_box1").

  • 'bounding_box1'"bounding_box1": Smallest enclosing axis-parallel cuboid (min_x, min_y, min_z, max_x, max_y, max_z).

  • 'sampled_model'"sampled_model": The 3D points sampled from the model for matching. This returns an ObjectModel3D that contains all points sampled from the model surface for matching.

  • 'sampled_pose_refinement'"sampled_pose_refinement": The 3D model points subsampled from the model for the pose refinement. This returns an ObjectModel3D that contains all points sampled from the model surface for pose refinement.

  • '3d_edges_trained'"3d_edges_trained": Returns if the surface model was prepared for edge-supported surface-based matching, i.e., if the parameter 'train_3d_edges'"train_3d_edges" was enabled in create_surface_modelCreateSurfaceModel. The returned value is either 'true'"true" or 'false'"false".

  • 'view_based_trained'"view_based_trained": Returns if the surface model was prepared to support view-based score computation for surface-based matching, i.e., if the parameter 'train_view_based'"train_view_based" was enabled in create_surface_modelCreateSurfaceModel. The returned value is either 'true'"true" or 'false'"false".

  • 'camera_parameter'"camera_parameter":

  • 'camera_parameter X'"camera_parameter X": Returns the camera parameters for camera number X, where X is a zero-based index for the cameras. If not given, X defaults zero (first camera). The camera parameters must previously have been set by set_surface_model_paramSetSurfaceModelParam.

  • 'camera_pose'"camera_pose":

  • 'camera_pose X'"camera_pose X": Returns the camera pose for camera number X, where X is a zero-based index for the cameras. If not given, X defaults zero (first camera).

  • 'symmetry_axis_direction'"symmetry_axis_direction":

  • 'symmetry_axis_origin'"symmetry_axis_origin": Returns the symmetry axis or origin, respectively, as set with set_surface_model_paramSetSurfaceModelParam. If no axis is set, an empty tuple is returned.

  • 'symmetry_poses'"symmetry_poses": Returns the symmetry poses as set with set_surface_model_paramSetSurfaceModelParam.

  • 'symmetry_poses_all'"symmetry_poses_all": Returns all symmetry poses created by set_surface_model_paramSetSurfaceModelParam based on the symmetry poses set with set_surface_model_paramSetSurfaceModelParam.

  • 'pose_restriction_reference_pose'"pose_restriction_reference_pose": Returns the reference pose as set with set_surface_model_paramSetSurfaceModelParam, or an empty tuple if not set.

  • 'pose_restriction_max_angle_diff'"pose_restriction_max_angle_diff": Returns the maximum angular difference between the reference pose and found poses, in radians, or an empty tuple if not set.

  • 'pose_restriction_allowed_axis_direction'"pose_restriction_allowed_axis_direction":

  • 'pose_restriction_allowed_axis_origin'"pose_restriction_allowed_axis_origin": Returns the allowed rotation axis and origin, respectively, as set with set_surface_model_paramSetSurfaceModelParam. If no axis is set, an empty tuple is returned.

  • 'pose_restriction_filter_final_poses_only'"pose_restriction_filter_final_poses_only": Returns 'true'"true" if only the final poses are filtered, or 'false'"false" if the poses are filtered during the matching process (default).

  • 'self_similar_poses_trained'"self_similar_poses_trained": Returns if the surface model was prepared for optimizations regarding self-similar, almost symmetric poses, i.e., if the parameter 'train_self_similar_poses'"train_self_similar_poses" was enabled in create_surface_modelCreateSurfaceModel. The returned value is either 'true'"true" or 'false'"false".

  • 'sampled_self_similarity'"sampled_self_similarity": Returns an ObjectModel3D that contains those 3D points of the model that were sampled for the search of self-similar poses.

  • 'self_similar_poses'"self_similar_poses": Returns the poses under which the object is self-similar, i.e., almost symmetric. If the parameter 'train_self_similar_poses'"train_self_similar_poses" was not enabled in create_surface_modelCreateSurfaceModel, an empty tuple is returned.

  • 'self_similar_poses_models'"self_similar_poses_models": Returns a tuple of ObjectModel3Ds that contains a copy of the original model, transformed into the poses returned by 'self_similar_poses'"self_similar_poses". This allows for a visual inspection of the self-similar poses. This parameter is only available if the surface model was created with activated parameter 'train_self_similar_poses'"train_self_similar_poses".

Execution information🔗

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🔗

SurfaceModelIDsurfaceModelIDsurface_model_id (input_control) surface_model → (handle)HTuple (HHandle)HSurfaceModel, HTuple (IntPtr)HHandleHtuple (handle)

Handle of the surface model.

GenParamNamegenParamNamegen_param_name (input_control) attribute.name(-array) → (string)HTuple (HString)HTuple (string)MaybeSequence[str]Htuple (char*)

Name of the parameter.

Default: 'diameter'"diameter"
List of values: '3d_edges_trained', 'bounding_box1', 'camera_parameter', 'camera_pose', 'center', 'diameter', 'pose_restriction_allowed_axis_direction', 'pose_restriction_allowed_axis_origin', 'pose_restriction_filter_final_poses_only', 'pose_restriction_max_angle_diff', 'pose_restriction_reference_pose', 'sampled_model', 'sampled_pose_refinement', 'sampled_self_similarity', 'self_similar_poses', 'self_similar_poses_models', 'self_similar_poses_trained', 'symmetry_axis_direction', 'symmetry_axis_origin', 'symmetry_poses', 'symmetry_poses_all', 'view_based_trained'"3d_edges_trained", "bounding_box1", "camera_parameter", "camera_pose", "center", "diameter", "pose_restriction_allowed_axis_direction", "pose_restriction_allowed_axis_origin", "pose_restriction_filter_final_poses_only", "pose_restriction_max_angle_diff", "pose_restriction_reference_pose", "sampled_model", "sampled_pose_refinement", "sampled_self_similarity", "self_similar_poses", "self_similar_poses_models", "self_similar_poses_trained", "symmetry_axis_direction", "symmetry_axis_origin", "symmetry_poses", "symmetry_poses_all", "view_based_trained"

GenParamValuegenParamValuegen_param_value (output_control) attribute.value(-array) → (real / string / integer / handle)HTuple (double / HString / Hlong / HHandle)HTuple (double / string / int / long / HHandle)Sequence[HTupleElementType]Htuple (double / char* / Hlong / handle)

Value of the parameter.

Result🔗

get_surface_model_paramGetSurfaceModelParam returns 2 (H_MSG_TRUE) if all parameters are correct. If necessary, an exception is raised.

Combinations with other operators🔗

Combinations

Possible predecessors

create_surface_modelCreateSurfaceModel, read_surface_modelReadSurfaceModel

Possible successors

find_surface_modelFindSurfaceModel, refine_surface_model_poseRefineSurfaceModelPose, write_surface_modelWriteSurfaceModel

See also

create_surface_modelCreateSurfaceModel, set_surface_model_paramSetSurfaceModelParam

Module🔗

3D Metrology