ClassesClasses | | Operators

region_featuresregion_featuresRegionFeaturesRegionFeatures (Operator)

Name

region_featuresregion_featuresRegionFeaturesRegionFeatures — Calculate shape features of regions.

Signature

region_features(Regions : : Features : Value)

Herror region_features(const Hobject Regions, const char* Features, double* Value)

Herror T_region_features(const Hobject Regions, const Htuple Features, Htuple* Value)

void RegionFeatures(const HObject& Regions, const HTuple& Features, HTuple* Value)

HTuple HRegion::RegionFeatures(const HTuple& Features) const

double HRegion::RegionFeatures(const HString& Features) const

double HRegion::RegionFeatures(const char* Features) const

static void HOperatorSet.RegionFeatures(HObject regions, HTuple features, out HTuple value)

HTuple HRegion.RegionFeatures(HTuple features)

double HRegion.RegionFeatures(string features)

Description

The operator region_featuresregion_featuresRegionFeaturesRegionFeaturesRegionFeatures calculates for each input region from RegionsRegionsRegionsRegionsregions the indicated features (FeaturesFeaturesFeaturesFeaturesfeatures).

For an illustration of these features, please refer to the documentation of this chapter (Regions / Features).

Possible values for FeaturesFeaturesFeaturesFeaturesfeatures:

'area':

Area of the object

'row':

Row index of the center

'column':

Column index of the center

'row1':

Row index of upper left corner

'column1':

Column index of upper left corner

'row2':

Row index of lower right corner

'column2':

Column index of lower right corner

'width':

Width of the region (parallel to the coordinate axes)

'height':

Height of the region (parallel to the coordinate axes)

'ratio':

Ratio of the height and the width of the region (parallel to the coordinate axes)

'circularity':

Circularity (see circularitycircularityCircularityCircularityCircularity)

'compactness':

Compactness (see compactnesscompactnessCompactnessCompactnessCompactness)

'contlength':

Total length of contour (see operator contlengthcontlengthContlengthContlengthContlength)

'convexity':

Convexity (see convexityconvexityConvexityConvexityConvexity)

'rectangularity':

Rectangularity (see rectangularityrectangularityRectangularityRectangularityRectangularity)

'ra':

Main radius of the equivalent ellipse (see elliptic_axiselliptic_axisEllipticAxisEllipticAxisEllipticAxis)

'rb':

Secondary radius of the equivalent ellipse (see elliptic_axiselliptic_axisEllipticAxisEllipticAxisEllipticAxis)

'phi':

Orientation of the equivalent ellipse (see elliptic_axiselliptic_axisEllipticAxisEllipticAxisEllipticAxis)

'anisometry:'

Anisometry (see eccentricityeccentricityEccentricityEccentricityEccentricity)

'bulkiness:'

Bulkiness (see operator eccentricityeccentricityEccentricityEccentricityEccentricity)

'struct_factor:'

Structur Factor (see operator eccentricityeccentricityEccentricityEccentricityEccentricity)

'outer_radius':

Radius of smallest surrounding circle (see smallest_circlesmallest_circleSmallestCircleSmallestCircleSmallestCircle)

'inner_radius':

Radius of largest inner circle (see inner_circleinner_circleInnerCircleInnerCircleInnerCircle)

'inner_width':

Width of the largest axis-parallel rectangle that fits into the region (see inner_rectangle1inner_rectangle1InnerRectangle1InnerRectangle1InnerRectangle1)

'inner_height':

Height of the largest axis-parallel rectangle that fits into the region (see inner_rectangle1inner_rectangle1InnerRectangle1InnerRectangle1InnerRectangle1)

'dist_mean':

Mean distance from the region border to the center (see operator roundnessroundnessRoundnessRoundnessRoundness)

'dist_deviation:'

Deviation of the distance from the region border to the center (see operator roundnessroundnessRoundnessRoundnessRoundness)

'roundness':

Roundness (see operator roundnessroundnessRoundnessRoundnessRoundness)

