GoWebScan API
GoWebScanEdgeFilter.h
Go to the documentation of this file.
1 /**
2 * @file GoWebScanEdgeFilter.h
3 * @brief Declares a GoWebScanEdgeFilter 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_EDGE_FILTER_H
12 #define GO_WEB_SCAN_EDGE_FILTER_H
13 
15 
16 /**
17 * @struct GoWebScanEdgeFilterParams
18 * @extends kValue
19 * @ingroup GoWebScanSdk-Algorithms
20 * @brief Represents parameters of the edge filtering algorithm.
21 */
23 {
24  k32s profileXRes; ///< X-resolution of input profile data (mils/pixel)
25  k32s profileYRes; ///< Y-resolution of input profile data (mils/pixel)
26  k32s visionXRes; ///< X-resolution of input vision data (mils/pixel)
27  k32s visionYRes; ///< Y-resolution of input vision data (mils/pixel)
28  k32s tracheidXRes; ///< X-resolution of input tracheid data (mils/pixel)
29  k32s tracheidYRes; ///< Y-resolution of input tracheid data (mils/pixel)
30 
32 
33 /**
34 * @class GoWebScanEdgeFilter
35 * @extends kObject
36 * @ingroup GoWebScanSdk-Algorithms
37 * @brief Represents an algorithm for filtering spikes and discontinuities along the edges of detected
38 * boards, and for removing the background from vision and tracheid board data.
39 */
41 
42 /**
43 * Constructs a GoWebScanEdgeFilter object.
44 *
45 * @public @memberof GoWebScanEdgeFilter
46 * @param filter Receives the constructed GoWebScanEdgeFilter object.
47 * @param args Edge filter algorithm parameters.
48 * @param allocator Memory allocator (or kNULL for default).
49 * @return Operation status.
50 */
52 
53 /**
54 * Executes the edge filtering algorithm on an array containing Z range data from a detected board.
55 * Discontinuous data (disconnected from the rest of the board) and spikes (optional) are removed
56 * from the edges of the board.
57 *
58 * @public @memberof GoWebScanEdgeFilter
59 * @param filter GoWebScanEdgeFilter object.
60 * @param profile Array containing profile data from a detected board. Type k16s.
61 * @param edgeFilter If enabled, edge spikes are removed.
62 * @return Operation status.
63 */
64 GoWebScanFx(kStatus) GoWebScanEdgeFilter_ExecuteProfile(GoWebScanEdgeFilter filter, kArray2 profile, kBool edgeFilter);
65 
66 /**
67 * Executes the edge filtering algorithm on an array containing vision data from a detected board.
68 * Vision data that does not overlap in X and Y with non-null profile data is removed.
69 *
70 * @public @memberof GoWebScanEdgeFilter
71 * @param filter GoWebScanEdgeFilter object.
72 * @param profile Array containing profile data from a detected board. Type k16s.
73 * @param vision Array containing vision data from a detected board. Type kRgb.
74 * @return Operation status.
75 */
77 
78 /**
79 * Executes the edge filtering algorithm on an array containing tracheid data from a detected board.
80 * Tracheid data that does not overlap in X and Y with non-null profile data is removed.
81 *
82 * @public @memberof GoWebScanEdgeFilter
83 * @param filter GoWebScanEdgeFilter object.
84 * @param profile Array containing profile data from a detected board. Type k16s.
85 * @param tracheid Array containing tracheid data from a detected board. Type GoWebScanTracheidValue.
86 * @return Operation status.
87 */
88 GoWebScanFx(kStatus) GoWebScanEdgeFilter_ExecuteTracheid(GoWebScanEdgeFilter filter, kArray2 profile, kArray2 tracheid);
89 
90 #include <GoWebScanSdk/GoWebScanEdgeFilter.x.h>
91 
92 #endif
kStatus GoWebScanEdgeFilter_ExecuteVision(GoWebScanEdgeFilter filter, kArray2 profile, kArray2 vision)
Executes the edge filtering algorithm on an array containing vision data from a detected board...
k32s profileXRes
X-resolution of input profile data (mils/pixel)
Definition: GoWebScanEdgeFilter.h:24
Essential GoWebScan declarations.
k32s visionXRes
X-resolution of input vision data (mils/pixel)
Definition: GoWebScanEdgeFilter.h:26
kStatus GoWebScanEdgeFilter_ExecuteProfile(GoWebScanEdgeFilter filter, kArray2 profile, kBool edgeFilter)
Executes the edge filtering algorithm on an array containing Z range data from a detected board...
Represents parameters of the edge filtering algorithm.
Definition: GoWebScanEdgeFilter.h:22
kStatus GoWebScanEdgeFilter_Construct(GoWebScanEdgeFilter *filter, const GoWebScanEdgeFilterParams *args, kAlloc allocator)
Constructs a GoWebScanEdgeFilter object.
kStatus GoWebScanEdgeFilter_ExecuteTracheid(GoWebScanEdgeFilter filter, kArray2 profile, kArray2 tracheid)
Executes the edge filtering algorithm on an array containing tracheid data from a detected board...
k32s tracheidXRes
X-resolution of input tracheid data (mils/pixel)
Definition: GoWebScanEdgeFilter.h:28
k32s tracheidYRes
Y-resolution of input tracheid data (mils/pixel)
Definition: GoWebScanEdgeFilter.h:29
Represents an algorithm for filtering spikes and discontinuities along the edges of detected boards...
k32s visionYRes
Y-resolution of input vision data (mils/pixel)
Definition: GoWebScanEdgeFilter.h:27
k32s profileYRes
Y-resolution of input profile data (mils/pixel)
Definition: GoWebScanEdgeFilter.h:25