libvisiontransfer  7.1.0
standardparameterids.h
1 /*******************************************************************************
2  * Copyright (c) 2019 Nerian Vision GmbH
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a copy
5  * of this software and associated documentation files (the "Software"), to deal
6  * in the Software without restriction, including without limitation the rights
7  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8  * copies of the Software, and to permit persons to whom the Software is
9  * furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be included in
12  * all copies or substantial portions of the Software.
13  *******************************************************************************/
14 
15 #ifndef VISIONTRANSFER_STANDARDRAMETERIDS_H
16 #define VISIONTRANSFER_STANDARDRAMETERIDS_H
17 
18 #include <map>
19 #include <string>
20 
21 #include <stdint.h>
22 
23 #include <visiontransfer/parameterinfo.h>
24 
25 namespace visiontransfer {
26 namespace internal {
27 
37 public:
38 
39  enum ParameterID {
40  // Reserved
41  UNDEFINED = 0x0000,
42 
43  // Processing settings
44  OPERATION_MODE = 0x0100,
45  NUMBER_OF_DISPARITIES = 0x0101, // Not available yet
46  DISPARITY_OFFSET = 0x0102,
47 
48  // Algorithmic settings
49  SGM_P1_EDGE = 0x0200,
50  SGM_P2_EDGE = 0x0201,
51  MASK_BORDER_PIXELS_ENABLED = 0x0202,
52  CONSISTENCY_CHECK_ENABLED = 0x0203,
53  CONSISTENCY_CHECK_SENSITIVITY = 0x0204,
54  UNIQUENESS_CHECK_ENABLED = 0x0205,
55  UNIQUENESS_CHECK_SENSITIVITY = 0x0206,
56  TEXTURE_FILTER_ENABLED = 0x0207,
57  TEXTURE_FILTER_SENSITIVITY = 0x0208,
58  GAP_INTERPOLATION_ENABLED = 0x0209,
59  NOISE_REDUCTION_ENABLED = 0x020a,
60  SPECKLE_FILTER_ITERATIONS = 0x020b,
61  SGM_P1_NO_EDGE = 0x020c,
62  SGM_P2_NO_EDGE = 0x020d,
63  SGM_EDGE_SENSITIVITY = 0x020e,
64  SUBPIXEL_OPTIMIZATION_ROI_ENABLED = 0x020f,
65  SUBPIXEL_OPTIMIZATION_ROI_X = 0x0210,
66  SUBPIXEL_OPTIMIZATION_ROI_Y = 0x0211,
67  SUBPIXEL_OPTIMIZATION_ROI_WIDTH = 0x0212,
68  SUBPIXEL_OPTIMIZATION_ROI_HEIGHT = 0x0213,
69 
70  // Exposure settings
71  AUTO_EXPOSURE_MODE = 0x0300,
72  AUTO_TARGET_INTENSITY = 0x0301,
73  AUTO_INTENSITY_DELTA = 0x0302,
74  AUTO_TARGET_FRAME = 0x0303,
75  AUTO_SKIPPED_FRAMES = 0x0304,
76  AUTO_MAXIMUM_EXPOSURE_TIME = 0x0305,
77  AUTO_MAXIMUM_GAIN = 0x0306,
78  MANUAL_EXPOSURE_TIME = 0x0307,
79  MANUAL_GAIN = 0x0308,
80  AUTO_EXPOSURE_ROI_ENABLED = 0x0309,
81  AUTO_EXPOSURE_ROI_X = 0x030a,
82  AUTO_EXPOSURE_ROI_Y = 0x030b,
83  AUTO_EXPOSURE_ROI_WIDTH = 0x030c,
84  AUTO_EXPOSURE_ROI_HEIGHT = 0x030d,
85 
86  // Trigger / Pairing
87  MAX_FRAME_TIME_DIFFERENCE_MS = 0x0400,
88  TRIGGER_FREQUENCY = 0x0401,
89  TRIGGER_0_ENABLED = 0x0402,
90  TRIGGER_0_PULSE_WIDTH = 0x0403,
91  TRIGGER_1_ENABLED = 0x0404,
92  TRIGGER_1_PULSE_WIDTH = 0x0405,
93  TRIGGER_1_OFFSET = 0x0406,
94 
95  // Auto Re-calibration
96  AUTO_RECALIBRATION_ENABLED = 0x0500,
97  AUTO_RECALIBRATION_PERMANENT = 0x0501,
98 
99  // System settings
100  REBOOT = 0x0600,
101  };
102 
103  enum ParameterFlags {
104  // bit flags
105  PARAMETER_WRITEABLE = 0x0001,
106  };
107 
108  // String representations for all ParameterIDs. They correspond
109  // to a lowercase version, OPERATION_MODE <-> "operation_mode";
110  // contents initialized C++11 style over in the source file
111  static const std::map<ParameterID, std::string> parameterNameByID;
112 
113  // Obtain the ParameterID for a parameter name, or UNDEFINED if invalid
114  static ParameterID getParameterIDForName(const std::string& name);
115 
116 };
117 
118 }} // namespace
119 
120 #endif
A collection of numeric IDs for all supported parameters by SceneScan.
static ParameterID getParameterIDForName(const std::string &name)
Return the ID for a string configuration key (reverse lookup), or UNDEFINED if unknown.
Nerian Vision Technologies