eccentricity_points_xld eccentricity_points_xld EccentricityPointsXld EccentricityPointsXld (Operator)
Name
eccentricity_points_xld eccentricity_points_xld EccentricityPointsXld EccentricityPointsXld
— Anisometry of contours or polygons treated as point clouds.
Signature
Herror eccentricity_points_xld (const Hobject XLD , double* Anisometry )
Herror T_eccentricity_points_xld (const Hobject XLD , Htuple* Anisometry )
Description
The operator eccentricity_points_xld eccentricity_points_xld EccentricityPointsXld EccentricityPointsXld EccentricityPointsXld
calculates the shape
feature Anisometry Anisometry Anisometry Anisometry anisometry
derived from the geometric moments of the
point cloud given by the contour or polygon XLD XLD XLD XLD XLD
(i.e., the order
of the points in the contour or polygon is not taken into account). If the
contour or polygon is closed (end point = start point), the end point of
the contour or polygon is not taken into account to avoid that it receives
twice the weight of the other points.
Calculation:
If the ellipse radii Ra, Rb (elliptic_axis_points_xld elliptic_axis_points_xld EllipticAxisPointsXld EllipticAxisPointsXld EllipticAxisPointsXld
) are
given, the following applies:
The anisometry of a circle is 1.0.
eccentricity_points_xld eccentricity_points_xld EccentricityPointsXld EccentricityPointsXld EccentricityPointsXld
should be used if the contour XLD XLD XLD XLD XLD
intersects itself or if it is not possible to close the contour using a line
from end to start point without self-intersection, because in this case
eccentricity_xld eccentricity_xld EccentricityXld EccentricityXld EccentricityXld
does not produce useful results. To test whether
the contours or polygons intersect themselves,
test_self_intersection_xld test_self_intersection_xld TestSelfIntersectionXld TestSelfIntersectionXld TestSelfIntersectionXld
can be used.
If more than one contour or polygon is passed, the values of the anisometry
are stored in a tuple in the same order as the respective contours or
polygons in XLD XLD XLD XLD XLD
.
Execution Information
Multithreading type: reentrant (runs in parallel with non-exclusive operators).
Multithreading scope: global (may be called from any thread).
Automatically parallelized on tuple level.
Parameters
XLD XLD XLD XLD XLD
(input_object) xld(-array) →
object HXLD HXLD Hobject
Contours or polygons to be examined.
Anisometry Anisometry Anisometry Anisometry anisometry
(output_control) real(-array) →
HTuple HTuple Htuple (real) (double ) (double ) (double )
Anisometry of the contours or polygons.
Assertion: Anisometry >= 1.0
Result
The operator eccentricity_points_xld eccentricity_points_xld EccentricityPointsXld EccentricityPointsXld EccentricityPointsXld
returns the value 2 (H_MSG_TRUE)
if the input is not empty. The behavior in case of empty input (no
input contours available) is set via the operator
set_system('no_object_result',<Result>) set_system("no_object_result",<Result>) SetSystem("no_object_result",<Result>) SetSystem("no_object_result",<Result>) SetSystem("no_object_result",<Result>)
. If necessary an
exception is raised.
Possible Predecessors
gen_contours_skeleton_xld gen_contours_skeleton_xld GenContoursSkeletonXld GenContoursSkeletonXld GenContoursSkeletonXld
,
edges_sub_pix edges_sub_pix EdgesSubPix EdgesSubPix EdgesSubPix
,
threshold_sub_pix threshold_sub_pix ThresholdSubPix ThresholdSubPix ThresholdSubPix
,
gen_contour_polygon_xld gen_contour_polygon_xld GenContourPolygonXld GenContourPolygonXld GenContourPolygonXld
,
test_self_intersection_xld test_self_intersection_xld TestSelfIntersectionXld TestSelfIntersectionXld TestSelfIntersectionXld
Alternatives
eccentricity_xld eccentricity_xld EccentricityXld EccentricityXld EccentricityXld
See also
elliptic_axis_points_xld elliptic_axis_points_xld EllipticAxisPointsXld EllipticAxisPointsXld EllipticAxisPointsXld
,
moments_region_2nd moments_region_2nd MomentsRegion2nd MomentsRegion2nd MomentsRegion2nd
,
select_shape_xld select_shape_xld SelectShapeXld SelectShapeXld SelectShapeXld
Module
Foundation