'num_sides':

Number of polygon sides (see operator roundnessroundnessRoundnessRoundnessRoundness)

'connect_num':

Number of connection components (see operator connect_and_holesconnect_and_holesConnectAndHolesConnectAndHolesConnectAndHoles)

'holes_num':

Number of holes (see operator connect_and_holesconnect_and_holesConnectAndHolesConnectAndHolesConnectAndHoles)

'area_holes':

Area of the holes of the object (see operator area_holesarea_holesAreaHolesAreaHolesAreaHoles)

'max_diameter':

Maximum diameter of the region (see operator diameter_regiondiameter_regionDiameterRegionDiameterRegionDiameterRegion)

'orientation':

Orientation of the region (see operator orientation_regionorientation_regionOrientationRegionOrientationRegionOrientationRegion)

'euler_number':

Euler number (see operator euler_numbereuler_numberEulerNumberEulerNumberEulerNumber)

'rect2_phi':

Orientation of the smallest surrounding rectangle (see operator smallest_rectangle2smallest_rectangle2SmallestRectangle2SmallestRectangle2SmallestRectangle2)

'rect2_len1':

Half the length of the smallest surrounding rectangle (see operator smallest_rectangle2smallest_rectangle2SmallestRectangle2SmallestRectangle2SmallestRectangle2)

'rect2_len2':

Half the width of the smallest surrounding rectangle (see operator smallest_rectangle2smallest_rectangle2SmallestRectangle2SmallestRectangle2SmallestRectangle2)

'moments_m11':

Geometric moments of the region (see operator moments_region_2ndmoments_region_2ndMomentsRegion2ndMomentsRegion2ndMomentsRegion2nd)

'moments_m20':

Geometric moments of the region (see operator moments_region_2ndmoments_region_2ndMomentsRegion2ndMomentsRegion2ndMomentsRegion2nd)

'moments_m02':

Geometric moments of the region (see operator moments_region_2ndmoments_region_2ndMomentsRegion2ndMomentsRegion2ndMomentsRegion2nd)

'moments_ia':

Geometric moments of the region (see operator moments_region_2ndmoments_region_2ndMomentsRegion2ndMomentsRegion2ndMomentsRegion2nd)

'moments_ib':

Geometric moments of the region (see operator moments_region_2ndmoments_region_2ndMomentsRegion2ndMomentsRegion2ndMomentsRegion2nd)

'moments_m11_invar':

Geometric moments of the region (see operator moments_region_2nd_invarmoments_region_2nd_invarMomentsRegion2ndInvarMomentsRegion2ndInvarMomentsRegion2ndInvar)

'moments_m20_invar':

Geometric moments of the region (see operator moments_region_2nd_invarmoments_region_2nd_invarMomentsRegion2ndInvarMomentsRegion2ndInvarMomentsRegion2ndInvar)

'moments_m02_invar':

Geometric moments of the region (see operator moments_region_2nd_invarmoments_region_2nd_invarMomentsRegion2ndInvarMomentsRegion2ndInvarMomentsRegion2ndInvar)

'moments_phi1':

Geometric moments of the region (see operator moments_region_2nd_rel_invarmoments_region_2nd_rel_invarMomentsRegion2ndRelInvarMomentsRegion2ndRelInvarMomentsRegion2ndRelInvar)

'moments_phi2':

Geometric moments of the region (see operator moments_region_2nd_rel_invarmoments_region_2nd_rel_invarMomentsRegion2ndRelInvarMomentsRegion2ndRelInvarMomentsRegion2ndRelInvar)

'moments_m21':

Geometric moments of the region (see operator moments_region_3rdmoments_region_3rdMomentsRegion3rdMomentsRegion3rdMomentsRegion3rd)

'moments_m12':

Geometric moments of the region (see operator moments_region_3rdmoments_region_3rdMomentsRegion3rdMomentsRegion3rdMomentsRegion3rd)

'moments_m03':

