Mech-Eye API 2.3.3
API reference documentation for Mech-Eye Industrial 3D Camera
Loading...
Searching...
No Matches
MechEyeSettings.h
1/*******************************************************************************
2 *BSD 3-Clause License
3 *
4 *Copyright (c) 2016-2024, Mech-Mind Robotics
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
188
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
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
This struct defines the depth range.
@ EyeToHand
The camera is fixed mountedwith respect to the robot's base.
@ EyeInHand
The camera is mounted in the robot's hand.
LaserFringeCodingMode fringeCodingMode
@ Accurate
Accurate mode is slower but produces better depth maps than Fast mode.
@ Fast
Fast mode has the minimum capture time.
PointCloudEdgePreservation edgePreservation
@ Off
No outlier removal operation. Certain noisy points may exist.
PointCloudSurfaceSmoothing surfaceSmoothing
@ Accurate
Accurate mode is slower but produces better depth maps than Fast mode.
@ Fast
Fast mode has the minimum capture time.
@ High
High level is ofen used for scanning dark objects.
@ Normal
Normal level is mostly used.
@ 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.
This struct defines camera region of interest.
@ Timed
Fixed exposure time, recommended in the stable ambient light conditions.
@ Auto
Automatic exposure time, recommended in unstable ambient light conditions.
@ Flash
Use projected LED light to light up the projection area.
std::vector< double > hdrExposureSequence
double exposureTime
The fixed camera exposure time.
std::vector< double > exposureSequence
@ Camera1
Camera1 mode only use camera 1.
@ Merge
Merge mode use both cameras to prevent occlusions.
@ Camera2
Camera2 mode only use camera 2.
@ Accurate
Accurate mode is slower but produces better depth maps than Fast mode.
@ Fast
Fast mode has the minimum capture time.
UhpFringeCodingMode fringeCodingMode