Back to Aurora Vision Library website

You are here: Start » Function Reference » Path » Polygon Features » PolygonCircularity

PolygonCircularity


Header: AVL.h
Namespace: avl
Module: FoundationBasic

Computes the area of a polygon divided by the area of a circle having the same feature.

Syntax

C++
C#
 
void avl::PolygonCircularity
(
	const avl::Path& inPolygon,
	const avl::CircularityMeasure::Type inCircularityMeasure,
	float& outCircularity
)

Parameters

Name Type Default Description
Input value inPolygon const Path&
Input value inCircularityMeasure const CircularityMeasure::Type RadiusPreserving
Output value outCircularity float&

Description

Circularity is a measure of similarity of a polygon to the perfect circle. Circular polygons have circularity close to 1.0, while the more elongated the shape is (or contains more holes), the closer to 0.0 is its circularity.

Mathematically, the circularity is calculated as follows: Where c denotes a circular polygon having the same feature as input polygon s. The feature being considered depends on the inCircularityMeasure chosen and it is:

  • the minimal bounding circle in case of BoundingCirclePreserving
  • the perimeter in case of PerimeterPreserving
  • the radius (maximal distance from mass center to any of the shape points) in case of RadiusPreserving

Note that if the input path is not a valid polygon (i.e. it has at least one self-intersection), the computation may lead to results that are not intuitive.

Examples

Circularity with RadiusPreserving of the sample polygon equals to 0.340.

Circularity with PerimeterPreserving of the sample polygon equals to 0.998.

Errors

List of possible exceptions:

Error type Description
DomainError Degenerate polygon on input in PolygonCircularity.
DomainError Not supported circularity measure in PolygonCircularity.
DomainError Open path on input in PolygonCircularity.

See Also

  • RegionCircularity – Computes the area of a region divided by the area of a circular region having the same feature.
  • PolygonConvexity – Computes the area of a polygon divided by the area of its convex hull.
  • PolygonElongation – Computes the elongation factor of a polygon (perfect circle has minimal elongation equal 1.0).