eccentricityeccentricityEccentricityEccentricityeccentricity (Operator)

Name

eccentricityeccentricityEccentricityEccentricityeccentricity — Shape features derived from the ellipse parameters.

Signature

eccentricity(Regions : : : Anisometry, Bulkiness, StructureFactor)

Herror eccentricity(const Hobject Regions, double* Anisometry, double* Bulkiness, double* StructureFactor)

Herror T_eccentricity(const Hobject Regions, Htuple* Anisometry, Htuple* Bulkiness, Htuple* StructureFactor)

void Eccentricity(const HObject& Regions, HTuple* Anisometry, HTuple* Bulkiness, HTuple* StructureFactor)

HTuple HRegion::Eccentricity(HTuple* Bulkiness, HTuple* StructureFactor) const

double HRegion::Eccentricity(double* Bulkiness, double* StructureFactor) const

static void HOperatorSet.Eccentricity(HObject regions, out HTuple anisometry, out HTuple bulkiness, out HTuple structureFactor)

HTuple HRegion.Eccentricity(out HTuple bulkiness, out HTuple structureFactor)

double HRegion.Eccentricity(out double bulkiness, out double structureFactor)

def eccentricity(regions: HObject) -> Tuple[Sequence[float], Sequence[float], Sequence[float]]

def eccentricity_s(regions: HObject) -> Tuple[float, float, float]

Description

The operator eccentricityeccentricityEccentricityEccentricityEccentricityeccentricity calculates the three shape features AnisometryAnisometryAnisometryAnisometryanisometryanisometry, BulkinessBulkinessBulkinessBulkinessbulkinessbulkiness, and StructureFactorStructureFactorStructureFactorStructureFactorstructureFactorstructure_factor for the given RegionsRegionsRegionsRegionsregionsregions: where Ra and Rb denote the ellipse radii (see elliptic_axiselliptic_axisEllipticAxisEllipticAxisEllipticAxiselliptic_axis) and A denotes the area of the region (see area_centerarea_centerAreaCenterAreaCenterAreaCenterarea_center).

In the documentation of this chapter (Regions / Features), you can find an image illustrating regions which vary in their anisometry, bulkiness and structure factor.

If more than one region is passed the results are stored in tuples, the index of a value in the tuple corresponding to the index of a region in the input.

In case of empty region all parameters have the value 0.0 if no other behavior was set (see set_systemset_systemSetSystemSetSystemSetSystemset_system).

Attention

It should be noted that, like for all region-moments-based operators, the region's pixels are regarded as mathematical, infinitely small points that are represented by the center of the pixels (see the documentation of elliptic_axiselliptic_axisEllipticAxisEllipticAxisEllipticAxiselliptic_axis). This can lead to non-empty regions that have RbRbRbRbrbrb = 0. In these cases, the output features that require a division by RbRbRbRbrbrb are set to 0. In particular, regions that contain a single point or regions whose points lie exactly on a straight line (e.g., one pixel high horizontal regions or one pixel wide vertical regions) have an anisometry of 0.

Execution Information

Parameters

RegionsRegionsRegionsRegionsregionsregions (input_object)  region(-array) objectHRegionHObjectHRegionHobject

Region(s) to be examined.

AnisometryAnisometryAnisometryAnisometryanisometryanisometry (output_control)  real(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Shape feature (in case of a circle = 1.0).

Assertion: Anisometry >= 1.0

BulkinessBulkinessBulkinessBulkinessbulkinessbulkiness (output_control)  real(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Calculated shape feature.

StructureFactorStructureFactorStructureFactorStructureFactorstructureFactorstructure_factor (output_control)  real(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Calculated shape feature.

Complexity

If F is the area of the region the mean runtime complexity is O(sqrt(F)).

Result

The operator eccentricityeccentricityEccentricityEccentricityEccentricityeccentricity returns the value 2 (H_MSG_TRUE) if the input is not empty. The behavior in case of empty input (no input regions 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>)set_system("no_object_result",<Result>). The behavior in case of empty region (the region is the empty set) is set via set_system('empty_region_result',<Result>)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)set_system("empty_region_result",<Result>). If necessary an exception is raised.

Possible Predecessors

thresholdthresholdThresholdThresholdThresholdthreshold, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowingregiongrowing, connectionconnectionConnectionConnectionConnectionconnection

See also

elliptic_axiselliptic_axisEllipticAxisEllipticAxisEllipticAxiselliptic_axis, moments_region_2ndmoments_region_2ndMomentsRegion2ndMomentsRegion2ndMomentsRegion2ndmoments_region_2nd, select_shapeselect_shapeSelectShapeSelectShapeSelectShapeselect_shape, area_centerarea_centerAreaCenterAreaCenterAreaCenterarea_center

Module

Foundation