ClassesClassesClassesClasses | | | | Operators

compactness_xldcompactness_xldCompactnessXldcompactness_xldCompactnessXldCompactnessXld (Operator)

Name

compactness_xldcompactness_xldCompactnessXldcompactness_xldCompactnessXldCompactnessXld — Shape factor for the compactness of contours or polygons.

Signature

compactness_xld(XLD : : : Compactness)

Herror compactness_xld(const Hobject XLD, double* Compactness)

Herror T_compactness_xld(const Hobject XLD, Htuple* Compactness)

Herror compactness_xld(Hobject XLD, double* Compactness)

Herror compactness_xld(Hobject XLD, HTuple* Compactness)

double HXLD::CompactnessXld() const

HTuple HXLDArray::CompactnessXld() const

void CompactnessXld(const HObject& XLD, HTuple* Compactness)

HTuple HXLD::CompactnessXld() const

void HOperatorSetX.CompactnessXld(
[in] IHUntypedObjectX* XLD, [out] VARIANT* Compactness)

VARIANT HXLDX.CompactnessXld()

VARIANT HXLDContX.CompactnessXld()

VARIANT HXLDPolyX.CompactnessXld()

VARIANT HXLDParaX.CompactnessXld()

VARIANT HXLDModParaX.CompactnessXld()

VARIANT HXLDExtParaX.CompactnessXld()

static void HOperatorSet.CompactnessXld(HObject XLD, out HTuple compactness)

HTuple HXLD.CompactnessXld()

Description

The operator compactness_xldcompactness_xldCompactnessXldcompactness_xldCompactnessXldCompactnessXld calculates the compactness of each input contour or polygon in XLDXLDXLDXLDXLDXLD. The input contour or polygon must not intersect itself, otherwise the resulting parameter is not meaningful (Whether the input contour or polygon intersects itself or not can be determined with test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXld). If the input contour or polygon is not closed it will be closed automatically.

Calculation: If L is the length and F the enclosed area of the contour or polygon the shape factor CompactnessCompactnessCompactnessCompactnessCompactnesscompactness is defined as:

The shape factor CompactnessCompactnessCompactnessCompactnessCompactnesscompactness of a circle is 1. If the contour or polygon encloses an elongated area CompactnessCompactnessCompactnessCompactnessCompactnesscompactness is larger than 1. The operator compactness_xldcompactness_xldCompactnessXldcompactness_xldCompactnessXldCompactnessXld responds to the course of the contour or polygon (roughness). If more than one contour or polygon is passed, the shape factors are stored in a tuple in the same order as the respective contours or polygons in XLDXLDXLDXLDXLDXLD.

Parallelization

Parameters

XLDXLDXLDXLDXLDXLD (input_object)  xld(-array) objectHXLDHXLDHXLDHXLDXHobject

Contours or polygons to be examined.

CompactnessCompactnessCompactnessCompactnessCompactnesscompactness (output_control)  real(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Compactness of the input contours or polygons.

Assertion: Compactness >= 1.0 || Compactness == 0

Result

The operator compactness_xldcompactness_xldCompactnessXldcompactness_xldCompactnessXldCompactnessXld 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>)set_system("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_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, test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXld

Alternatives

circularity_xldcircularity_xldCircularityXldcircularity_xldCircularityXldCircularityXld, convexity_xldconvexity_xldConvexityXldconvexity_xldConvexityXldConvexityXld, eccentricity_xldeccentricity_xldEccentricityXldeccentricity_xldEccentricityXldEccentricityXld

See also

area_center_xldarea_center_xldAreaCenterXldarea_center_xldAreaCenterXldAreaCenterXld, select_shape_xldselect_shape_xldSelectShapeXldselect_shape_xldSelectShapeXldSelectShapeXld

Module

Foundation


ClassesClassesClassesClasses | | | | Operators