dist_ellipse_contour_points_xldT_dist_ellipse_contour_points_xldDistEllipseContourPointsXldDistEllipseContourPointsXld (Operator)


dist_ellipse_contour_points_xldT_dist_ellipse_contour_points_xldDistEllipseContourPointsXldDistEllipseContourPointsXld — Compute the distances of all contour points to an ellipse.


dist_ellipse_contour_points_xld(Contour : : DistanceMode, ClippingEndPoints, Row, Column, Phi, Radius1, Radius2 : Distances)

Herror T_dist_ellipse_contour_points_xld(const Hobject Contour, const Htuple DistanceMode, const Htuple ClippingEndPoints, const Htuple Row, const Htuple Column, const Htuple Phi, const Htuple Radius1, const Htuple Radius2, Htuple* Distances)

void DistEllipseContourPointsXld(const HObject& Contour, const HTuple& DistanceMode, const HTuple& ClippingEndPoints, const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Radius1, const HTuple& Radius2, HTuple* Distances)

HTuple HXLDCont::DistEllipseContourPointsXld(const HString& DistanceMode, Hlong ClippingEndPoints, double Row, double Column, double Phi, double Radius1, double Radius2) const

HTuple HXLDCont::DistEllipseContourPointsXld(const char* DistanceMode, Hlong ClippingEndPoints, double Row, double Column, double Phi, double Radius1, double Radius2) const

HTuple HXLDCont::DistEllipseContourPointsXld(const wchar_t* DistanceMode, Hlong ClippingEndPoints, double Row, double Column, double Phi, double Radius1, double Radius2) const   (Windows only)

static void HOperatorSet.DistEllipseContourPointsXld(HObject contour, HTuple distanceMode, HTuple clippingEndPoints, HTuple row, HTuple column, HTuple phi, HTuple radius1, HTuple radius2, out HTuple distances)

HTuple HXLDCont.DistEllipseContourPointsXld(string distanceMode, int clippingEndPoints, double row, double column, double phi, double radius1, double radius2)


The operator dist_ellipse_contour_points_xlddist_ellipse_contour_points_xldDistEllipseContourPointsXldDistEllipseContourPointsXldDistEllipseContourPointsXld determines the distances between points of a contour ContourContourContourContourcontour and an ellipse specified by the center (RowRowRowRowrow, ColumnColumnColumnColumncolumn), the orientation of the main axis PhiPhiPhiPhiphi, the length of the larger half axis Radius1Radius1Radius1Radius1radius1, and the length of the smaller half axis Radius2Radius2Radius2Radius2radius2.

The distance measure is the geometric distance, sometimes also called orthogonal distance. The distances DistancesDistancesDistancesDistancesdistances are returned for all points of the contour. Normally, the distance is a positive value. In this case DistanceModeDistanceModeDistanceModeDistanceModedistanceMode equal to 'unsigned'"unsigned""unsigned""unsigned""unsigned" must be chosen. If this option is switched to 'signed'"signed""signed""signed""signed" the distances can take positive or negative sign, depending on whether the contour points lie outside or inside the ellipse respectively.

Because of artifacts in the preprocessing, the start and end points of a contour might be faulty. In this case, the operator fit_ellipse_contour_xldfit_ellipse_contour_xldFitEllipseContourXldFitEllipseContourXldFitEllipseContourXld is typically called with the parameter ClippingEndPointsClippingEndPointsClippingEndPointsClippingEndPointsclippingEndPoints set to a value greater than zero to exclude points at the beginning and the end of the contour from the computation. In order to get the geometric distances of the same set of points as used in the fitting process ClippingEndPointsClippingEndPointsClippingEndPointsClippingEndPointsclippingEndPoints should take the same value.

Execution Information


ContourContourContourContourcontour (input_object)  xld_cont objectHXLDContHXLDContHobject

Input contours.

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

Mode for unsigned or signed distance values.

Default value: 'unsigned' "unsigned" "unsigned" "unsigned" "unsigned"

List of values: 'signed'"signed""signed""signed""signed", 'unsigned'"unsigned""unsigned""unsigned""unsigned"

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

Number of points at the beginning and the end of the contours to be ignored for the computation of distances.

Default value: 0

Restriction: ClippingEndPoints >= 0

RowRowRowRowrow (input_control)  ellipse.center.y HTupleHTupleHtuple (real) (double) (double) (double)

Row coordinate of the center of the ellipse.

ColumnColumnColumnColumncolumn (input_control)  ellipse.center.x HTupleHTupleHtuple (real) (double) (double) (double)

Column coordinate of the center of the ellipse.

PhiPhiPhiPhiphi (input_control)  ellipse.angle.rad HTupleHTupleHtuple (real) (double) (double) (double)

Orientation of the main axis in radian.

Restriction: Phi >= 0 && Phi <= 6.283185307

Radius1Radius1Radius1Radius1radius1 (input_control)  ellipse.radius1 HTupleHTupleHtuple (real) (double) (double) (double)

Length of the larger half axis.

Restriction: Radius1 > 0

Radius2Radius2Radius2Radius2radius2 (input_control)  ellipse.radius2 HTupleHTupleHtuple (real) (double) (double) (double)

Length of the smaller half axis.

Restriction: Radius2 >= 0 && Radius2 <= Radius1

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

Distances of the contour points to the ellipse.


dist_ellipse_contour_points_xlddist_ellipse_contour_points_xldDistEllipseContourPointsXldDistEllipseContourPointsXldDistEllipseContourPointsXld returns 2 (H_MSG_TRUE) if all parameter values are correct. If necessary, an exception is raised.

Possible Predecessors