edges_object_model_3d — Find edges in a 3D object model.
edges_object_model_3d finds 3D edges in the 3D object model ObjectModel3D and returns them in the 3D object model ObjectModel3DEdges.
The operator supports edge extraction only from 3D object models that contain a XYZ mapping, such as models that were created with xyz_to_object_model_3d or that were obtained with a sensor that delivers the mapping. MinAmplitude defines the minimum amplitude of a discontinuity in order to be classified as an edge. It is given in the same unit as used in ObjectModel3D.
The extracted edges are a subset of the points of the input object model. In addition to the coordinates of the edges, the point normal vectors in ObjectModel3DEdges contain the viewing direction of each 3D edge point from the viewpoint towards the edge point. Also, the attributes 'edge_dir_x', 'edge_dir_y' and 'edge_dir_z' contain a vector that is perpendicular to the edge direction and to the viewing direction. The attributes are set such that the 3D object model can be used for edge-supported surface-based matching in find_surface_model.
Generic parameters can optionally be used to influence the edge extraction. If desired, these parameters and their corresponding values can be specified with GenParamName and GenParamValue. The following values for GenParamName are possible:
This parameter specifies the viewpoint from which the 3D data is seen. It is used to determine the viewing directions and edge directions. It defaults to the origin '0 0 0' of the 3D data. If the projection center is at a different location, for example, if the 3D object model was transformed with rigid_trans_object_model_3d or if the 3D sensor performed a similar transformation, the original viewpoint must be set. For this, GenParamValue must contain a string consisting of the three coordinates (x, y and z) of the viewpoint, separated by spaces. The viewpoint is defined in the same coordinate frame as ObjectModel3D.
Default value: '0 0 0'
This parameter specifies the maximum gap size in pixels in the XYZ-images that are closed. Gaps larger than this value will contain edges at their boundary, while gaps smaller than this value will not. This suppresses edges around smaller patches that were not reconstructed by the sensor as well as edges at the more distant part of a discontinuity. For sensors with very large resolutions, the value should be increased to avoid spurious edges.
Default value: 30
This operator supports cancelling timeouts.
Handle of the 3D object model whose edges should be computed.
Names of the generic parameters.
Default value: 
List of values: 'max_gap', 'viewpoint'
Values of the generic parameters.
Default value: 
Suggested values: '0 0 0', 10, 30, 100
3D object model containing the edges.
edges_object_model_3d returns 2 (H_MSG_TRUE) if all parameters are correct. If necessary, an exception is raised.
find_surface_model, find_surface_model_image, refine_surface_model_pose, refine_surface_model_pose_image