merge_regions_line_scanmerge_regions_line_scanMergeRegionsLineScanMergeRegionsLineScanmerge_regions_line_scan (Operator)
Name
merge_regions_line_scanmerge_regions_line_scanMergeRegionsLineScanMergeRegionsLineScanmerge_regions_line_scan
— 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_scanMergeRegionsLineScanMergeRegionsLineScanMergeRegionsLineScanmerge_regions_line_scan
connects adjacent
regions, which were segmented from adjacent images with the height
ImageHeightImageHeightImageHeightImageHeightimageHeightimage_height
. This operator was especially designed to
process regions that were extracted from images grabbed by a
line scan camera. CurrRegionsCurrRegionsCurrRegionsCurrRegionscurrRegionscurr_regions
contains the regions from the
current image and PrevRegionsPrevRegionsPrevRegionsPrevRegionsprevRegionsprev_regions
the regions from the previous
one.
With the help of the parameter MergeBorderMergeBorderMergeBorderMergeBordermergeBordermerge_border
two cases can be
distinguished: If the top (first) line of the current image touches
the bottom (last) line of the previous image, MergeBorderMergeBorderMergeBorderMergeBordermergeBordermerge_border
must be set to 'top'"top""top""top""top""top", otherwise set MergeBorderMergeBorderMergeBorderMergeBordermergeBordermerge_border
to
'bottom'"bottom""bottom""bottom""bottom""bottom".
If the operator merge_regions_line_scanmerge_regions_line_scanMergeRegionsLineScanMergeRegionsLineScanMergeRegionsLineScanmerge_regions_line_scan
is used
recursively, the parameter MaxImagesRegionMaxImagesRegionMaxImagesRegionMaxImagesRegionmaxImagesRegionmax_images_region
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_scanMergeRegionsLineScanMergeRegionsLineScanMergeRegionsLineScanmerge_regions_line_scan
returns two region
arrays. PrevMergedRegionsPrevMergedRegionsPrevMergedRegionsPrevMergedRegionsprevMergedRegionsprev_merged_regions
contains all those regions from
the previous input regions PrevRegionsPrevRegionsPrevRegionsPrevRegionsprevRegionsprev_regions
, which could not be
merged with a current region. CurrMergedRegionsCurrMergedRegionsCurrMergedRegionsCurrMergedRegionscurrMergedRegionscurr_merged_regions
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
(MergeBorderMergeBorderMergeBorderMergeBordermergeBordermerge_border
='top'"top""top""top""top""top") or downward
(MergeBorderMergeBorderMergeBorderMergeBordermergeBordermerge_border
='bottom'"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""clip_region" (see
also set_systemset_systemSetSystemSetSystemSetSystemset_system
) will internally be set to 'false'"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
CurrRegionsCurrRegionsCurrRegionsCurrRegionscurrRegionscurr_regions
(input_object) region(-array) →
objectHRegionHObjectHRegionHobject
Current input regions.
PrevRegionsPrevRegionsPrevRegionsPrevRegionsprevRegionsprev_regions
(input_object) region(-array) →
objectHRegionHObjectHRegionHobject
Merged regions from the previous iteration.
CurrMergedRegionsCurrMergedRegionsCurrMergedRegionsCurrMergedRegionscurrMergedRegionscurr_merged_regions
(output_object) region(-array) →
objectHRegionHObjectHRegionHobject *
Current regions, merged with old ones where applicable.
PrevMergedRegionsPrevMergedRegionsPrevMergedRegionsPrevMergedRegionsprevMergedRegionsprev_merged_regions
(output_object) region(-array) →
objectHRegionHObjectHRegionHobject *
Regions from the previous iteration which could not be
merged with the current ones.
ImageHeightImageHeightImageHeightImageHeightimageHeightimage_height
(input_control) integer →
HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Height of the line scan images.
Default:
512
Suggested values:
240, 480, 512, 1024
MergeBorderMergeBorderMergeBorderMergeBordermergeBordermerge_border
(input_control) string →
HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Image line of the current image, which touches the
previous image.
Default:
'top'
"top"
"top"
"top"
"top"
"top"
List of values:
'bottom'"bottom""bottom""bottom""bottom""bottom", 'top'"top""top""top""top""top"
MaxImagesRegionMaxImagesRegionMaxImagesRegionMaxImagesRegionmaxImagesRegionmax_images_region
(input_control) integer →
HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Maximum number of images for a single region.
Default:
3
Suggested values:
1, 2, 3, 4, 5
Result
The operator merge_regions_line_scanmerge_regions_line_scanMergeRegionsLineScanMergeRegionsLineScanMergeRegionsLineScanmerge_regions_line_scan
returns the value 2 (
H_MSG_TRUE)
if the given parameters are correct.
Otherwise, an exception will be raised.
Module
Foundation