elliptic_axis_grayelliptic_axis_grayEllipticAxisGrayEllipticAxisGrayelliptic_axis_gray (Operator)

Name

elliptic_axis_grayelliptic_axis_grayEllipticAxisGrayEllipticAxisGrayelliptic_axis_gray — Compute the orientation and major axes of a region in a gray value image.

Signature

elliptic_axis_gray(Regions, Image : : : Ra, Rb, Phi)

Herror elliptic_axis_gray(const Hobject Regions, const Hobject Image, double* Ra, double* Rb, double* Phi)

Herror T_elliptic_axis_gray(const Hobject Regions, const Hobject Image, Htuple* Ra, Htuple* Rb, Htuple* Phi)

void EllipticAxisGray(const HObject& Regions, const HObject& Image, HTuple* Ra, HTuple* Rb, HTuple* Phi)

HTuple HImage::EllipticAxisGray(const HRegion& Regions, HTuple* Rb, HTuple* Phi) const

double HImage::EllipticAxisGray(const HRegion& Regions, double* Rb, double* Phi) const

HTuple HRegion::EllipticAxisGray(const HImage& Image, HTuple* Rb, HTuple* Phi) const

double HRegion::EllipticAxisGray(const HImage& Image, double* Rb, double* Phi) const

static void HOperatorSet.EllipticAxisGray(HObject regions, HObject image, out HTuple ra, out HTuple rb, out HTuple phi)

HTuple HImage.EllipticAxisGray(HRegion regions, out HTuple rb, out HTuple phi)

double HImage.EllipticAxisGray(HRegion regions, out double rb, out double phi)

HTuple HRegion.EllipticAxisGray(HImage image, out HTuple rb, out HTuple phi)

double HRegion.EllipticAxisGray(HImage image, out double rb, out double phi)

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

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

Description

The operator elliptic_axis_grayelliptic_axis_grayEllipticAxisGrayEllipticAxisGrayEllipticAxisGrayelliptic_axis_gray calculates the length of the axes RaRaRaRarara and RbRbRbRbrbrb and the orientation PhiPhiPhiPhiphiphi of the ellipse having the “same orientation” and the “aspect ratio” as the input region in RegionsRegionsRegionsRegionsregionsregions. Therefore, gray value moments which are derived from the ImageImageImageImageimageimage are used. Several input regions can be passed in RegionsRegionsRegionsRegionsregionsregions as tuples. The length of the major axis RaRaRaRarara and the minor axis RbRbRbRbrbrb as well as the orientation of the major axis with regard to the x-axis (PhiPhiPhiPhiphiphi) are determined. The angle is returned in radians. The calculation is done analogously to elliptic_axiselliptic_axisEllipticAxisEllipticAxisEllipticAxiselliptic_axis. The only difference is that in elliptic_axis_grayelliptic_axis_grayEllipticAxisGrayEllipticAxisGrayEllipticAxisGrayelliptic_axis_gray the gray value moments are used instead of the region moments. For the definition of the gray value moments, see area_center_grayarea_center_grayAreaCenterGrayAreaCenterGrayAreaCenterGrayarea_center_gray.

Note, that in the case where the gray value area is zero the length of the axes RaRaRaRarara and RbRbRbRbrbrb as well as the orientation PhiPhiPhiPhiphiphi are also set to zero.

Attention

Note that the operator elliptic_axis_grayelliptic_axis_grayEllipticAxisGrayEllipticAxisGrayEllipticAxisGrayelliptic_axis_gray only considers the given RegionsRegionsRegionsRegionsregionsregions and ignores any previously set domain of the input image ImageImageImageImageimageimage.

Execution Information

Parameters

RegionsRegionsRegionsRegionsregionsregions (input_object)  region(-array) objectHRegionHObjectHRegionHobject

Region(s) to be examined.

ImageImageImageImageimageimage (input_object)  singlechannelimage objectHImageHObjectHImageHobject (byte / direction / cyclic / int1 / int2 / uint2 / int4 / real)

Gray value image.

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

Major axis of the region.

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

Minor axis of the region.

PhiPhiPhiPhiphiphi (output_control)  angle.rad(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Angle enclosed by the major axis and the x-axis.

Result

elliptic_axis_grayelliptic_axis_grayEllipticAxisGrayEllipticAxisGrayEllipticAxisGrayelliptic_axis_gray returns TRUE if all parameters are correct and no error occurs during execution. 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>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>). If necessary, an exception is raised.

Possible Predecessors

thresholdthresholdThresholdThresholdThresholdthreshold, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowingregiongrowing, connectionconnectionConnectionConnectionConnectionconnection

Possible Successors

gen_ellipsegen_ellipseGenEllipseGenEllipseGenEllipsegen_ellipse

Alternatives

elliptic_axiselliptic_axisEllipticAxisEllipticAxisEllipticAxiselliptic_axis

See also

area_center_grayarea_center_grayAreaCenterGrayAreaCenterGrayAreaCenterGrayarea_center_gray

Module

Foundation