dist_ellipse_contour_points_xldT_dist_ellipse_contour_points_xldDistEllipseContourPointsXldDistEllipseContourPointsXlddist_ellipse_contour_points_xld (Operator)
Name
dist_ellipse_contour_points_xldT_dist_ellipse_contour_points_xldDistEllipseContourPointsXldDistEllipseContourPointsXlddist_ellipse_contour_points_xld
— Compute the distances of all contour points to an ellipse.
Signature
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)
Description
The operator dist_ellipse_contour_points_xlddist_ellipse_contour_points_xldDistEllipseContourPointsXldDistEllipseContourPointsXlddist_ellipse_contour_points_xld
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 Radius1Radius1Radius1radius1radius_1
, and the
length of the smaller half axis Radius2Radius2Radius2radius2radius_2
.
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
DistanceModeDistanceModeDistanceModedistanceModedistance_mode
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_xldFitEllipseContourXldFitEllipseContourXldfit_ellipse_contour_xld
is typically called with the parameter
ClippingEndPointsClippingEndPointsClippingEndPointsclippingEndPointsclipping_end_points
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 ClippingEndPointsClippingEndPointsClippingEndPointsclippingEndPointsclipping_end_points
should take
the same value.
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 contours.
DistanceModeDistanceModeDistanceModedistanceModedistance_mode
(input_control) string →
HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Mode for unsigned or signed distance values.
Default:
'unsigned'
"unsigned"
"unsigned"
"unsigned"
"unsigned"
List of values:
'signed'"signed""signed""signed""signed", 'unsigned'"unsigned""unsigned""unsigned""unsigned"
ClippingEndPointsClippingEndPointsClippingEndPointsclippingEndPointsclipping_end_points
(input_control) integer →
HTupleintHTupleHtuple (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:
0
Restriction:
ClippingEndPoints >= 0
RowRowRowrowrow
(input_control) ellipse.center.y →
HTuplefloatHTupleHtuple (real) (double) (double) (double)
Row coordinate of the center of the ellipse.
ColumnColumnColumncolumncolumn
(input_control) ellipse.center.x →
HTuplefloatHTupleHtuple (real) (double) (double) (double)
Column coordinate of the center of the ellipse.
PhiPhiPhiphiphi
(input_control) ellipse.angle.rad →
HTuplefloatHTupleHtuple (real) (double) (double) (double)
Orientation of the main axis in radian.
Restriction:
Phi >= 0 && Phi <= 6.283185307
Radius1Radius1Radius1radius1radius_1
(input_control) ellipse.radius1 →
HTuplefloatHTupleHtuple (real) (double) (double) (double)
Length of the larger half axis.
Restriction:
Radius1 > 0
Radius2Radius2Radius2radius2radius_2
(input_control) ellipse.radius2 →
HTuplefloatHTupleHtuple (real) (double) (double) (double)
Length of the smaller half axis.
Restriction:
Radius2 >= 0 && Radius2 <= Radius1
DistancesDistancesDistancesdistancesdistances
(output_control) real-array →
HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Distances of the contour points to the ellipse.
Result
dist_ellipse_contour_points_xlddist_ellipse_contour_points_xldDistEllipseContourPointsXldDistEllipseContourPointsXlddist_ellipse_contour_points_xld
returns 2 (
H_MSG_TRUE)
if all parameter
values are correct. If necessary, an exception is raised.
Possible Predecessors
fit_ellipse_contour_xldfit_ellipse_contour_xldFitEllipseContourXldFitEllipseContourXldfit_ellipse_contour_xld
Alternatives
dist_ellipse_contour_xlddist_ellipse_contour_xldDistEllipseContourXldDistEllipseContourXlddist_ellipse_contour_xld
Module
Foundation