diameter_regiondiameter_regionDiameterRegionDiameterRegiondiameter_region (算子)

名称

diameter_regiondiameter_regionDiameterRegionDiameterRegiondiameter_region — 一个区域的两个边界点之间的最大距离。

签名

diameter_region(Regions : : : Row1, Column1, Row2, Column2, Diameter)

Herror diameter_region(const Hobject Regions, Hlong* Row1, Hlong* Column1, Hlong* Row2, Hlong* Column2, double* Diameter)

Herror T_diameter_region(const Hobject Regions, Htuple* Row1, Htuple* Column1, Htuple* Row2, Htuple* Column2, Htuple* Diameter)

void DiameterRegion(const HObject& Regions, HTuple* Row1, HTuple* Column1, HTuple* Row2, HTuple* Column2, HTuple* Diameter)

void HRegion::DiameterRegion(HTuple* Row1, HTuple* Column1, HTuple* Row2, HTuple* Column2, HTuple* Diameter) const

void HRegion::DiameterRegion(Hlong* Row1, Hlong* Column1, Hlong* Row2, Hlong* Column2, double* Diameter) const

static void HOperatorSet.DiameterRegion(HObject regions, out HTuple row1, out HTuple column1, out HTuple row2, out HTuple column2, out HTuple diameter)

void HRegion.DiameterRegion(out HTuple row1, out HTuple column1, out HTuple row2, out HTuple column2, out HTuple diameter)

void HRegion.DiameterRegion(out int row1, out int column1, out int row2, out int column2, out double diameter)

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

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

描述

算子 diameter_regiondiameter_regionDiameterRegionDiameterRegionDiameterRegiondiameter_region calculates the maximal distance between two boundary points of a region. The coordinates of these two extremes and the distance between them will be returned.

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

注意

If the region is empty, the results of Row1Row1Row1Row1row1row_1, Column1Column1Column1Column1column1column_1, Row2Row2Row2Row2row2row_2 and Column2Column2Column2Column2column2column_2 (all of them = 0) may lead to confusion.

执行信息

参数

RegionsRegionsRegionsRegionsregionsregions (输入对象)  region(-array) objectHRegionHObjectHRegionHobject

Regions to be examined.

Row1Row1Row1Row1row1row_1 (输出控制)  line.begin.y(-array) HTupleSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Row index of the first extreme point.

Column1Column1Column1Column1column1column_1 (输出控制)  line.begin.x(-array) HTupleSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Column index of the first extreme point.

Row2Row2Row2Row2row2row_2 (输出控制)  line.end.y(-array) HTupleSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Row index of the second extreme point.

Column2Column2Column2Column2column2column_2 (输出控制)  line.end.x(-array) HTupleSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Column index of the second extreme point.

DiameterDiameterDiameterDiameterdiameterdiameter (输出控制)  number(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Distance of the two extreme points.

复杂度

If F is the area of a region, the runtime complexity amounts to O(sqrt(F)) on average.

结果

算子 diameter_regiondiameter_regionDiameterRegionDiameterRegionDiameterRegiondiameter_region 返回值 2 ( H_MSG_TRUE) , if the input is not empty. The reaction to empty input (no input regions are available) may be determined with the help of 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 reaction concerning an empty region (region is the empty set) will be determined by the operator 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>)。如有必要,则抛出异常。

可能的前趋

thresholdthresholdThresholdThresholdThresholdthreshold, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowingregiongrowing, connectionconnectionConnectionConnectionConnectionconnection, runlength_featuresrunlength_featuresRunlengthFeaturesRunlengthFeaturesRunlengthFeaturesrunlength_features

可能的后继

disp_linedisp_lineDispLineDispLineDispLinedisp_line

替代

smallest_rectangle2smallest_rectangle2SmallestRectangle2SmallestRectangle2SmallestRectangle2smallest_rectangle2

模块

基础