Mech-Eye API
2.4.0
API reference documentation for Mech-Eye 3D Laser Profiler
Loading...
Searching...
No Matches
profiler
parameters
ProfileProcessingParameters.h
1
#pragma once
2
#include "Parameter.h"
3
4
namespace
mmind {
5
namespace
eye {
6
namespace
profile_processing {
7
8
class
Filter
9
{
10
public
:
11
static
constexpr
const
char
* name =
"Filter"
;
12
13
static
constexpr
const
char
* description =
14
"Set the type of filters. Filtering the profile can reduce noise and smooth the profile.\n"
15
"None: does not perform filtering. Select this option when the profile does not contain "
16
"noticeable noise.\nMean (edge preserving): performs mean filtering with edge "
17
"preservation. Features with abrupt depth variations (such as object edges) are well "
18
"preserved, but the smoothing effect around object edges is slightly worse. Suitable for "
19
"objects that have features with abrupt depth variations. When selecting this optioin, set "
20
"\"MeanFilterWindowSize\".\nMedian: performs median filtering, suitable for reducing noise "
21
"with depth values significantly different from surrounding points. When selecting this "
22
"option, set \"MedianFilterWindowSize\"."
;
23
24
static
constexpr
Parameter::Type
type =
Parameter::Type::_Enum
;
25
26
enum struct
Value {
27
None,
28
Mean,
29
Median,
30
};
31
};
32
33
class
MeanFilterWindowSize
34
{
35
public
:
36
static
constexpr
const
char
* name =
"MeanFilterWindowSize"
;
37
38
static
constexpr
const
char
* description =
39
"Set the window size of the mean filter.\nLarger window size results in higher intensity "
40
"of smoothing but may also distort object features.\n\nNote:\n* \"MeanFilterWindowSize\" "
41
"is unavailable when \"Filter\" is not set to \"Mean\"."
;
42
43
static
constexpr
Parameter::Type
type =
Parameter::Type::_Enum
;
44
45
enum struct
Value {
46
WindowSize_2,
47
WindowSize_4,
48
WindowSize_8,
49
WindowSize_16,
50
WindowSize_32,
51
};
52
};
53
54
class
MedianFilterWindowSize
55
{
56
public
:
57
static
constexpr
const
char
* name =
"MedianFilterWindowSize"
;
58
59
static
constexpr
const
char
* description =
60
"Set the window size of the median filter.\nLarger window size removes more "
61
"noise.\n\nNote:\n* \"MedianFilterWindowSize\" is unavailable when \"Filter\" is not set "
62
"to \"Median\"."
;
63
64
static
constexpr
Parameter::Type
type =
Parameter::Type::_Enum
;
65
66
enum struct
Value {
67
WindowSize_3,
68
WindowSize_5,
69
WindowSize_7,
70
WindowSize_9,
71
};
72
};
73
74
class
GapFilling
75
{
76
public
:
77
static
constexpr
const
char
* name =
"GapFilling"
;
78
79
static
constexpr
const
char
* description =
80
"Set the size of the gaps that can be filled in the profile.\nWhen the number of "
81
"consecutive data points in a gap in the profile is no greater than this value, this gap "
82
"will be filled. The data used for filling is calculated based on the difference between "
83
"the two neighboring points (that is, based on linear interpolation)."
;
84
85
static
constexpr
Parameter::Type
type =
Parameter::Type::_Int
;
86
};
87
88
class
GapFillingEdgePreservation
89
{
90
public
:
91
static
constexpr
const
char
* name =
"GapFillingEdgePreservation"
;
92
93
static
constexpr
const
char
* description =
94
"Set the degree of preservation of object edges when filling gaps.\n\nIf you need to "
95
"preserve features with abrupt depth variations, such as object edges, you can increase "
96
"this parameter, but the amount of gaps being filled will decrease."
;
97
98
static
constexpr
Parameter::Type
type =
Parameter::Type::_Int
;
99
};
100
101
class
Resampling
102
{
103
public
:
104
static
constexpr
const
char
* name =
"Resampling"
;
105
106
static
constexpr
const
char
* description =
107
"Select the point to be retained during resampling. \nMultiple points with different Z "
108
"values may exist at the same location on the X-axis. This parameter is used to select the "
109
"point to be retained in such a situation.\n\nNearest: retains the point closest to the "
110
"laser profiler.\nFarthest: retains the point farthest from the laser profiler.\nIf the "
111
"needed feature is at the bottom of the target object (such as the inner bottom of a "
112
"cylindrical container), you can select \"Farthest\""
;
113
114
static
constexpr
Parameter::Type
type =
Parameter::Type::_Enum
;
115
116
enum struct
Value {
117
Nearest,
118
Farthest,
119
};
120
};
121
122
class
ResamplingEdgePreservation
123
{
124
public
:
125
static
constexpr
const
char
* name =
"ResamplingEdgePreservation"
;
126
127
static
constexpr
const
char
* description =
128
"Set the degree of preservation of object edges during resampling. \nIf you need to "
129
"preserve features with abrupt depth variations, such as object edges, you can increase "
130
"this parameter."
;
131
132
static
constexpr
Parameter::Type
type =
Parameter::Type::_Int
;
133
};
134
135
}
// namespace profile_processing
136
137
namespace
profile_alignment {
138
139
class
EnableZAxisAlignment
140
{
141
public
:
142
static
constexpr
const
char
* name =
"EnableZAxisAlignment"
;
143
144
static
constexpr
const
char
* description =
145
"Set this parameter to apply the Z-axis profile alignment settings. Acquire data again "
146
"to see the effect. \nNOTE: The profile alignment function can only be applied after all "
147
"profiles have been retrieved. Therefore, the profile data must be retrieved with a "
148
"callback function instead of polling."
;
149
static
constexpr
Parameter::Type
type =
Parameter::Type::_Bool
;
150
};
151
152
class
EnableXAxisAlignment
153
{
154
public
:
155
static
constexpr
const
char
* name =
"EnableXAxisAlignment"
;
156
157
static
constexpr
const
char
* description =
158
"Set this parameter to apply the X-axis profile alignment settings. Acquire data again "
159
"to see the effect. \nNOTE: The profile alignment function can only be applied after all "
160
"profiles have been retrieved. Therefore, the profile data must be retrieved with a "
161
"callback function instead of polling."
;
162
static
constexpr
Parameter::Type
type =
Parameter::Type::_Bool
;
163
};
164
165
}
// namespace profile_alignment
166
167
namespace
filters {
168
class
EnableBlindSpotFiltering
169
{
170
public
:
171
static
constexpr
const
char
* name =
"EnableBlindSpotFiltering"
;
172
173
static
constexpr
const
char
* description =
174
"Check this parameter to apply the blind spot filtering settings. Acquire data again to "
175
"see the effect. \nNOTE: The blind spot filtering function can only be applied after all "
176
"profiles have been retrieved. Therefore, the profile data must be retrieved with a "
177
"callback function instead of polling."
;
178
179
static
constexpr
Parameter::Type
type =
Parameter::Type::_Bool
;
180
};
181
182
class
EnableNoiseRemoval
183
{
184
public
:
185
static
constexpr
const
char
* name =
"EnableNoiseRemoval"
;
186
187
static
constexpr
const
char
* description =
188
"Check this parameter to adjust and apply the noise removal setting. Acquire data again to "
189
"see the effect. \nNOTE: The noise removal function can only be applied after all "
190
"profiles have been retrieved. Therefore, the profile data must be retrieved with a "
191
"callback function instead of polling."
;
192
193
static
constexpr
Parameter::Type
type =
Parameter::Type::_Bool
;
194
};
195
196
class
NoiseRemovalIntensity
197
{
198
public
:
199
static
constexpr
const
char
* name =
"NoiseRemovalIntensity"
;
200
201
static
constexpr
const
char
* description =
202
"Sets the intensity of noise removal.\n\nHigher intensity removes more noise but may also "
203
"remove some object features."
;
204
205
static
constexpr
Parameter::Type
type =
Parameter::Type::_Enum
;
206
207
enum struct
Value { Low, Medium, High };
208
};
209
210
}
// namespace filters
211
}
// namespace eye
212
}
// 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::_Bool
@ _Bool
Boolean type.
Definition
Parameter.h:33
mmind::eye::filters::EnableBlindSpotFiltering
Definition
ProfileProcessingParameters.h:169
mmind::eye::filters::EnableNoiseRemoval
Definition
ProfileProcessingParameters.h:183
mmind::eye::filters::NoiseRemovalIntensity
Definition
ProfileProcessingParameters.h:197
mmind::eye::profile_alignment::EnableXAxisAlignment
Definition
ProfileProcessingParameters.h:153
mmind::eye::profile_alignment::EnableZAxisAlignment
Definition
ProfileProcessingParameters.h:140
mmind::eye::profile_processing::Filter
Definition
ProfileProcessingParameters.h:9
mmind::eye::profile_processing::GapFillingEdgePreservation
Definition
ProfileProcessingParameters.h:89
mmind::eye::profile_processing::GapFilling
Definition
ProfileProcessingParameters.h:75
mmind::eye::profile_processing::MeanFilterWindowSize
Definition
ProfileProcessingParameters.h:34
mmind::eye::profile_processing::MedianFilterWindowSize
Definition
ProfileProcessingParameters.h:55
mmind::eye::profile_processing::ResamplingEdgePreservation
Definition
ProfileProcessingParameters.h:123
mmind::eye::profile_processing::Resampling
Definition
ProfileProcessingParameters.h:102
Generated by
1.10.0