Name
smallest_circle_xldsmallest_circle_xldSmallestCircleXldsmallest_circle_xldSmallestCircleXldSmallestCircleXld — Smallest enclosing circle of contours or polygons.
Herror smallest_circle_xld(const Hobject XLD, double* Row, double* Column, double* Radius)
Herror T_smallest_circle_xld(const Hobject XLD, Htuple* Row, Htuple* Column, Htuple* Radius)
The operator smallest_circle_xldsmallest_circle_xldSmallestCircleXldsmallest_circle_xldSmallestCircleXldSmallestCircleXld determines the smallest
enclosing circle of contours or polygons, i.e., the circle with the smallest
area of all circles containing the contour. For this circle the center
(RowRowRowRowRowrow,ColumnColumnColumnColumnColumncolumn) and the radius (RadiusRadiusRadiusRadiusRadiusradius)
are calculated.
If several contours or polygons are passed in XLDXLDXLDXLDXLDXLD corresponding
tuples are returned as output parameter.
In case of empty contours all parameters have the value 0.0 if no other
behavior was set (see set_systemset_systemSetSystemset_systemSetSystemSetSystem).
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Automatically parallelized on tuple level.
Contours or polygons to be examined.
Row coordinate of the center of the enclosing
circle.
Column coordinate of the center of the enclosing
circle.
Radius of the enclosing circle.
Assertion: Radius >= 0
If N is the number of contour points then the runtime complexity is
O(N*ln(N)).
The operator smallest_circle_xldsmallest_circle_xldSmallestCircleXldsmallest_circle_xldSmallestCircleXldSmallestCircleXld returns the value 2 (H_MSG_TRUE)
if the input is not empty. If the input is empty the behavior can be
set via set_system(::'no_object_result',<Result>:)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>). If
necessary, an exception is raised.
gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXld,
edges_sub_pixedges_sub_pixEdgesSubPixedges_sub_pixEdgesSubPixEdgesSubPix,
threshold_sub_pixthreshold_sub_pixThresholdSubPixthreshold_sub_pixThresholdSubPixThresholdSubPix,
gen_contour_polygon_xldgen_contour_polygon_xldGenContourPolygonXldgen_contour_polygon_xldGenContourPolygonXldGenContourPolygonXld
gen_ellipse_contour_xldgen_ellipse_contour_xldGenEllipseContourXldgen_ellipse_contour_xldGenEllipseContourXldGenEllipseContourXld
smallest_rectangle1_xldsmallest_rectangle1_xldSmallestRectangle1Xldsmallest_rectangle1_xldSmallestRectangle1XldSmallestRectangle1Xld,
smallest_rectangle2_xldsmallest_rectangle2_xldSmallestRectangle2Xldsmallest_rectangle2_xldSmallestRectangle2XldSmallestRectangle2Xld
elliptic_axis_xldelliptic_axis_xldEllipticAxisXldelliptic_axis_xldEllipticAxisXldEllipticAxisXld,
smallest_rectangle1_xldsmallest_rectangle1_xldSmallestRectangle1Xldsmallest_rectangle1_xldSmallestRectangle1XldSmallestRectangle1Xld,
smallest_rectangle2_xldsmallest_rectangle2_xldSmallestRectangle2Xldsmallest_rectangle2_xldSmallestRectangle2XldSmallestRectangle2Xld,
shape_trans_xldshape_trans_xldShapeTransXldshape_trans_xldShapeTransXldShapeTransXld
Foundation