Mech-Eye API
2.6.0
API reference documentation for Mech-Eye 3D Laser Profiler
Toggle main menu visibility
Loading...
Searching...
No Matches
deprecated
MechEyeSettings.h
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
37
namespace
mmind {
38
39
namespace
api {
40
44
struct
Scanning3DSettings
45
{
59
std::vector<double>
exposureSequence
;
60
70
double
gain
;
71
84
ROI
scan3DROI
;
85
96
DepthRange
depthRange
;
97
};
98
102
struct
Scanning2DSettings
103
{
107
enum
Scan2DExposureMode
{
108
Timed
,
109
Auto
,
110
HDR
,
112
Flash
,
113
};
114
118
Scan2DExposureMode
exposureMode
;
119
129
double
exposureTime
;
130
141
double
sharpenFactor
;
142
153
int
expectedGrayValue
;
154
165
ROI
scan2DROI
;
166
173
bool
toneMappingEnable
;
174
186
std::vector<double>
hdrExposureSequence
;
187
};
188
189
struct
PointCloudProcessingSettings
190
{
195
enum struct
CloudOutlierFilterMode
{
196
Off
,
197
Weak
,
199
Normal
,
201
};
202
207
enum struct
CloudSmoothMode
{
208
Off
,
209
Weak
,
211
Normal
,
213
Strong
,
215
};
216
223
CloudOutlierFilterMode
outlierFilterMode
;
224
231
CloudSmoothMode
smoothMode
;
232
239
enum struct
PointCloudSurfaceSmoothing
{
240
Off
,
241
Weak
,
242
Normal
,
243
Strong
,
244
};
245
250
enum struct
PointCloudNoiseRemoval
{
251
Off
,
252
Weak
,
253
Normal
,
254
Strong
,
255
};
256
261
enum struct
PointCloudOutlierRemoval
{
262
Off
,
263
Weak
,
264
Normal
,
265
Strong
,
266
};
267
271
enum struct
PointCloudEdgePreservation
{
272
Sharp
,
274
Normal
,
275
276
Smooth
,
278
279
};
280
291
int
fringeContrastThreshold
;
292
303
int
fringeMinThreshold
;
304
313
PointCloudSurfaceSmoothing
surfaceSmoothing
;
314
325
PointCloudNoiseRemoval
noiseRemoval
;
326
336
PointCloudOutlierRemoval
outlierRemoval
;
337
347
PointCloudEdgePreservation
edgePreservation
;
348
};
349
354
struct
ProjectorSettings
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
389
FringeCodingMode
fringeCodingMode
;
390
397
PowerLevel
powerLevel
;
398
409
AntiFlickerMode
antiFlickerMode
;
410
};
411
418
struct
LaserSettings
419
{
423
enum
LaserFringeCodingMode
{
424
Fast
,
425
Accurate
,
426
};
427
431
LaserFringeCodingMode
fringeCodingMode
;
432
443
int
frameRangeStart
;
444
455
int
frameRangeEnd
;
456
465
int
framePartitionCount
;
466
474
int
powerLevel
;
475
};
476
483
struct
UhpSettings
484
{
488
enum struct
UhpCaptureMode
{
489
Camera1
,
490
Camera2
,
491
Merge
,
492
};
493
497
enum struct
UhpFringeCodingMode
{
498
Fast
,
499
Accurate
,
500
};
501
508
UhpCaptureMode
captureMode
;
509
516
UhpFringeCodingMode
fringeCodingMode
;
517
};
518
522
struct
HandeyeCalibrationSettings
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
mmind::api::DepthRange
This struct defines the depth range.
Definition
MechEyeDataType.h:170
mmind::api::HandeyeCalibrationSettings
Definition
MechEyeSettings.h:523
mmind::api::HandeyeCalibrationSettings::calibrationType
calibrationType
Definition
MechEyeSettings.h:529
mmind::api::HandeyeCalibrationSettings::calibrationType::EyeToHand
@ EyeToHand
The camera is fixed mountedwith respect to the robot's base.
Definition
MechEyeSettings.h:531
mmind::api::HandeyeCalibrationSettings::calibrationType::EyeInHand
@ EyeInHand
The camera is mounted in the robot's hand.
Definition
MechEyeSettings.h:530
mmind::api::HandeyeCalibrationSettings::poseData
std::string poseData
Definition
MechEyeSettings.h:560
mmind::api::HandeyeCalibrationSettings::boardType
boardType
Definition
MechEyeSettings.h:540
mmind::api::HandeyeCalibrationSettings::extrinsic
std::string extrinsic
Definition
MechEyeSettings.h:568
mmind::api::LaserSettings
Definition
MechEyeSettings.h:419
mmind::api::LaserSettings::powerLevel
int powerLevel
Definition
MechEyeSettings.h:474
mmind::api::LaserSettings::fringeCodingMode
LaserFringeCodingMode fringeCodingMode
Definition
MechEyeSettings.h:431
mmind::api::LaserSettings::framePartitionCount
int framePartitionCount
Definition
MechEyeSettings.h:465
mmind::api::LaserSettings::LaserFringeCodingMode
LaserFringeCodingMode
Definition
MechEyeSettings.h:423
mmind::api::LaserSettings::Accurate
@ Accurate
Accurate mode is slower but produces better depth maps than Fast mode.
Definition
MechEyeSettings.h:425
mmind::api::LaserSettings::Fast
@ Fast
Fast mode has the minimum capture time.
Definition
MechEyeSettings.h:424
mmind::api::LaserSettings::frameRangeEnd
int frameRangeEnd
Definition
MechEyeSettings.h:455
mmind::api::LaserSettings::frameRangeStart
int frameRangeStart
Definition
MechEyeSettings.h:443
mmind::api::PointCloudProcessingSettings
Definition
MechEyeSettings.h:190
mmind::api::PointCloudProcessingSettings::fringeContrastThreshold
int fringeContrastThreshold
Definition
MechEyeSettings.h:291
mmind::api::PointCloudProcessingSettings::outlierFilterMode
CloudOutlierFilterMode outlierFilterMode
Definition
MechEyeSettings.h:223
mmind::api::PointCloudProcessingSettings::PointCloudEdgePreservation
PointCloudEdgePreservation
Definition
MechEyeSettings.h:271
mmind::api::PointCloudProcessingSettings::PointCloudEdgePreservation::Sharp
@ Sharp
Definition
MechEyeSettings.h:272
mmind::api::PointCloudProcessingSettings::PointCloudEdgePreservation::Smooth
@ Smooth
Definition
MechEyeSettings.h:276
mmind::api::PointCloudProcessingSettings::edgePreservation
PointCloudEdgePreservation edgePreservation
Definition
MechEyeSettings.h:347
mmind::api::PointCloudProcessingSettings::noiseRemoval
PointCloudNoiseRemoval noiseRemoval
Definition
MechEyeSettings.h:325
mmind::api::PointCloudProcessingSettings::outlierRemoval
PointCloudOutlierRemoval outlierRemoval
Definition
MechEyeSettings.h:336
mmind::api::PointCloudProcessingSettings::CloudOutlierFilterMode
CloudOutlierFilterMode
Definition
MechEyeSettings.h:195
mmind::api::PointCloudProcessingSettings::CloudOutlierFilterMode::Weak
@ Weak
Definition
MechEyeSettings.h:197
mmind::api::PointCloudProcessingSettings::CloudOutlierFilterMode::Normal
@ Normal
Definition
MechEyeSettings.h:199
mmind::api::PointCloudProcessingSettings::CloudOutlierFilterMode::Off
@ Off
No outlier removal operation. Certain noisy points may exist.
Definition
MechEyeSettings.h:196
mmind::api::PointCloudProcessingSettings::surfaceSmoothing
PointCloudSurfaceSmoothing surfaceSmoothing
Definition
MechEyeSettings.h:313
mmind::api::PointCloudProcessingSettings::CloudSmoothMode
CloudSmoothMode
Definition
MechEyeSettings.h:207
mmind::api::PointCloudProcessingSettings::CloudSmoothMode::Strong
@ Strong
Definition
MechEyeSettings.h:213
mmind::api::PointCloudProcessingSettings::fringeMinThreshold
int fringeMinThreshold
Definition
MechEyeSettings.h:303
mmind::api::PointCloudProcessingSettings::PointCloudSurfaceSmoothing
PointCloudSurfaceSmoothing
Definition
MechEyeSettings.h:239
mmind::api::PointCloudProcessingSettings::smoothMode
CloudSmoothMode smoothMode
Definition
MechEyeSettings.h:231
mmind::api::PointCloudProcessingSettings::PointCloudOutlierRemoval
PointCloudOutlierRemoval
Definition
MechEyeSettings.h:261
mmind::api::PointCloudProcessingSettings::PointCloudNoiseRemoval
PointCloudNoiseRemoval
Definition
MechEyeSettings.h:250
mmind::api::ProjectorSettings
Definition
MechEyeSettings.h:355
mmind::api::ProjectorSettings::fringeCodingMode
FringeCodingMode fringeCodingMode
Definition
MechEyeSettings.h:389
mmind::api::ProjectorSettings::powerLevel
PowerLevel powerLevel
Definition
MechEyeSettings.h:397
mmind::api::ProjectorSettings::FringeCodingMode
FringeCodingMode
Definition
MechEyeSettings.h:359
mmind::api::ProjectorSettings::FringeCodingMode::Accurate
@ Accurate
Accurate mode is slower but produces better depth maps than Fast mode.
Definition
MechEyeSettings.h:361
mmind::api::ProjectorSettings::FringeCodingMode::Fast
@ Fast
Fast mode has the minimum capture time.
Definition
MechEyeSettings.h:360
mmind::api::ProjectorSettings::PowerLevel
PowerLevel
Definition
MechEyeSettings.h:367
mmind::api::ProjectorSettings::PowerLevel::High
@ High
High level is ofen used for scanning dark objects.
Definition
MechEyeSettings.h:368
mmind::api::ProjectorSettings::PowerLevel::Normal
@ Normal
Normal level is mostly used.
Definition
MechEyeSettings.h:369
mmind::api::ProjectorSettings::antiFlickerMode
AntiFlickerMode antiFlickerMode
Definition
MechEyeSettings.h:409
mmind::api::ProjectorSettings::AntiFlickerMode
AntiFlickerMode
Definition
MechEyeSettings.h:377
mmind::api::ProjectorSettings::AntiFlickerMode::AC50Hz
@ AC50Hz
The AC frequency is 50Hz in most countries.
Definition
MechEyeSettings.h:379
mmind::api::ProjectorSettings::AntiFlickerMode::Off
@ Off
No processing for anti-flicker.
Definition
MechEyeSettings.h:378
mmind::api::ProjectorSettings::AntiFlickerMode::AC60Hz
@ AC60Hz
The AC frequency in the U.S. and some Asian countries is 60Hz.
Definition
MechEyeSettings.h:380
mmind::api::ROI
This struct defines camera region of interest.
Definition
MechEyeDataType.h:157
mmind::api::Scanning2DSettings
Definition
MechEyeSettings.h:103
mmind::api::Scanning2DSettings::exposureMode
Scan2DExposureMode exposureMode
Definition
MechEyeSettings.h:118
mmind::api::Scanning2DSettings::scan2DROI
ROI scan2DROI
Definition
MechEyeSettings.h:165
mmind::api::Scanning2DSettings::Scan2DExposureMode
Scan2DExposureMode
Definition
MechEyeSettings.h:107
mmind::api::Scanning2DSettings::Timed
@ Timed
Fixed exposure time, recommended in the stable ambient light conditions.
Definition
MechEyeSettings.h:108
mmind::api::Scanning2DSettings::Auto
@ Auto
Automatic exposure time, recommended in unstable ambient light conditions.
Definition
MechEyeSettings.h:109
mmind::api::Scanning2DSettings::Flash
@ Flash
Use projected LED light to light up the projection area.
Definition
MechEyeSettings.h:112
mmind::api::Scanning2DSettings::HDR
@ HDR
Definition
MechEyeSettings.h:110
mmind::api::Scanning2DSettings::hdrExposureSequence
std::vector< double > hdrExposureSequence
Definition
MechEyeSettings.h:186
mmind::api::Scanning2DSettings::exposureTime
double exposureTime
The fixed camera exposure time.
Definition
MechEyeSettings.h:129
mmind::api::Scanning2DSettings::expectedGrayValue
int expectedGrayValue
Definition
MechEyeSettings.h:153
mmind::api::Scanning2DSettings::toneMappingEnable
bool toneMappingEnable
Definition
MechEyeSettings.h:173
mmind::api::Scanning2DSettings::sharpenFactor
double sharpenFactor
Definition
MechEyeSettings.h:141
mmind::api::Scanning3DSettings
Definition
MechEyeSettings.h:45
mmind::api::Scanning3DSettings::gain
double gain
Definition
MechEyeSettings.h:70
mmind::api::Scanning3DSettings::scan3DROI
ROI scan3DROI
Definition
MechEyeSettings.h:84
mmind::api::Scanning3DSettings::depthRange
DepthRange depthRange
Definition
MechEyeSettings.h:96
mmind::api::Scanning3DSettings::exposureSequence
std::vector< double > exposureSequence
Definition
MechEyeSettings.h:59
mmind::api::UhpSettings
Definition
MechEyeSettings.h:484
mmind::api::UhpSettings::UhpCaptureMode
UhpCaptureMode
Definition
MechEyeSettings.h:488
mmind::api::UhpSettings::UhpCaptureMode::Camera1
@ Camera1
Camera1 mode only use camera 1.
Definition
MechEyeSettings.h:489
mmind::api::UhpSettings::UhpCaptureMode::Merge
@ Merge
Merge mode use both cameras to prevent occlusions.
Definition
MechEyeSettings.h:491
mmind::api::UhpSettings::UhpCaptureMode::Camera2
@ Camera2
Camera2 mode only use camera 2.
Definition
MechEyeSettings.h:490
mmind::api::UhpSettings::UhpFringeCodingMode
UhpFringeCodingMode
Definition
MechEyeSettings.h:497
mmind::api::UhpSettings::UhpFringeCodingMode::Accurate
@ Accurate
Accurate mode is slower but produces better depth maps than Fast mode.
Definition
MechEyeSettings.h:499
mmind::api::UhpSettings::UhpFringeCodingMode::Fast
@ Fast
Fast mode has the minimum capture time.
Definition
MechEyeSettings.h:498
mmind::api::UhpSettings::captureMode
UhpCaptureMode captureMode
Definition
MechEyeSettings.h:508
mmind::api::UhpSettings::fringeCodingMode
UhpFringeCodingMode fringeCodingMode
Definition
MechEyeSettings.h:516
Generated by
1.17.0