Mech-Eye API 2.5.1
API reference documentation for Mech-Eye Industrial 3D Camera
Loading...
Searching...
No Matches
MechEyeSettings.h
Go to the documentation of this file.
1/*******************************************************************************
2 *BSD 3-Clause License
3 *
4 *Copyright (c) 2016-2025, Mech-Mind Robotics Technologies Co., Ltd.
5 *All rights reserved.
6 *
7 *Redistribution and use in source and binary forms, with or without
8 *modification, are permitted provided that the following conditions are met:
9 *
10 *1. Redistributions of source code must retain the above copyright notice, this
11 * list of conditions and the following disclaimer.
12 *
13 *2. Redistributions in binary form must reproduce the above copyright notice,
14 * this list of conditions and the following disclaimer in the documentation
15 * and/or other materials provided with the distribution.
16 *
17 *3. Neither the name of the copyright holder nor the names of its
18 * contributors may be used to endorse or promote products derived from
19 * this software without specific prior written permission.
20 *
21 *THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 *AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 *IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 *DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 *FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 *DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 *SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 *CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 *OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 *OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 ******************************************************************************/
32
33#pragma once
34#include <vector>
35#include "MechEyeDataType.h"
36
37namespace mmind {
38
39namespace api {
40
45{
59 std::vector<double> exposureSequence;
60
70 double gain;
71
85
97};
98
103{
110 HDR,
113 };
114
119
130
142
154
166
174
186 std::vector<double> hdrExposureSequence;
187};
188
190{
196 Off,
197 Weak,
199 Normal,
201 };
202
207 enum struct CloudSmoothMode {
208 Off,
209 Weak,
211 Normal,
213 Strong,
215 };
216
224
232
240 Off,
241 Weak,
242 Normal,
243 Strong,
244 };
245
251 Off,
252 Weak,
253 Normal,
254 Strong,
255 };
256
262 Off,
263 Weak,
264 Normal,
265 Strong,
266 };
267
272 Sharp,
274 Normal,
275
276 Smooth,
278
279 };
280
292
304
314
326
337
348};
349
355{
359 enum struct FringeCodingMode {
360 Fast,
361 Accurate,
362 };
363
367 enum struct PowerLevel {
368 High,
369 Normal,
370 Low,
371 };
372
377 enum struct AntiFlickerMode {
378 Off,
379 AC50Hz,
380 AC60Hz,
381 };
382
390
398
410};
411
419{
426 };
427
432
444
456
466
475};
476
484{
488 enum struct UhpCaptureMode {
489 Camera1,
490 Camera2,
491 Merge,
492 };
493
498 Fast,
499 Accurate,
500 };
501
509
517};
518
523{
529 enum struct calibrationType {
530 EyeInHand,
531 EyeToHand,
532 UNKNOWN,
533 };
534
540 enum struct boardType {
541 BDB_5,
542 BDB_6,
543 BDB_7,
544 OCB_5,
545 OCB_10,
546 OCB_15,
547 OCB_20,
548 CGB_20,
549 CGB_35,
550 CGB_50,
551 UNKNOWN,
552 };
553
560 std::string poseData;
561
568 std::string extrinsic;
569};
570
571} // namespace api
572} // namespace mmind
Definition Camera.h:45
This struct defines the depth range.
Definition MechEyeDataType.h:170
Definition MechEyeSettings.h:523
std::string poseData
Definition MechEyeSettings.h:560
std::string extrinsic
Definition MechEyeSettings.h:568
calibrationType
Definition MechEyeSettings.h:529
@ EyeToHand
The camera is fixed mountedwith respect to the robot's base.
@ EyeInHand
The camera is mounted in the robot's hand.
boardType
Definition MechEyeSettings.h:540
Definition MechEyeSettings.h:419
LaserFringeCodingMode fringeCodingMode
Definition MechEyeSettings.h:431
LaserFringeCodingMode
Definition MechEyeSettings.h:423
@ Fast
Fast mode has the minimum capture time.
Definition MechEyeSettings.h:424
@ Accurate
Accurate mode is slower but produces better depth maps than Fast mode.
Definition MechEyeSettings.h:425
int frameRangeEnd
Definition MechEyeSettings.h:455
int framePartitionCount
Definition MechEyeSettings.h:465
int frameRangeStart
Definition MechEyeSettings.h:443
int powerLevel
Definition MechEyeSettings.h:474
Definition MechEyeSettings.h:190
int fringeMinThreshold
Definition MechEyeSettings.h:303
PointCloudOutlierRemoval
Definition MechEyeSettings.h:261
CloudSmoothMode
Definition MechEyeSettings.h:207
CloudOutlierFilterMode
Definition MechEyeSettings.h:195
@ Off
No outlier removal operation. Certain noisy points may exist.
PointCloudSurfaceSmoothing
Definition MechEyeSettings.h:239
PointCloudNoiseRemoval noiseRemoval
Definition MechEyeSettings.h:325
PointCloudNoiseRemoval
Definition MechEyeSettings.h:250
PointCloudOutlierRemoval outlierRemoval
Definition MechEyeSettings.h:336
PointCloudEdgePreservation edgePreservation
Definition MechEyeSettings.h:347
PointCloudSurfaceSmoothing surfaceSmoothing
Definition MechEyeSettings.h:313
PointCloudEdgePreservation
Definition MechEyeSettings.h:271
int fringeContrastThreshold
Definition MechEyeSettings.h:291
CloudSmoothMode smoothMode
Definition MechEyeSettings.h:231
CloudOutlierFilterMode outlierFilterMode
Definition MechEyeSettings.h:223
Definition MechEyeSettings.h:355
AntiFlickerMode antiFlickerMode
Definition MechEyeSettings.h:409
PowerLevel powerLevel
Definition MechEyeSettings.h:397
FringeCodingMode
Definition MechEyeSettings.h:359
@ Accurate
Accurate mode is slower but produces better depth maps than Fast mode.
@ Fast
Fast mode has the minimum capture time.
AntiFlickerMode
Definition MechEyeSettings.h:377
@ AC50Hz
The AC frequency is 50Hz in most countries.
@ Off
No processing for anti-flicker.
@ AC60Hz
The AC frequency in the U.S. and some Asian countries is 60Hz.
PowerLevel
Definition MechEyeSettings.h:367
@ High
High level is ofen used for scanning dark objects.
@ Normal
Normal level is mostly used.
FringeCodingMode fringeCodingMode
Definition MechEyeSettings.h:389
This struct defines camera region of interest.
Definition MechEyeDataType.h:157
Definition MechEyeSettings.h:103
std::vector< double > hdrExposureSequence
Definition MechEyeSettings.h:186
Scan2DExposureMode
Definition MechEyeSettings.h:107
@ HDR
Definition MechEyeSettings.h:110
@ Flash
Use projected LED light to light up the projection area.
Definition MechEyeSettings.h:112
@ Auto
Automatic exposure time, recommended in unstable ambient light conditions.
Definition MechEyeSettings.h:109
@ Timed
Fixed exposure time, recommended in the stable ambient light conditions.
Definition MechEyeSettings.h:108
bool toneMappingEnable
Definition MechEyeSettings.h:173
int expectedGrayValue
Definition MechEyeSettings.h:153
ROI scan2DROI
Definition MechEyeSettings.h:165
Scan2DExposureMode exposureMode
Definition MechEyeSettings.h:118
double sharpenFactor
Definition MechEyeSettings.h:141
double exposureTime
The fixed camera exposure time.
Definition MechEyeSettings.h:129
Definition MechEyeSettings.h:45
std::vector< double > exposureSequence
Definition MechEyeSettings.h:59
DepthRange depthRange
Definition MechEyeSettings.h:96
ROI scan3DROI
Definition MechEyeSettings.h:84
double gain
Definition MechEyeSettings.h:70
Definition MechEyeSettings.h:484
UhpCaptureMode captureMode
Definition MechEyeSettings.h:508
UhpCaptureMode
Definition MechEyeSettings.h:488
@ Camera1
Camera1 mode only use camera 1.
@ Merge
Merge mode use both cameras to prevent occlusions.
@ Camera2
Camera2 mode only use camera 2.
UhpFringeCodingMode
Definition MechEyeSettings.h:497
@ Accurate
Accurate mode is slower but produces better depth maps than Fast mode.
@ Fast
Fast mode has the minimum capture time.
UhpFringeCodingMode fringeCodingMode
Definition MechEyeSettings.h:516