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
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
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Automatically parallelized on tuple level.
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 2 (H_MSG_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