Mech-Eye API
2.5.0
API reference documentation for Mech-Eye 3D Laser Profiler
Toggle main menu visibility
Main Page
Related Pages
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
y
z
~
Functions
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
~
Variables
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Typedefs
Enumerations
Enumerator
_
a
f
h
m
p
t
Files
File List
•
All
Classes
Functions
Variables
Typedefs
Enumerations
Enumerator
Pages
Loading...
Searching...
No Matches
profiler
parameters
ScanParameters.h
1
#pragma once
2
#include "Parameter.h"
3
4
namespace
mmind {
5
6
namespace
eye {
7
8
namespace
trigger_settings {
9
class
DataAcquisitionMethod
10
{
11
public
:
12
static
constexpr
const
char
* name =
"DataAcquisitionMethod"
;
13
14
static
constexpr
const
char
* description =
15
"This parameter determines how to generate data.\n\nFrame_Based: Generates one intensity "
16
"image and one depth map each time data acquisition is triggered.\nNonStop: Continuously "
17
"scans the target object and returns fixed-length data segments after data acquisition is "
18
"triggered.\n\nNote:\n* The length of the intensity image and depth map or the data "
19
"segment is set by the \"ScanLineCount\" parameter in the \"scan_settings\" namespace."
;
20
21
static
constexpr
Parameter::Type
type =
Parameter::Type::_Enum
;
22
23
enum struct
Value {
24
Frame_Based = 0,
25
Nonstop = 1,
26
};
27
};
28
29
class
DataAcquisitionTriggerSource
30
{
31
public
:
32
static
constexpr
const
char
* name =
"DataAcquisitionTriggerSource"
;
33
34
static
constexpr
const
char
* description =
35
"Select the source of the signals that trigger the scan of a single frame.\nIf you use "
36
"external input signal to trigger scanning, select \"External\".\nIf you need to trigger "
37
"scanning with software, select \"Software\"."
;
38
39
static
constexpr
Parameter::Type
type =
Parameter::Type::_Enum
;
40
41
enum struct
Value {
42
Software,
43
External,
44
};
45
};
46
47
class
LineScanTriggerSource
48
{
49
public
:
50
static
constexpr
const
char
* name =
"LineScanTriggerSource"
;
51
52
static
constexpr
const
char
* description =
53
"Select the source of the signals that trigger the scan of a single line.\nIf you use "
54
"encoder to trigger scanning, select \"Encoder\".\nIf you need to trigger scanning at a "
55
"fixed rate, select \"FixedRate\" and adjust \"SoftwareTriggerRate\"."
;
56
57
static
constexpr
Parameter::Type
type =
Parameter::Type::_Enum
;
58
59
enum struct
Value {
60
FixedRate,
61
Encoder,
62
};
63
};
64
65
class
SoftwareTriggerRate
66
{
67
public
:
68
static
constexpr
const
char
* name =
"SoftwareTriggerRate"
;
69
70
static
constexpr
const
char
* description =
71
"When \"LineScanTriggerSource\" is set to \"FixedRate\", set the fixed rate at which "
72
"the laser profiler is triggered to scan.\n\nThe maximum value of this parameter is the "
73
"current \"MaxScanRate\". \"SoftwareTriggerRate\" is unavailable when "
74
"\"LineScanTriggerSource\" is set to \"Encoder\"."
;
75
76
static
constexpr
Parameter::Type
type =
Parameter::Type::_Float
;
77
78
static
constexpr
const
char
* unit =
"Hz"
;
79
};
80
81
class
MaxScanRate
82
{
83
public
:
84
static
constexpr
const
char
* name =
"MaxScanRate"
;
85
86
static
constexpr
const
char
* description =
87
"The maximum scan rate that the laser profiler can reach. The maximum scan rate is "
88
"affected by the following parameters: \"ExposureTime\", \"ZDirectionRoi\", and "
89
"\"TriggerDelay\""
;
90
91
static
constexpr
Parameter::Type
type =
Parameter::Type::_Float
;
92
93
static
constexpr
const
char
* unit =
"Hz"
;
94
};
95
96
class
TriggerDelay
97
{
98
public
:
99
static
constexpr
const
char
* name =
"TriggerDelay"
;
100
101
static
constexpr
const
char
* description =
102
"This parameter is only effective for firmware 2.4.0 and above.\n"
103
"Set the delay time between receiving a line scan trigger signal and emitting laser "
104
"light.\n\n"
105
"Note:\n"
106
"* Only adjust this parameter in the following situation: Multiple laser profilers are "
107
"used to scan the same target object, and their FOVs overlap. The laser profilers will "
108
"interfere with each other if they emit laser light at the same time.\n"
109
"* Increasing this parameter will reduce the max scan rate.\n"
110
"* The laser profiler starts exposure 10 μs after emitting laser light to ensure stable "
111
"brightness of the laser lines in the raw image."
;
112
113
static
constexpr
Parameter::Type
type =
Parameter::Type::_Int
;
114
115
static
constexpr
const
char
* unit =
"us"
;
116
};
117
118
class
EncoderTriggerDirection
119
{
120
public
:
121
static
constexpr
const
char
* name =
"EncoderTriggerDirection"
;
122
123
static
constexpr
const
char
* description =
124
"Select the encoder motion direction that triggers scanning.\nChannelALeading: Scanning "
125
"is triggered when channel A is leading.\nChannelBLeading: Scanning is triggered when "
126
"channel B is leading. \nBoth: Scanning is triggered when either channel A or channel B is "
127
"leading."
;
128
129
static
constexpr
Parameter::Type
type =
Parameter::Type::_Enum
;
130
131
enum struct
Value {
132
ChannelALeading,
133
ChannelBLeading,
134
Both,
135
};
136
};
137
138
class
EncoderTriggerSignalCountingMode
139
{
140
public
:
141
static
constexpr
const
char
* name =
"EncoderTriggerSignalCountingMode"
;
142
143
static
constexpr
const
char
* description =
144
"Set the number of signals to be counted in an encoder cycle. Counted signals are used to "
145
"trigger scanning.\nNote: This parameter affects the adjustment of "
146
"\"EncoderTriggerInterval\".\n\nMultiple_1: counts 1 signal in an encoder "
147
"cycle.\nMULTIPLE_2: counts 2 signals in an encoder cycle.\nMULTIPLE_4: counts 4 signals "
148
"in an encoder cycle."
;
149
150
static
constexpr
Parameter::Type
type =
Parameter::Type::_Enum
;
151
152
enum struct
Value {
153
Multiple_1,
154
Multiple_2,
155
Multiple_4,
156
};
157
};
158
159
class
EncoderTriggerInterval
160
{
161
public
:
162
static
constexpr
const
char
* name =
"EncoderTriggerInterval"
;
163
164
static
constexpr
const
char
* description =
165
"Set the number of trigger signals needed for scanning one line."
;
166
167
static
constexpr
Parameter::Type
type =
Parameter::Type::_Int
;
168
};
169
}
// namespace trigger_settings
170
171
namespace
scan_settings {
172
173
class
ScanLineCount
174
{
175
public
:
176
static
constexpr
const
char
* name =
"ScanLineCount"
;
177
178
static
constexpr
const
char
* description =
179
"Set the number of profiles in the acquired data.\n\nWhen the \"DataAcquisitionMethod\" "
180
"parameter in the \"trigger_settings\" namespace is set to \"Frame_Based\", this "
181
"parameter sets the number of profiles needed to generate one intensity image/depth "
182
"map.\nMake sure that the set value can cover one target object completely.\n\nWhen the "
183
"\"DataAcquisitionMethod\" parameter in the \"trigger_settings\" namespace is set to "
184
"\"Nonstop\", this parameter sets the length of the returned data segments."
;
185
186
static
constexpr
Parameter::Type
type =
Parameter::Type::_Int
;
187
};
188
189
class
DataPointsPerProfile
190
{
191
public
:
192
static
constexpr
const
char
* name =
"DataPointsPerProfile"
;
193
194
static
constexpr
const
char
* description =
"The number of data points in a profile."
;
195
196
static
constexpr
Parameter::Type
type =
Parameter::Type::_Int
;
197
198
static
constexpr
const
char
* unit =
""
;
199
};
200
201
class
ExposureDelay
202
{
203
public
:
204
static
constexpr
const
char
* name =
"ExposureDelay"
;
205
206
static
constexpr
const
char
* description =
207
"This parameter is only effective for firmware 2.3.4 and below.\nSet the delay time "
208
"between laser emission and start of exposure.\n\nLarger exposure delay "
209
"results in more stable brightness of the laser lines in the raw image, thus more stable "
210
"quality of the intensity image and depth map. However, the \"MaxScanRate\" will be "
211
"reduced."
;
212
213
static
constexpr
Parameter::Type
type =
Parameter::Type::_Int
;
214
215
static
constexpr
const
char
* unit =
"us"
;
216
};
217
218
class
BatchRetrievalTimeout
219
{
220
public
:
221
static
constexpr
const
char
* name =
"BatchRetrievalTimeout"
;
222
223
static
constexpr
const
char
* description =
224
"Set the timeout period for retrieving a batch of data. If no batches are available for "
225
"retrieval within the set timeout period, the current round of data acquisition is "
226
"automatically stopped.\nFor firmware version 2.4.1 and below, this timeout should be at "
227
"least the time required to scan 16 lines. For firmware version 2.5.0 and above, it should "
228
"be at least the time needed to scan a single line. If line scan is triggered at a slow "
229
"rate, increase this parameter."
;
230
231
static
constexpr
Parameter::Type
type =
Parameter::Type::_Int
;
232
233
static
constexpr
const
char
* unit =
"ms"
;
234
};
235
236
class
CallbackRetrievalTimeout
237
{
238
public
:
239
static
constexpr
const
char
* name =
"CallbackRetrievalTimeout"
;
240
241
static
constexpr
const
char
* description =
242
"Set the timeout period for retrieving data when using a callback function. If none or "
243
"only some of the data is retrieved within the set timeout period, the current round of "
244
"data acquisition is automatically stopped. The amount of data to be retrieved is "
245
"determined by the \"ScanLineCount\" parameter.\nA value of 0 or -1 corresponds to an "
246
"infinite timeout period."
;
247
248
static
constexpr
Parameter::Type
type =
Parameter::Type::_Int
;
249
250
static
constexpr
const
char
* unit =
"ms"
;
251
};
252
253
}
// namespace scan_settings
254
255
namespace
point_cloud_resolutions {
256
class
XAxisResolution
257
{
258
public
:
259
static
constexpr
const
char
* name =
"XAxisResolution"
;
260
261
static
constexpr
const
char
* description =
262
"Sets the scan data resolution in the X direction, which is the distance between two "
263
"neighboring points along the direction of the laser line."
;
264
265
static
constexpr
Parameter::Type
type =
Parameter::Type::_Float
;
266
267
static
constexpr
const
char
* unit =
"um"
;
268
};
269
270
class
YResolution
271
{
272
public
:
273
static
constexpr
const
char
* name =
"YResolution"
;
274
275
static
constexpr
const
char
* description =
276
"Sets the point cloud resolution in the Y-axis direction, which is the distance between "
277
"two neighboring points along the travel direction of the target object."
;
278
279
static
constexpr
Parameter::Type
type =
Parameter::Type::_Float
;
280
281
static
constexpr
const
char
* unit =
"um"
;
282
};
283
}
// namespace point_cloud_resolutions
284
285
namespace
correction {
286
class
EnableTiltCorrection
287
{
288
public
:
289
static
constexpr
const
char
* name =
"EnableTiltCorrection"
;
290
291
static
constexpr
const
char
* description =
292
"Enable this parameter to apply the tilt correction result to the profile. Acquire data "
293
"again to see the effect."
;
294
295
static
constexpr
Parameter::Type
type =
Parameter::Type::_Bool
;
296
};
297
298
class
EnableHeightCorrection
299
{
300
public
:
301
static
constexpr
const
char
* name =
"EnableHeightCorrection"
;
302
303
static
constexpr
const
char
* description =
304
"Enable this parameter to apply the height correction result to the profile. Acquire data "
305
"again to see the effect."
;
306
307
static
constexpr
Parameter::Type
type =
Parameter::Type::_Bool
;
308
};
309
310
class
TiltCorrectionAngle
311
{
312
public
:
313
static
constexpr
const
char
* name =
"TiltCorrectionAngle"
;
314
315
static
constexpr
const
char
* description =
"Correct the tilt of the profile around the Y-axis."
;
316
317
static
constexpr
Parameter::Type
type =
Parameter::Type::_Float
;
318
319
static
constexpr
const
char
* unit =
"degree"
;
320
};
321
322
class
HeightCorrectionRatio
323
{
324
public
:
325
static
constexpr
const
char
* name =
"HeightCorrectionRatio"
;
326
327
static
constexpr
const
char
* description =
"Correct the Z values of the profile."
;
328
329
static
constexpr
Parameter::Type
type =
Parameter::Type::_Float
;
330
};
331
}
// namespace correction
332
333
namespace
transformation {
334
class
CoordinateTransformation
335
{
336
public
:
337
static
constexpr
const
char
* name =
"CoordinateTransformation"
;
338
339
static
constexpr
const
char
* description =
340
"The CoordinateTransformation, which represents the transformation matrix from the "
341
"camera coordinate system to a custom coordinate system. It can change the xyz values of "
342
"the point cloud."
;
343
344
static
constexpr
Parameter::Type
type =
Parameter::Type::_FloatArray
;
345
};
346
}
// namespace transformation
347
348
}
// namespace eye
349
}
// namespace mmind
mmind::eye::Parameter::Type
Type
Describes the device parameter data types.
Definition
Parameter.h:30
mmind::eye::Parameter::_Int
@ _Int
Integer type.
Definition
Parameter.h:31
mmind::eye::Parameter::_Enum
@ _Enum
Enumeration type.
Definition
Parameter.h:34
mmind::eye::Parameter::_Float
@ _Float
Double type.
Definition
Parameter.h:32
mmind::eye::Parameter::_Bool
@ _Bool
Boolean type.
Definition
Parameter.h:33
mmind::eye::Parameter::_FloatArray
@ _FloatArray
Vector of double types.
Definition
Parameter.h:37
mmind::eye::correction::EnableHeightCorrection
Definition
ScanParameters.h:299
mmind::eye::correction::EnableTiltCorrection
Definition
ScanParameters.h:287
mmind::eye::correction::HeightCorrectionRatio
Definition
ScanParameters.h:323
mmind::eye::correction::TiltCorrectionAngle
Definition
ScanParameters.h:311
mmind::eye::point_cloud_resolutions::XAxisResolution
Definition
ScanParameters.h:257
mmind::eye::point_cloud_resolutions::YResolution
Definition
ScanParameters.h:271
mmind::eye::scan_settings::BatchRetrievalTimeout
Definition
ScanParameters.h:219
mmind::eye::scan_settings::CallbackRetrievalTimeout
Definition
ScanParameters.h:237
mmind::eye::scan_settings::DataPointsPerProfile
Definition
ScanParameters.h:190
mmind::eye::scan_settings::ExposureDelay
Definition
ScanParameters.h:202
mmind::eye::scan_settings::ScanLineCount
Definition
ScanParameters.h:174
mmind::eye::transformation::CoordinateTransformation
Definition
ScanParameters.h:335
mmind::eye::trigger_settings::DataAcquisitionMethod
Definition
ScanParameters.h:10
mmind::eye::trigger_settings::DataAcquisitionTriggerSource
Definition
ScanParameters.h:30
mmind::eye::trigger_settings::EncoderTriggerDirection
Definition
ScanParameters.h:119
mmind::eye::trigger_settings::EncoderTriggerInterval
Definition
ScanParameters.h:160
mmind::eye::trigger_settings::EncoderTriggerSignalCountingMode
Definition
ScanParameters.h:139
mmind::eye::trigger_settings::LineScanTriggerSource
Definition
ScanParameters.h:48
mmind::eye::trigger_settings::MaxScanRate
Definition
ScanParameters.h:82
mmind::eye::trigger_settings::SoftwareTriggerRate
Definition
ScanParameters.h:66
mmind::eye::trigger_settings::TriggerDelay
Definition
ScanParameters.h:97
Generated by
1.9.7