Operator Reference

mod_parallels_xldmod_parallels_xldModParallelsXldModParallelsXldmod_parallels_xld (Operator)

mod_parallels_xldmod_parallels_xldModParallelsXldModParallelsXldmod_parallels_xld — Extract parallel XLD polygons enclosing a homogeneous area.

Signature

Herror mod_parallels_xld(const Hobject Parallels, const Hobject Image, Hobject* ModParallels, Hobject* ExtParallels, double Quality, const Hlong MinGray, const Hlong MaxGray, double MaxStandard)

Herror T_mod_parallels_xld(const Hobject Parallels, const Hobject Image, Hobject* ModParallels, Hobject* ExtParallels, const Htuple Quality, const Htuple MinGray, const Htuple MaxGray, const Htuple MaxStandard)

void ModParallelsXld(const HObject& Parallels, const HObject& Image, HObject* ModParallels, HObject* ExtParallels, const HTuple& Quality, const HTuple& MinGray, const HTuple& MaxGray, const HTuple& MaxStandard)

HXLDModPara HXLDPara::ModParallelsXld(const HImage& Image, HXLDExtPara* ExtParallels, const HTuple& Quality, Hlong MinGray, Hlong MaxGray, const HTuple& MaxStandard) const

HXLDModPara HXLDPara::ModParallelsXld(const HImage& Image, HXLDExtPara* ExtParallels, double Quality, Hlong MinGray, Hlong MaxGray, double MaxStandard) const

def mod_parallels_xld(parallels: HObject, image: HObject, quality: Union[float, int], min_gray: int, max_gray: int, max_standard: Union[float, int]) -> Tuple[HObject, HObject]

Description

mod_parallels_xldmod_parallels_xldModParallelsXldModParallelsXldmod_parallels_xld selects XLD parallels enclosing homogeneous areas from the input parallels ParallelsParallelsParallelsparallelsparallels. The parameter ImageImageImageimageimage contains the corresponding gray value image.

Only parallels having a quality factor larger than QualityQualityQualityqualityquality are examined. The algorithm performs parallel cross sections one pixel apart, and parallel to the line segments in the area of overlap between two parallel line segments.

In the first iteration, the mean gray value for each of the lines in the cross section is calculated. In the second iteration, the standard deviations of the gray values along each line are computed.

If the mean gray value of an area between parallels lies in the interval [MinGrayMinGrayMinGrayminGraymin_gray,MaxGrayMaxGrayMaxGraymaxGraymax_gray], and if the mean of all standard deviations is smaller than the upper threshold MaxStandardMaxStandardMaxStandardmaxStandardmax_standard, the corresponding parallels are returned as modified parallels in ModParallelsModParallelsModParallelsmodParallelsmod_parallels.

In a second step, all polygon segments adjacent to parallels bordering homogeneous areas are checked for homogeneity. To do so, a rectangle having the width of the last area enclosed by a modified parallel is constructed, and checked for homogeneity using the algorithm described above. This process is continued as long as there are adjacent polygon segments. The polygons thus found are returned as extended parallels in ExtParallelsExtParallelsExtParallelsextParallelsext_parallels.

Execution Information

  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).
  • Multithreading scope: global (may be called from any thread).
  • Processed without parallelization.

Parameters

ParallelsParallelsParallelsparallelsparallels (input_object)  xld_para-array objectHXLDParaHObjectHObjectHobject

Input XLD parallels.

ImageImageImageimageimage (input_object)  singlechannelimage objectHImageHObjectHObjectHobject (byte)

Corresponding gray value image.

ModParallelsModParallelsModParallelsmodParallelsmod_parallels (output_object)  xld_mod_para-array objectHXLDModParaHObjectHObjectHobject *

Modified XLD parallels.

ExtParallelsExtParallelsExtParallelsextParallelsext_parallels (output_object)  xld_ext_para-array objectHXLDExtParaHObjectHObjectHobject *

Extended XLD parallels.

QualityQualityQualityqualityquality (input_control)  number HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Minimum quality factor (measure of parallelism).

Default: 0.4

Suggested values: 0.1, 0.2, 0.3, 0.4, 0.5, 0.6

Restriction: 0.0 <= Quality && Quality <= 1.0

MinGrayMinGrayMinGrayminGraymin_gray (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Minimum mean gray value.

Default: 160

Suggested values: 80, 100, 120, 140, 160, 180

Restriction: 0 <= MinGray && MinGray <= 255

MaxGrayMaxGrayMaxGraymaxGraymax_gray (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Maximum mean gray value.

Default: 220

Suggested values: 140, 160, 180, 200, 220, 240

Restriction: 0 <= MaxGray && MaxGray <= 255 && MaxGray >= MinGray

MaxStandardMaxStandardMaxStandardmaxStandardmax_standard (input_control)  number HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Maximum allowed standard deviation.

Default: 10.0

Suggested values: 5.0, 10.0, 15.0, 20.0

Restriction: MaxStandard >= 0.0

Possible Predecessors

gen_parallels_xldgen_parallels_xldGenParallelsXldGenParallelsXldgen_parallels_xld

Possible Successors

max_parallels_xldmax_parallels_xldMaxParallelsXldMaxParallelsXldmax_parallels_xld

See also

info_parallels_xldinfo_parallels_xldInfoParallelsXldInfoParallelsXldinfo_parallels_xld

Module

Foundation