Operator Reference

get_contour_angle_xldT_get_contour_angle_xldGetContourAngleXldGetContourAngleXldget_contour_angle_xld (Operator)

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

Signature

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)

def get_contour_angle_xld(contour: HObject, angle_mode: str, calc_mode: str, lookaround: int) -> Sequence[float]

Description

get_contour_angle_xldget_contour_angle_xldGetContourAngleXldGetContourAngleXldget_contour_angle_xld 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 AngleModeAngleModeAngleModeangleModeangle_mode, 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 (CalcModeCalcModeCalcModecalcModecalc_mode) of the contour point i using the contour points in the interval from to . 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 points. This minimum number of points is required so that the operator always delivers reasonable output values for the different parameter settings.

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

ContourContourContourcontourcontour (input_object)  xld_cont objectHXLDContHObjectHObjectHobject

Input contour.

AngleModeAngleModeAngleModeangleModeangle_mode (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Return type of the angles.

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

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

CalcModeCalcModeCalcModecalcModecalc_mode (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Method for computing the angles.

Default: '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 HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Number of points to take into account.

Default: 3

Restriction: Lookaround > 0

AnglesAnglesAnglesanglesangles (output_control)  real-array HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Direction of the tangent to the contour points.

Possible Predecessors

gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXldgen_contours_skeleton_xld, lines_gausslines_gaussLinesGaussLinesGausslines_gauss, lines_facetlines_facetLinesFacetLinesFacetlines_facet, edges_sub_pixedges_sub_pixEdgesSubPixEdgesSubPixedges_sub_pix

See also

get_contour_xldget_contour_xldGetContourXldGetContourXldget_contour_xld, get_contour_attrib_xldget_contour_attrib_xldGetContourAttribXldGetContourAttribXldget_contour_attrib_xld

Module

Foundation