distance_contours_xlddistance_contours_xldDistanceContoursXldDistanceContoursXlddistance_contours_xld (算子名称)
名称
distance_contours_xlddistance_contours_xldDistanceContoursXldDistanceContoursXlddistance_contours_xld — Calculate the pointwise distance from one contour to another.
参数签名
描述
该算子 distance_contours_xlddistance_contours_xldDistanceContoursXldDistanceContoursXldDistanceContoursXlddistance_contours_xld calculates for each point in
ContourFromContourFromContourFromContourFromcontourFromcontour_from the minimal distance to the contours in
ContourToContourToContourToContourTocontourTocontour_to.
该算子 returns the contour ContourOutContourOutContourOutContourOutcontourOutcontour_out which consists of
ContourFromContourFromContourFromContourFromcontourFromcontour_from containing the computed distances in the
attribute 'distance'"distance""distance""distance""distance""distance".
The distances can be accessed by querying the attribute
'distance'"distance""distance""distance""distance""distance" with 该算子 get_contour_attrib_xldget_contour_attrib_xldGetContourAttribXldGetContourAttribXldGetContourAttribXldget_contour_attrib_xld.
See 该算子 reference of get_contour_attrib_xldget_contour_attrib_xldGetContourAttribXldGetContourAttribXldGetContourAttribXldget_contour_attrib_xld for further
information about contour attributes.
The parameter
ModeModeModeModemodemode determines which distances are calculated for each point
in ContourFromContourFromContourFromContourFromcontourFromcontour_from:
'point_to_point'"point_to_point""point_to_point""point_to_point""point_to_point""point_to_point" calculates the minimal distance to the base
points of ContourToContourToContourToContourTocontourTocontour_to.
In contrast, 'point_to_segment'"point_to_segment""point_to_segment""point_to_segment""point_to_segment""point_to_segment" calculates the minimum
distance to the contour segments in ContourToContourToContourToContourTocontourTocontour_to (see the figure
below).
Note that in many applications the mode 'point_to_segment'"point_to_segment""point_to_segment""point_to_segment""point_to_segment""point_to_segment"
suggests itself for an accurate result, whereas
'point_to_point'"point_to_point""point_to_point""point_to_point""point_to_point""point_to_point" is considerably faster.
If m is the number of points in ContourFromContourFromContourFromContourFromcontourFromcontour_from, and n the number
of points in ContourToContourToContourToContourTocontourTocontour_to, then distance_contours_xlddistance_contours_xldDistanceContoursXldDistanceContoursXldDistanceContoursXlddistance_contours_xld
has complexity O(mlog(n)) for 'point_to_point'"point_to_point""point_to_point""point_to_point""point_to_point""point_to_point", and O(mn) for
'point_to_segment'"point_to_segment""point_to_segment""point_to_segment""point_to_segment""point_to_segment".
In case the template contour ContourToContourToContourToContourTocontourTocontour_to is repeatedly used, the
operators create_distance_transform_xldcreate_distance_transform_xldCreateDistanceTransformXldCreateDistanceTransformXldCreateDistanceTransformXldcreate_distance_transform_xld and
apply_distance_transform_xldapply_distance_transform_xldApplyDistanceTransformXldApplyDistanceTransformXldApplyDistanceTransformXldapply_distance_transform_xld can be used as an alternative to
distance_contours_xlddistance_contours_xldDistanceContoursXldDistanceContoursXldDistanceContoursXlddistance_contours_xld. For further details, please refer to
the documentation of create_distance_transform_xldcreate_distance_transform_xldCreateDistanceTransformXldCreateDistanceTransformXldCreateDistanceTransformXldcreate_distance_transform_xld.
运行信息
- 多线程类型:可重入(与非独占操作符并行运行)。
- 多线程作用域:全局(可以从任何线程调用)。
- 未经并行化处理。
参数表
ContourFromContourFromContourFromContourFromcontourFromcontour_from (input_object) xld_cont(-array) → objectHXLDContHObjectHXLDContHobject
Contours for whose points the distances are
calculated.
ContourToContourToContourToContourTocontourTocontour_to (input_object) xld_cont(-array) → objectHXLDContHObjectHXLDContHobject
Contours to which the distances are
calculated to.
ModeModeModeModemodemode (input_control) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Compute the distance to points ('point_to_point')
or to entire segments ('point_to_segment').
Default:
'point_to_point'
"point_to_point"
"point_to_point"
"point_to_point"
"point_to_point"
"point_to_point"
List of values:
'point_to_point'"point_to_point""point_to_point""point_to_point""point_to_point""point_to_point", 'point_to_segment'"point_to_segment""point_to_segment""point_to_segment""point_to_segment""point_to_segment"
结果
If all parameters are correct, 该算子 returns the
value 2 (
H_MSG_TRUE)
. Otherwise, an exception is raised.
可能的后置算子
get_contour_attrib_xldget_contour_attrib_xldGetContourAttribXldGetContourAttribXldGetContourAttribXldget_contour_attrib_xld,
segment_contour_attrib_xldsegment_contour_attrib_xldSegmentContourAttribXldSegmentContourAttribXldSegmentContourAttribXldsegment_contour_attrib_xld
可替代算子
apply_distance_transform_xldapply_distance_transform_xldApplyDistanceTransformXldApplyDistanceTransformXldApplyDistanceTransformXldapply_distance_transform_xld,
distance_ccdistance_ccDistanceCcDistanceCcDistanceCcdistance_cc,
distance_cc_mindistance_cc_minDistanceCcMinDistanceCcMinDistanceCcMindistance_cc_min
模块
Foundation