GoWebScan API
GoWebScanProfileSampleTask.h
Go to the documentation of this file.
1 /**
2 * @file GoWebScanProfileSampleTask.h
3 * @brief Declares a GoWebScanProfileSampleTask 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_PROFILE_SAMPLE_TASK_H
12 #define GO_WEB_SCAN_PROFILE_SAMPLE_TASK_H
13 
18 
19 /**
20 * @class GoWebScanProfileSampleTask
21 * @extends kObject
22 * @ingroup GoWebScanSdk-Control
23 * @brief Represents a task for resampling raw profile points from a single camera to
24 * generate profile tiles or presence tiles (for object detection). The task accepts
25 * GoWebScanProfileInputMsg objects and produces GoWebScanProfileTileMsg objects.
26 * When profile input messages are received, each input row is processed and then
27 * added to a GoWebScanProfileYResampler object. When the GoWebScanProfileYResampler
28 * completes a row, the row is passed back to the GoWebScanProfileSampleTask,
29 * processed, and added to an output tile.
30 *
31 * The processing steps for each row of input data is:
32 * -# Apply profile mask (as defined by the obstructions in GoWebScanSettings).
33 * -# Reorient the input to match standard system orientation.
34 * -# Apply Z-offsets as calculated from system calibration.
35 * -# Resample the row in X.
36 * -# Run the GoWebScanProfileYResampler algorithm.
37 */
39 
40 // Forward declaration
42 
43 /**
44  * Constructs a GoWebScanProfileSampleTask object.
45  *
46  * @public @memberof GoWebScanProfileSampleTask
47  * @param task Receives the constructed GoWebScanProfileSampleTask object.
48  * @param process Associated GoWebScanProcess object.
49  * @param configNode Node configuration.
50  * @param outputType Whether the task is merging profile tiles intended for presence detection
51  * or is just merging standard profile tiles.
52  * @param allocator Memory allocator (or kNULL for default).
53  * @return Operation status.
54  */
56 
57 /**
58 * Sets the handler for receiving resampled profile tiles.
59 *
60 * @public @memberof GoWebScanProfileSampleTask
61 * @param task GoWebScanProfileSampleTask object.
62 * @param send Callback function
63 * @param context Receiver argument for callback.
64 * @return Operation status.
65 */
67 
68 /**
69  * Dispatches a processing job (task + message) to the pipe. Sends the message to a task's
70  * message queue. The task will submit the message to the pipe for processing if no other job is
71  * pending.
72  *
73  * @public @memberof GoWebScanProfileSampleTask
74  * @param task GoWebScanProfileSampleTask object.
75  * @param msg Message to dispatch.
76  * @return Operation status.
77  */
79 
80 /**
81 * Adds a message to the processing queue. Dequeues a message at the end of the queue to submit
82 * to the pipe for scheduling if no other job is currently pending.
83 *
84 * @public @memberof GoWebScanProfileSampleTask
85 * @param task GoWebScanProfileSampleTask object.
86 * @param msg Profile input message to enqueue.
87 * @return Operation status.
88 */
90 
91 /**
92 * Clears Y-resampler algorithm and resets internal variables.
93 *
94 * @public @memberof GoWebScanProfileSampleTask
95 * @param task GoWebScanProfileSampleTask object.
96 * @return Operation status.
97 */
99 
100 /**
101  * Gets the node configuration for the node associated with this task.
102  *
103  * @public @memberof GoWebScanProfileSampleTask
104  * @param task GoWebScanProfileSampleTask object.
105  * @return Node configuration.
106  */
108 
109 #include <GoWebScanSdk/GoWebScanProfileSampleTask.x.h>
110 
111 #endif
kStatus GoWebScanProfileSampleTask_Construct(GoWebScanProfileSampleTask *task, GoWebScanProcess process, GoWebScanConfigNode configNode, GoWebScanNodeTileId outputType, kAlloc allocator)
Constructs a GoWebScanProfileSampleTask object.
kStatus GoWebScanProfileSampleTask_Dispatch(GoWebScanProfileSampleTask task, GoWebScanPipeMsg msg)
Dispatches a processing job (task + message) to the pipe.
Declares the GoWebScanPipeTask class.
Represents a task for processing raw sensor data to produce system web tiles (Web mode) or detected o...
Represents a container for node-level parameters which are translated from user parameters set in GoW...
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
Represents an ID for types of tile messages.
Essential GoWebScan declarations.
kStatus GoWebScanProfileSampleTask_Send(GoWebScanProfileSampleTask task, GoWebScanPipeMsg msg)
Adds a message to the processing queue.
GoWebScanConfigNode GoWebScanProfileSampleTask_ConfigNode(GoWebScanProfileSampleTask task)
Gets the node configuration for the node associated with this task.
kStatus GoWebScanProfileSampleTask_SetReceiver(GoWebScanProfileSampleTask task, GoWebScanPipeSendFx send, kPointer context)
Sets the handler for receiving resampled profile tiles.
Represents a task for resampling raw profile points from a single camera to generate profile tiles or...
Base class for a msg that can be processed with a GoWebScanPipeTask and submitted to the GoWebScanPip...
kStatus GoWebScanProfileSampleTask_Clear(GoWebScanProfileSampleTask task)
Clears Y-resampler algorithm and resets internal variables.
Declares a GoWebScanConfig object.