Geometric moments of the region (see operator moments_region_3rdmoments_region_3rdMomentsRegion3rdMomentsRegion3rdMomentsRegion3rd)

'moments_m30':

Geometric moments of the region (see operator moments_region_3rdmoments_region_3rdMomentsRegion3rdMomentsRegion3rdMomentsRegion3rd)

'moments_m21_invar':

Geometric moments of the region (see operator moments_region_3rd_invarmoments_region_3rd_invarMomentsRegion3rdInvarMomentsRegion3rdInvarMomentsRegion3rdInvar)

'moments_m12_invar':

Geometric moments of the region (see operator moments_region_3rd_invarmoments_region_3rd_invarMomentsRegion3rdInvarMomentsRegion3rdInvarMomentsRegion3rdInvar)

'moments_m03_invar':

Geometric moments of the region (see operator moments_region_3rd_invarmoments_region_3rd_invarMomentsRegion3rdInvarMomentsRegion3rdInvarMomentsRegion3rdInvar)

'moments_m30_invar':

Geometric moments of the region (see operator moments_region_3rd_invarmoments_region_3rd_invarMomentsRegion3rdInvarMomentsRegion3rdInvarMomentsRegion3rdInvar)

'moments_i1':

Geometric moments of the region (see operator moments_region_centralmoments_region_centralMomentsRegionCentralMomentsRegionCentralMomentsRegionCentral)

'moments_i2':

Geometric moments of the region (see operator moments_region_centralmoments_region_centralMomentsRegionCentralMomentsRegionCentralMomentsRegionCentral)

'moments_i3':

Geometric moments of the region (see operator moments_region_centralmoments_region_centralMomentsRegionCentralMomentsRegionCentralMomentsRegionCentral)

'moments_i4':

Geometric moments of the region (see operator moments_region_centralmoments_region_centralMomentsRegionCentralMomentsRegionCentralMomentsRegionCentral)

'moments_psi1':

Geometric moments of the region (see operator moments_region_central_invarmoments_region_central_invarMomentsRegionCentralInvarMomentsRegionCentralInvarMomentsRegionCentralInvar)

'moments_psi2':

Geometric moments of the region (see operator moments_region_central_invarmoments_region_central_invarMomentsRegionCentralInvarMomentsRegionCentralInvarMomentsRegionCentralInvar)

'moments_psi3':

Geometric moments of the region (see operator moments_region_central_invarmoments_region_central_invarMomentsRegionCentralInvarMomentsRegionCentralInvarMomentsRegionCentralInvar)

'moments_psi4':

Geometric moments of the region (see operator moments_region_central_invarmoments_region_central_invarMomentsRegionCentralInvarMomentsRegionCentralInvarMomentsRegionCentralInvar)

Several features are processed in the sequence in which they are entered.

Execution Information

Parameters

RegionsRegionsRegionsRegionsregions (input_object)  region-array objectHRegionHRegionHobject

Regions to be examined.

FeaturesFeaturesFeaturesFeaturesfeatures (input_control)  string(-array) HTupleHTupleHtuple (string) (string) (HString) (char*)

Shape features to be calculated.

Default value: 'area' "area" "area" "area" "area"

