GoWebScan API
GoWebScanVisionMergeTask.h
Go to the documentation of this file.
1 /**
2 * @file GoWebScanVisionMergeTask.h
3 * @brief Declares a GoWebScanVisionMergeTask object.
4 *
5 * @internal
6 * Copyright (C) 2017-2026 by LMI Technologies Inc.
7 * Licensed under the MIT License.
8 * Redistributed files must retain the above copyright notice.
9 */
10 
11 #ifndef GO_WEB_SCAN_VISION_MERGE_TASK_H
12 #define GO_WEB_SCAN_VISION_MERGE_TASK_H
13 
18 
19 /**
20 * @class GoWebScanVisionMergeTask
21 * @extends kObject
22 * @ingroup GoWebScanSdk-Control
23 * @brief Represents a task for merging vision tiles along X-axis from the cameras in a top
24 * or bottom group. Specifically, the task accepts a list of vision tiles that
25 * correspond to the same Y-position, and merges them into a single group-wide tile
26 * according to their respective source locations along the X-axis. Gaps and overlaps
27 * between adjacent tiles are processed according to configuration options.
28 * The task accepts GoWebScanTileListMsg objects and produces GoWebScanVisionTileMsg
29 * objects.
30 *
31 * Processing steps:
32 * -# Clear the background of the output system tile.
33 * -# Add GoWebScanTileListMsg input tiles to the processing queue
34 * -# Blend the overlap between tiles. Overlaps are processed by searching for the last
35 * valid left element and first valid right element within the overlapping region
36 * between two tiles. If overlap exists, the overlapping elements are blended by
37 * weighted average.
38 * -# Fill gaps between tiles. Gaps are processed by searching for the last valid left
39 * element and first valid right element within the gap search window. If these
40 * elements are closer than the gap threshold, any null elements in between are
41 * filled in (nearest neighbour).
42 */
44 
45 // Forward declaration
47 
48 /**
49 * Constructs a GoWebScanVisionMergeTask object.
50 *
51 * @public @memberof GoWebScanVisionMergeTask
52 * @param task Receives the constructed GoWebScanVisionMergeTask object.
53 * @param process Associated GoWebScanProcess object.
54 * @param configGroup Group configuration.
55 * @param allocator Memory allocator (or kNULL for default).
56 * @return Operation status.
57 */
59 
60 /**
61 * Sets the handler for receiving merged system vision tiles.
62 *
63 * @public @memberof GoWebScanVisionMergeTask
64 * @param task GoWebScanVisionMergeTask object.
65 * @param send Callback function
66 * @param context Receiver argument for callback.
67 * @return Operation status.
68 */
70 
71 /**
72 * Adds a message to the processing queue. Dequeues a message at the end of the queue to submit
73 * to the pipe for scheduling if no other job is currently pending.
74 *
75 * @public @memberof GoWebScanVisionMergeTask
76 * @param task GoWebScanVisionMergeTask object.
77 * @param msg Tile list message to enqueue.
78 * @return Operation status.
79 */
81 
82 #include <GoWebScanSdk/GoWebScanVisionMergeTask.x.h>
83 
84 #endif
Declares the GoWebScanPipeTask class.
Represents a task for processing raw sensor data to produce system web tiles (Web mode) or detected o...
Declares a GoWebScanPipe object.
kStatus(kCall * GoWebScanPipeSendFx)(kPointer context, GoWebScanPipeMsg msg)
Defines the signature of the handler used by tasks to receive a message from the pipe.
Definition: GoWebScanPipe.h:33
Essential GoWebScan declarations.
kStatus GoWebScanVisionMergeTask_SetReceiver(GoWebScanVisionMergeTask task, GoWebScanPipeSendFx send, kPointer context)
Sets the handler for receiving merged system vision tiles.
Represents a container for group-level parameters which are translated from user parameters set in Go...
kStatus GoWebScanVisionMergeTask_Send(GoWebScanVisionMergeTask task, GoWebScanPipeMsg msg)
Adds a message to the processing queue.
Base class for a msg that can be processed with a GoWebScanPipeTask and submitted to the GoWebScanPip...
kStatus GoWebScanVisionMergeTask_Construct(GoWebScanVisionMergeTask *task, GoWebScanProcess process, GoWebScanConfigGroup configGroup, kAlloc allocator)
Constructs a GoWebScanVisionMergeTask object.
Represents a task for merging vision tiles along X-axis from the cameras in a top or bottom group...
Declares a GoWebScanConfig object.