merge_regions_line_scanmerge_regions_line_scanMergeRegionsLineScanMergeRegionsLineScan (Operator)
Name
merge_regions_line_scanmerge_regions_line_scanMergeRegionsLineScanMergeRegionsLineScan
— Merge regions from line scan images.
Signature
Herror merge_regions_line_scan(const Hobject CurrRegions, const Hobject PrevRegions, Hobject* CurrMergedRegions, Hobject* PrevMergedRegions, const Hlong ImageHeight, const char* MergeBorder, const Hlong MaxImagesRegion)
Herror T_merge_regions_line_scan(const Hobject CurrRegions, const Hobject PrevRegions, Hobject* CurrMergedRegions, Hobject* PrevMergedRegions, const Htuple ImageHeight, const Htuple MergeBorder, const Htuple MaxImagesRegion)
void MergeRegionsLineScan(const HObject& CurrRegions, const HObject& PrevRegions, HObject* CurrMergedRegions, HObject* PrevMergedRegions, const HTuple& ImageHeight, const HTuple& MergeBorder, const HTuple& MaxImagesRegion)
HRegion HRegion::MergeRegionsLineScan(const HRegion& PrevRegions, HRegion* PrevMergedRegions, Hlong ImageHeight, const HString& MergeBorder, Hlong MaxImagesRegion) const
HRegion HRegion::MergeRegionsLineScan(const HRegion& PrevRegions, HRegion* PrevMergedRegions, Hlong ImageHeight, const char* MergeBorder, Hlong MaxImagesRegion) const
HRegion HRegion::MergeRegionsLineScan(const HRegion& PrevRegions, HRegion* PrevMergedRegions, Hlong ImageHeight, const wchar_t* MergeBorder, Hlong MaxImagesRegion) const
(Windows only)
static void HOperatorSet.MergeRegionsLineScan(HObject currRegions, HObject prevRegions, out HObject currMergedRegions, out HObject prevMergedRegions, HTuple imageHeight, HTuple mergeBorder, HTuple maxImagesRegion)
HRegion HRegion.MergeRegionsLineScan(HRegion prevRegions, out HRegion prevMergedRegions, int imageHeight, string mergeBorder, int maxImagesRegion)
Description
The operator merge_regions_line_scanmerge_regions_line_scanMergeRegionsLineScanMergeRegionsLineScanMergeRegionsLineScan
connects adjacent
regions, which were segmentated from adjacent images with the height
ImageHeightImageHeightImageHeightImageHeightimageHeight
. This operator was especially designed to
process regions that were extracted from images grabbed by a
line scan camera. CurrRegionsCurrRegionsCurrRegionsCurrRegionscurrRegions
contains the regions from the
current image and PrevRegionsPrevRegionsPrevRegionsPrevRegionsprevRegions
the regions from the previous
one.
With the help of the parameter MergeBorderMergeBorderMergeBorderMergeBordermergeBorder
two cases can be
distinguished: If the top (first) line of the current image touches
the bottom (last) line of the previous image, MergeBorderMergeBorderMergeBorderMergeBordermergeBorder
must be set to 'top'"top""top""top""top", otherwise set MergeBorderMergeBorderMergeBorderMergeBordermergeBorder
to
'bottom'"bottom""bottom""bottom""bottom".
If the operator merge_regions_line_scanmerge_regions_line_scanMergeRegionsLineScanMergeRegionsLineScanMergeRegionsLineScan
is used
recursivly, the parameter MaxImagesRegionMaxImagesRegionMaxImagesRegionMaxImagesRegionmaxImagesRegion
determines the
maximum number of images which are covered by a merged region. All
older region parts are removed.
The operator merge_regions_line_scanmerge_regions_line_scanMergeRegionsLineScanMergeRegionsLineScanMergeRegionsLineScan
returns two region
arrays. PrevMergedRegionsPrevMergedRegionsPrevMergedRegionsPrevMergedRegionsprevMergedRegions
contains all those regions from
the previous input regions PrevRegionsPrevRegionsPrevRegionsPrevRegionsprevRegions
, which could not be
merged with a current region. CurrMergedRegionsCurrMergedRegionsCurrMergedRegionsCurrMergedRegionscurrMergedRegions
collects
all current regions together with the merged parts from the previous
images. Merged regions will exceed the original image, because the
previous regions are moved upward
(MergeBorderMergeBorderMergeBorderMergeBordermergeBorder
='top'"top""top""top""top") or downward
(MergeBorderMergeBorderMergeBorderMergeBordermergeBorder
='bottom'"bottom""bottom""bottom""bottom") according to the image
height. For this the system parameter 'clip_region'"clip_region""clip_region""clip_region""clip_region" (see
also set_systemset_systemSetSystemSetSystemSetSystem
) will internaly be set to 'false'"false""false""false""false".
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
CurrRegionsCurrRegionsCurrRegionsCurrRegionscurrRegions
(input_object) region(-array) →
objectHRegionHRegionHobject
Current input regions.
PrevRegionsPrevRegionsPrevRegionsPrevRegionsprevRegions
(input_object) region(-array) →
objectHRegionHRegionHobject
Merged regions from the previous iteration.
CurrMergedRegionsCurrMergedRegionsCurrMergedRegionsCurrMergedRegionscurrMergedRegions
(output_object) region(-array) →
objectHRegionHRegionHobject *
Current regions, merged with old ones where applicable.
PrevMergedRegionsPrevMergedRegionsPrevMergedRegionsPrevMergedRegionsprevMergedRegions
(output_object) region(-array) →
objectHRegionHRegionHobject *
Regions from the previous iteration which could not be
merged with the current ones.
ImageHeightImageHeightImageHeightImageHeightimageHeight
(input_control) integer →
HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Height of the line scan images.
Default value: 512
Suggested values: 240, 480, 512, 1024
MergeBorderMergeBorderMergeBorderMergeBordermergeBorder
(input_control) string →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Image line of the current image, which touches the
previous image.
Default value:
'top'
"top"
"top"
"top"
"top"
List of values: 'bottom'"bottom""bottom""bottom""bottom", 'top'"top""top""top""top"
MaxImagesRegionMaxImagesRegionMaxImagesRegionMaxImagesRegionmaxImagesRegion
(input_control) integer →
HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Maximum number of images for a single region.
Default value: 3
Suggested values: 1, 2, 3, 4, 5
Result
The operator merge_regions_line_scanmerge_regions_line_scanMergeRegionsLineScanMergeRegionsLineScanMergeRegionsLineScan
returns the value 2 (H_MSG_TRUE)
if the given parameters are correct.
Otherwise, an exception will be raised.
Module
Foundation