ClassesClasses | | Operators

edges_object_model_3dedges_object_model_3dEdgesObjectModel3dEdgesObjectModel3d (Operator)


edges_object_model_3dedges_object_model_3dEdgesObjectModel3dEdgesObjectModel3d — Find edges in a 3D object model.


edges_object_model_3d( : : ObjectModel3D, MinAmplitude, GenParamName, GenParamValue : ObjectModel3DEdges)

Herror edges_object_model_3d(const Hlong ObjectModel3D, double MinAmplitude, const char* GenParamName, double GenParamValue, Hlong* ObjectModel3DEdges)

Herror T_edges_object_model_3d(const Htuple ObjectModel3D, const Htuple MinAmplitude, const Htuple GenParamName, const Htuple GenParamValue, Htuple* ObjectModel3DEdges)

void EdgesObjectModel3d(const HTuple& ObjectModel3D, const HTuple& MinAmplitude, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ObjectModel3DEdges)

HObjectModel3D HObjectModel3D::EdgesObjectModel3d(const HTuple& MinAmplitude, const HTuple& GenParamName, const HTuple& GenParamValue) const

HObjectModel3D HObjectModel3D::EdgesObjectModel3d(double MinAmplitude, const HString& GenParamName, double GenParamValue) const

HObjectModel3D HObjectModel3D::EdgesObjectModel3d(double MinAmplitude, const char* GenParamName, double GenParamValue) const

static void HOperatorSet.EdgesObjectModel3d(HTuple objectModel3D, HTuple minAmplitude, HTuple genParamName, HTuple genParamValue, out HTuple objectModel3DEdges)

HObjectModel3D HObjectModel3D.EdgesObjectModel3d(HTuple minAmplitude, HTuple genParamName, HTuple genParamValue)

HObjectModel3D HObjectModel3D.EdgesObjectModel3d(double minAmplitude, string genParamName, double genParamValue)


edges_object_model_3dedges_object_model_3dEdgesObjectModel3dEdgesObjectModel3dEdgesObjectModel3d finds 3D edges in the 3D object model ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D and returns them in the 3D object model ObjectModel3DEdgesObjectModel3DEdgesObjectModel3DEdgesObjectModel3DEdgesobjectModel3DEdges.

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_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3d or that were obtained with a sensor that delivers the mapping. MinAmplitudeMinAmplitudeMinAmplitudeMinAmplitudeminAmplitude 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 ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D.

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 ObjectModel3DEdgesObjectModel3DEdgesObjectModel3DEdgesObjectModel3DEdgesobjectModel3DEdges contain the viewing direction of each 3D edge point from the viewpoint towards the edge point. Also, the attributes 'edge_dir_x'"edge_dir_x""edge_dir_x""edge_dir_x""edge_dir_x", 'edge_dir_y'"edge_dir_y""edge_dir_y""edge_dir_y""edge_dir_y" and 'edge_dir_z'"edge_dir_z""edge_dir_z""edge_dir_z""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_modelfind_surface_modelFindSurfaceModelFindSurfaceModelFindSurfaceModel.

Generic parameters can optionally be used to influence the edge extraction. If desired, these parameters and their corresponding values can be specified with GenParamNameGenParamNameGenParamNameGenParamNamegenParamName and GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue. The following values for GenParamNameGenParamNameGenParamNameGenParamNamegenParamName 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'"0 0 0""0 0 0""0 0 0""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_3drigid_trans_object_model_3dRigidTransObjectModel3dRigidTransObjectModel3dRigidTransObjectModel3d or if the 3D sensor performed a similar transformation, the original viewpoint must be set. For this, GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue 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 ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D.

Default value: '0 0 0'"0 0 0""0 0 0""0 0 0""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

Execution Information

This operator supports cancelling timeouts.


ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D (input_control)  object_model_3d HObjectModel3D, HTupleHTupleHtuple (integer) (IntPtr) (Hlong) (Hlong)

Handle of the 3D object model whose edges should be computed.

MinAmplitudeMinAmplitudeMinAmplitudeMinAmplitudeminAmplitude (input_control)  number HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Edge threshold.

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

Names of the generic parameters.

Default value: []

List of values: 'max_gap'"max_gap""max_gap""max_gap""max_gap", 'viewpoint'"viewpoint""viewpoint""viewpoint""viewpoint"

GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue (input_control)  number(-array) HTupleHTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)

Values of the generic parameters.

Default value: []

Suggested values: '0 0 0'"0 0 0""0 0 0""0 0 0""0 0 0", 10, 30, 100

ObjectModel3DEdgesObjectModel3DEdgesObjectModel3DEdgesObjectModel3DEdgesobjectModel3DEdges (output_control)  object_model_3d HObjectModel3D, HTupleHTupleHtuple (integer) (IntPtr) (Hlong) (Hlong)

3D object model containing the edges.


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

Possible Predecessors

read_object_model_3dread_object_model_3dReadObjectModel3dReadObjectModel3dReadObjectModel3d, xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3d

Possible Successors

find_surface_modelfind_surface_modelFindSurfaceModelFindSurfaceModelFindSurfaceModel, find_surface_model_imagefind_surface_model_imageFindSurfaceModelImageFindSurfaceModelImageFindSurfaceModelImage, refine_surface_model_poserefine_surface_model_poseRefineSurfaceModelPoseRefineSurfaceModelPoseRefineSurfaceModelPose, refine_surface_model_pose_imagerefine_surface_model_pose_imageRefineSurfaceModelPoseImageRefineSurfaceModelPoseImageRefineSurfaceModelPoseImage


3D Metrology

ClassesClasses | | Operators