get_contour_angle_xldT_get_contour_angle_xldGetContourAngleXldGetContourAngleXld (Operator)


get_contour_angle_xldT_get_contour_angle_xldGetContourAngleXldGetContourAngleXld — Calculate the direction of an XLD contour for each contour point.


get_contour_angle_xld(Contour : : AngleMode, CalcMode, Lookaround : Angles)

Herror T_get_contour_angle_xld(const Hobject Contour, const Htuple AngleMode, const Htuple CalcMode, const Htuple Lookaround, Htuple* Angles)

void GetContourAngleXld(const HObject& Contour, const HTuple& AngleMode, const HTuple& CalcMode, const HTuple& Lookaround, HTuple* Angles)

HTuple HXLDCont::GetContourAngleXld(const HString& AngleMode, const HString& CalcMode, Hlong Lookaround) const

HTuple HXLDCont::GetContourAngleXld(const char* AngleMode, const char* CalcMode, Hlong Lookaround) const

HTuple HXLDCont::GetContourAngleXld(const wchar_t* AngleMode, const wchar_t* CalcMode, Hlong Lookaround) const   (Windows only)

static void HOperatorSet.GetContourAngleXld(HObject contour, HTuple angleMode, HTuple calcMode, HTuple lookaround, out HTuple angles)

HTuple HXLDCont.GetContourAngleXld(string angleMode, string calcMode, int lookaround)


get_contour_angle_xldget_contour_angle_xldGetContourAngleXldGetContourAngleXldGetContourAngleXld calculates for each point of the XLD contour ContourContourContourContourcontour the direction of its tangent. Two modes for the output values can be chosen: By passing 'abs'"abs""abs""abs""abs" for AngleModeAngleModeAngleModeAngleModeangleMode, the resulting angles are returned relative to the horizontal axis as angles between 0 and (counter-clockwise). By passing 'rel'"rel""rel""rel""rel", the angle difference to the previous contour point is returned. In this case the range of values is between and , where negative values indicate a right turn and positive values indicate a left turn.

There are three different ways of calculating the tangent direction (CalcModeCalcModeCalcModeCalcModecalcMode) of the contour point i using the contour points in the interval from i - Lookaround to i + Lookaround. By using 'range'"range""range""range""range", the angle of the line segment between the first and last point of the interval is used. For 'mean'"mean""mean""mean""mean", the average of all angles between consecutive points of the contour is used. Finally, for 'regress'"regress""regress""regress""regress", the direction of the regression line (the least squares fit of a line to the contour points in the interval) is used. LookaroundLookaroundLookaroundLookaroundlookaround is a measure of how strongly the contour is smoothed. The angles are returned in AnglesAnglesAnglesAnglesangles in radians.

Due to the interval given by LookaroundLookaroundLookaroundLookaroundlookaround, the input contour must have at least 2 * Lookaround + 2 points. This minimum number of points is required so that the operator always delivers reasonable output values for the different parameter settings.

Execution Information


ContourContourContourContourcontour (input_object)  xld_cont objectHXLDContHXLDContHobject

Input contour.

AngleModeAngleModeAngleModeAngleModeangleMode (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Return type of the angles.

Default value: 'abs' "abs" "abs" "abs" "abs"

List of values: 'abs'"abs""abs""abs""abs", 'rel'"rel""rel""rel""rel"

CalcModeCalcModeCalcModeCalcModecalcMode (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Method for computing the angles.

Default value: 'range' "range" "range" "range" "range"

List of values: 'mean'"mean""mean""mean""mean", 'range'"range""range""range""range", 'regress'"regress""regress""regress""regress"

LookaroundLookaroundLookaroundLookaroundlookaround (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Number of points to take into account.

Default value: 3

Restriction: Lookaround > 0

AnglesAnglesAnglesAnglesangles (output_control)  real-array HTupleHTupleHtuple (real) (double) (double) (double)

Direction of the tangent to the contour points.

Possible Predecessors

gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXldGenContoursSkeletonXld, lines_gausslines_gaussLinesGaussLinesGaussLinesGauss, lines_facetlines_facetLinesFacetLinesFacetLinesFacet, edges_sub_pixedges_sub_pixEdgesSubPixEdgesSubPixEdgesSubPix

See also

get_contour_xldget_contour_xldGetContourXldGetContourXldGetContourXld, get_contour_attrib_xldget_contour_attrib_xldGetContourAttribXldGetContourAttribXldGetContourAttribXld