mod_parallels_xldmod_parallels_xldModParallelsXldModParallelsXldmod_parallels_xld (Operator)
Name
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
static void HOperatorSet.ModParallelsXld(HObject parallels, HObject image, out HObject modParallels, out HObject extParallels, HTuple quality, HTuple minGray, HTuple maxGray, HTuple maxStandard)
HXLDModPara HXLDPara.ModParallelsXld(HImage image, out HXLDExtPara extParallels, HTuple quality, int minGray, int maxGray, HTuple maxStandard)
HXLDModPara HXLDPara.ModParallelsXld(HImage image, out HXLDExtPara extParallels, double quality, int minGray, int maxGray, double maxStandard)
Description
mod_parallels_xldmod_parallels_xldModParallelsXldModParallelsXldModParallelsXldmod_parallels_xld
selects XLD parallels enclosing
homogeneous areas from the input parallels ParallelsParallelsParallelsParallelsparallelsparallels
.
The parameter ImageImageImageImageimageimage
contains the corresponding gray value
image.
Only parallels having a quality factor larger than
QualityQualityQualityQualityqualityquality
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 [MinGrayMinGrayMinGrayMinGrayminGraymin_gray
,MaxGrayMaxGrayMaxGrayMaxGraymaxGraymax_gray
], and if the mean of
all standard deviations is smaller than the upper threshold
MaxStandardMaxStandardMaxStandardMaxStandardmaxStandardmax_standard
, the corresponding parallels are returned as
modified parallels in ModParallelsModParallelsModParallelsModParallelsmodParallelsmod_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 ExtParallelsExtParallelsExtParallelsExtParallelsextParallelsext_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
ParallelsParallelsParallelsParallelsparallelsparallels
(input_object) xld_para-array →
objectHXLDParaHObjectHXLDParaHobject
Input XLD parallels.
ImageImageImageImageimageimage
(input_object) singlechannelimage →
objectHImageHObjectHImageHobject (byte)
Corresponding gray value image.
ModParallelsModParallelsModParallelsModParallelsmodParallelsmod_parallels
(output_object) xld_mod_para-array →
objectHXLDModParaHObjectHXLDModParaHobject *
Modified XLD parallels.
ExtParallelsExtParallelsExtParallelsExtParallelsextParallelsext_parallels
(output_object) xld_ext_para-array →
objectHXLDExtParaHObjectHXLDExtParaHobject *
Extended XLD parallels.
QualityQualityQualityQualityqualityquality
(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
MinGrayMinGrayMinGrayMinGrayminGraymin_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
MaxGrayMaxGrayMaxGrayMaxGraymaxGraymax_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
MaxStandardMaxStandardMaxStandardMaxStandardmaxStandardmax_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_xldGenParallelsXldGenParallelsXldGenParallelsXldgen_parallels_xld
Possible Successors
max_parallels_xldmax_parallels_xldMaxParallelsXldMaxParallelsXldMaxParallelsXldmax_parallels_xld
See also
info_parallels_xldinfo_parallels_xldInfoParallelsXldInfoParallelsXldInfoParallelsXldinfo_parallels_xld
Module
Foundation