Mech-Eye API
2.3.3
API reference documentation for Mech-Eye 3D Laser Profiler
Loading...
Searching...
No Matches
include
profiler
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
}
// namespace eye
137
}
// 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::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