List of values: 'anisometry'"anisometry""anisometry""anisometry""anisometry", 'area'"area""area""area""area", 'area_holes'"area_holes""area_holes""area_holes""area_holes", 'bulkiness'"bulkiness""bulkiness""bulkiness""bulkiness", 'circularity'"circularity""circularity""circularity""circularity", 'column'"column""column""column""column", 'column1'"column1""column1""column1""column1", 'column2'"column2""column2""column2""column2", 'compactness'"compactness""compactness""compactness""compactness", 'connect_num'"connect_num""connect_num""connect_num""connect_num", 'contlength'"contlength""contlength""contlength""contlength", 'convexity'"convexity""convexity""convexity""convexity", 'dist_deviation'"dist_deviation""dist_deviation""dist_deviation""dist_deviation", 'dist_mean'"dist_mean""dist_mean""dist_mean""dist_mean", 'euler_number'"euler_number""euler_number""euler_number""euler_number", 'height'"height""height""height""height", 'holes_num'"holes_num""holes_num""holes_num""holes_num", 'inner_height'"inner_height""inner_height""inner_height""inner_height", 'inner_radius'"inner_radius""inner_radius""inner_radius""inner_radius", 'inner_width'"inner_width""inner_width""inner_width""inner_width", 'max_diameter'"max_diameter""max_diameter""max_diameter""max_diameter", 'moments_i1'"moments_i1""moments_i1""moments_i1""moments_i1", 'moments_i2'"moments_i2""moments_i2""moments_i2""moments_i2", 'moments_i3'"moments_i3""moments_i3""moments_i3""moments_i3", 'moments_i4'"moments_i4""moments_i4""moments_i4""moments_i4", 'moments_ia'"moments_ia""moments_ia""moments_ia""moments_ia", 'moments_ib'"moments_ib""moments_ib""moments_ib""moments_ib", 'moments_m02'"moments_m02""moments_m02""moments_m02""moments_m02", 'moments_m02_invar'"moments_m02_invar""moments_m02_invar""moments_m02_invar""moments_m02_invar", 'moments_m03'"moments_m03""moments_m03""moments_m03""moments_m03", 'moments_m03_invar'"moments_m03_invar""moments_m03_invar""moments_m03_invar""moments_m03_invar", 'moments_m11'"moments_m11""moments_m11""moments_m11""moments_m11", 'moments_m11_invar'"moments_m11_invar""moments_m11_invar""moments_m11_invar""moments_m11_invar", 'moments_m12'"moments_m12""moments_m12""moments_m12""moments_m12", 'moments_m12_invar'"moments_m12_invar""moments_m12_invar""moments_m12_invar""moments_m12_invar", 'moments_m20'"moments_m20""moments_m20""moments_m20""moments_m20", 'moments_m20_invar'"moments_m20_invar""moments_m20_invar""moments_m20_invar""moments_m20_invar", 'moments_m21'"moments_m21""moments_m21""moments_m21""moments_m21", 'moments_m21_invar'"moments_m21_invar""moments_m21_invar""moments_m21_invar""moments_m21_invar", 'moments_m30'"moments_m30""moments_m30""moments_m30""moments_m30", 'moments_m30_invar'"moments_m30_invar""moments_m30_invar""moments_m30_invar""moments_m30_invar", 'moments_phi1'"moments_phi1""moments_phi1""moments_phi1""moments_phi1", 'moments_phi2'"moments_phi2""moments_phi2""moments_phi2""moments_phi2", 'moments_psi1'"moments_psi1""moments_psi1""moments_psi1""moments_psi1", 'moments_psi2'"moments_psi2""moments_psi2""moments_psi2""moments_psi2", 'moments_psi3'"moments_psi3""moments_psi3""moments_psi3""moments_psi3", 'moments_psi4'"moments_psi4""moments_psi4""moments_psi4""moments_psi4", 'num_sides'"num_sides""num_sides""num_sides""num_sides", 'orientation'"orientation""orientation""orientation""orientation", 'outer_radius'"outer_radius""outer_radius""outer_radius""outer_radius", 'phi'"phi""phi""phi""phi", 'ra'"ra""ra""ra""ra", 'ratio'"ratio""ratio""ratio""ratio", 'rb'"rb""rb""rb""rb", 'rect2_len1'"rect2_len1""rect2_len1""rect2_len1""rect2_len1", 'rect2_len2'"rect2_len2""rect2_len2""rect2_len2""rect2_len2", 'rect2_phi'"rect2_phi""rect2_phi""rect2_phi""rect2_phi", 'rectangularity'"rectangularity""rectangularity""rectangularity""rectangularity", 'roundness'"roundness""roundness""roundness""roundness", 'row'"row""row""row""row", 'row1'"row1""row1""row1""row1", 'row2'"row2""row2""row2""row2", 'struct_factor'"struct_factor""struct_factor""struct_factor""struct_factor", 'width'"width""width""width""width"

