union_straight_contours_histo_xldT_union_straight_contours_histo_xldUnionStraightContoursHistoXldUnionStraightContoursHistoXld (Operator)


union_straight_contours_histo_xldT_union_straight_contours_histo_xldUnionStraightContoursHistoXldUnionStraightContoursHistoXld — Compute the union of neighboring straight contours that have a similar distance from a given line.


union_straight_contours_histo_xldunion_straight_contours_histo_xldUnionStraightContoursHistoXldUnionStraightContoursHistoXldUnionStraightContoursHistoXld is obsolete and is only provided for reasons of backward compatibility. New applications should use the operators of the chapter 1D Measuring instead.


union_straight_contours_histo_xld(Contours : UnionContours, SelectedContours : RefLineStartRow, RefLineStartColumn, RefLineEndRow, RefLineEndColumn, Width, MaxWidth, FilterSize : HistoValues)

Herror T_union_straight_contours_histo_xld(const Hobject Contours, Hobject* UnionContours, Hobject* SelectedContours, const Htuple RefLineStartRow, const Htuple RefLineStartColumn, const Htuple RefLineEndRow, const Htuple RefLineEndColumn, const Htuple Width, const Htuple MaxWidth, const Htuple FilterSize, Htuple* HistoValues)

void UnionStraightContoursHistoXld(const HObject& Contours, HObject* UnionContours, HObject* SelectedContours, const HTuple& RefLineStartRow, const HTuple& RefLineStartColumn, const HTuple& RefLineEndRow, const HTuple& RefLineEndColumn, const HTuple& Width, const HTuple& MaxWidth, const HTuple& FilterSize, HTuple* HistoValues)

HXLDCont HXLDCont::UnionStraightContoursHistoXld(HXLDCont* SelectedContours, Hlong RefLineStartRow, Hlong RefLineStartColumn, Hlong RefLineEndRow, Hlong RefLineEndColumn, Hlong Width, Hlong MaxWidth, Hlong FilterSize, HTuple* HistoValues) const

static void HOperatorSet.UnionStraightContoursHistoXld(HObject contours, out HObject unionContours, out HObject selectedContours, HTuple refLineStartRow, HTuple refLineStartColumn, HTuple refLineEndRow, HTuple refLineEndColumn, HTuple width, HTuple maxWidth, HTuple filterSize, out HTuple histoValues)

HXLDCont HXLDCont.UnionStraightContoursHistoXld(out HXLDCont selectedContours, int refLineStartRow, int refLineStartColumn, int refLineEndRow, int refLineEndColumn, int width, int maxWidth, int filterSize, out HTuple histoValues)


union_straight_contours_histo_xldunion_straight_contours_histo_xldUnionStraightContoursHistoXldUnionStraightContoursHistoXldUnionStraightContoursHistoXld merges neighboring XLD contours ContoursContoursContoursContourscontours if certain criteria are fulfilled.

The maximum and minimum distances of the contours to a given reference line are calculated. From this distances a histogram is created. If the histogram should be smoothed, FilterSizeFilterSizeFilterSizeFilterSizefilterSize must be greater than one. Afterwards, the resulting histogram is divided into ranges (from minima to minima). Contours which lie in the same range are concatenated to a new contour. If the width of the range is greater than MaxWidthMaxWidthMaxWidthMaxWidthmaxWidth, all contours in this range are ignored (removed). If a contour lies in two ranges or more it is ignored, too. If there are parallel contours, there is a risk of merging neighboring contours.

The parameters of the regression lines are calculated newly for merged contours.

The resulting contours cannot be displayed.


Before the contour parameters can be returned by union_straight_contours_histo_xldunion_straight_contours_histo_xldUnionStraightContoursHistoXldUnionStraightContoursHistoXldUnionStraightContoursHistoXld, the parameters of the regression line to the contour must be calculated by calling regress_contours_xldregress_contours_xldRegressContoursXldRegressContoursXldRegressContoursXld. Note further that already closed contours are not considered for a union anymore.

Execution Information


ContoursContoursContoursContourscontours (input_object)  xld_cont-array objectHXLDContHXLDContHobject

Input XLD contours.

UnionContoursUnionContoursUnionContoursUnionContoursunionContours (output_object)  xld_cont-array objectHXLDContHXLDContHobject *

Output XLD contours.

SelectedContoursSelectedContoursSelectedContoursSelectedContoursselectedContours (output_object)  xld_cont-array objectHXLDContHXLDContHobject *

Output XLD contours.

RefLineStartRowRefLineStartRowRefLineStartRowRefLineStartRowrefLineStartRow (input_control)  line.begin.y HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

y coordinate of the starting point of the reference line.

Default value: 0

RefLineStartColumnRefLineStartColumnRefLineStartColumnRefLineStartColumnrefLineStartColumn (input_control)  line.begin.x HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

x coordinate of the starting point of the reference line.

Default value: 0

RefLineEndRowRefLineEndRowRefLineEndRowRefLineEndRowrefLineEndRow (input_control)  line.end.y HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

y coordinate of the endpoint of the reference line.

Default value: 0

RefLineEndColumnRefLineEndColumnRefLineEndColumnRefLineEndColumnrefLineEndColumn (input_control)  line.end.x HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

x coordinate of the endpoint of the reference line.

Default value: 0

WidthWidthWidthWidthwidth (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Maximum distance.

Default value: 1

MaxWidthMaxWidthMaxWidthMaxWidthmaxWidth (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Maximum Width between two minimas.

Default value: 1

FilterSizeFilterSizeFilterSizeFilterSizefilterSize (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Size of Smoothfilter

Default value: 1

Typical range of values: 1 ≤ FilterSize FilterSize FilterSize FilterSize filterSize ≤ 63

HistoValuesHistoValuesHistoValuesHistoValueshistoValues (output_control)  integer-array HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Output Values of Histogram.