ValueValueValueValuevalue (output_control)  real(-array) HTupleHTupleHtuple (real) (double) (double) (double)

The calculated features.

Example (HDevelop)

read_image(Image,'monkey')
threshold(Image,S1,160,255)
connection(S1,S2)
region_features(S2,['area','anisometry'],Value)

Result

The operator region_featuresregion_featuresRegionFeaturesRegionFeaturesRegionFeatures returns the value 2 (H_MSG_TRUE) if the input is not empty. If necessary an exception is raised.

Possible Predecessors

thresholdthresholdThresholdThresholdThreshold, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowing, connectionconnectionConnectionConnectionConnection, runlength_featuresrunlength_featuresRunlengthFeaturesRunlengthFeaturesRunlengthFeatures

Possible Successors

select_shapeselect_shapeSelectShapeSelectShapeSelectShape, select_grayselect_graySelectGraySelectGraySelectGray, shape_transshape_transShapeTransShapeTransShapeTrans, reduce_domainreduce_domainReduceDomainReduceDomainReduceDomain, count_objcount_objCountObjCountObjCountObj

See also

area_centerarea_centerAreaCenterAreaCenterAreaCenter, circularitycircularityCircularityCircularityCircularity, compactnesscompactnessCompactnessCompactnessCompactness, contlengthcontlengthContlengthContlengthContlength, convexityconvexityConvexityConvexityConvexity, rectangularityrectangularityRectangularityRectangularityRectangularity, elliptic_axiselliptic_axisEllipticAxisEllipticAxisEllipticAxis, eccentricityeccentricityEccentricityEccentricityEccentricity, inner_circleinner_circleInnerCircleInnerCircleInnerCircle, smallest_circlesmallest_circleSmallestCircleSmallestCircleSmallestCircle, smallest_rectangle1smallest_rectangle1SmallestRectangle1SmallestRectangle1SmallestRectangle1, smallest_rectangle2smallest_rectangle2SmallestRectangle2SmallestRectangle2SmallestRectangle2, inner_rectangle1inner_rectangle1InnerRectangle1InnerRectangle1InnerRectangle1, roundnessroundnessRoundnessRoundnessRoundness, connect_and_holesconnect_and_holesConnectAndHolesConnectAndHolesConnectAndHoles, area_holesarea_holesAreaHolesAreaHolesAreaHoles, diameter_regiondiameter_regionDiameterRegionDiameterRegionDiameterRegion, orientation_regionorientation_regionOrientationRegionOrientationRegionOrientationRegion, moments_region_2ndmoments_region_2ndMomentsRegion2ndMomentsRegion2ndMomentsRegion2nd, moments_region_2nd_invarmoments_region_2nd_invarMomentsRegion2ndInvarMomentsRegion2ndInvarMomentsRegion2ndInvar, moments_region_2nd_rel_invarmoments_region_2nd_rel_invarMomentsRegion2ndRelInvarMomentsRegion2ndRelInvarMomentsRegion2ndRelInvar, moments_region_3rdmoments_region_3rdMomentsRegion3rdMomentsRegion3rdMomentsRegion3rd, moments_region_3rd_invarmoments_region_3rd_invarMomentsRegion3rdInvarMomentsRegion3rdInvarMomentsRegion3rdInvar, moments_region_centralmoments_region_centralMomentsRegionCentralMomentsRegionCentralMomentsRegionCentral, moments_region_central_invarmoments_region_central_invarMomentsRegionCentralInvarMomentsRegionCentralInvarMomentsRegionCentralInvar, select_objselect_objSelectObjSelectObjSelectObj, select_shapeselect_shapeSelectShapeSelectShapeSelectShape

Module

Foundation


ClassesClasses | | Operators