Mech-Eye API 2.2.1
API reference documentation for Mech-Eye 3D Laser Profiler
All Classes Functions Variables Typedefs Enumerations Enumerator Pages
ProfileExtractionParameters.h
1#pragma once
2#include "Parameter.h"
3
4namespace mmind {
5namespace eye {
6namespace profile_extraction {
7
9{
10public:
11 static constexpr const char* name = "MinGrayscaleValue";
12
13 static constexpr const char* description =
14 "Set the minimum grayscale value of the valid pixels in the raw image. Pixels with "
15 "grayscale values smaller than this value will not participate in profile "
16 "extraction.\n\nNote: \n* The minimum value of \"Min Grayscale Value\" is affected by "
17 "\"Digital Gain\". \n* \"Min Grayscale Value\" affects the minimum value of \"Min Spot "
18 "Intensity\" and \"Max Spot Intensity\".";
19
20 static constexpr Parameter::Type type = Parameter::Type::_Int;
21};
22
24{
25public:
26 static constexpr const char* name = "MinSpotIntensity";
27
28 static constexpr const char* description =
29 "Set the minimum intensity for the spots. Spots with intensity values smaller than this "
30 "value will be excluded. The intensity of a spot is the average grayscale value of all the "
31 "valid pixels in the pixel column of the laser line.\nThe spots of laser lines produced by "
32 "stray light or interreflection usually have low intensities. Setting an appropriate "
33 "minimum intensity can remove these spots.\n\nNote: The minimum value of \"Min Spot "
34 "Intensity\" is affected by \"Min Grayscale Value\".";
35
36 static constexpr Parameter::Type type = Parameter::Type::_Int;
37};
38
40{
41public:
42 static constexpr const char* name = "MaxSpotIntensity";
43
44 static constexpr const char* description =
45 "Set the maximum intensity for the spots. Spots with intensity values greater than this "
46 "value will be excluded. The intensity of a spot is the average grayscale value of all the "
47 "valid pixels in the pixel column of the laser line.\nSetting an appropriate maximum "
48 "intensity can remove abnormally bright spots produced by specular reflection.\n\nNote: "
49 "The minimum value of \"Max Spot Intensity\" is affected by \"Min Grayscale Value\".";
50
51 static constexpr Parameter::Type type = Parameter::Type::_Int;
52};
53
55{
56public:
57 static constexpr const char* name = "MinLaserLineWidth";
58
59 static constexpr const char* description =
60 "Set the minimum width for the laser lines. If the width of a pixel column in a laser line "
61 "is smaller than this value, the spot of this pixel column in this laser line is "
62 "excluded.\nLaser line width is a property of each pixel column in a laser line. It is "
63 "equal to the number of valid pixels in such a pixel column.\nSetting appropriate minimum "
64 "and maximum widths can exclude the laser lines produced by stray light or "
65 "interreflection, which are usually too wide or too narrow.";
66
67 static constexpr Parameter::Type type = Parameter::Type::_Int;
68};
69
71{
72public:
73 static constexpr const char* name = "MaxLaserLineWidth";
74
75 static constexpr const char* description =
76 "Set the maximum width for the laser lines. If the width of a pixel column in a laser line "
77 "is greater than this value, the spot of this pixel column in this laser line is "
78 "excluded.\nLaser line width is a property of each pixel column in a laser line. It is "
79 "equal to the number of valid pixels in such a pixel column.\nSetting appropriate minimum "
80 "and maximum widths can exclude the laser lines produced by stray light or "
81 "interreflection, which are usually too wide or too narrow.";
82
83 static constexpr Parameter::Type type = Parameter::Type::_Int;
84};
85
87{
88public:
89 static constexpr const char* name = "SpotSelection";
90
91 static constexpr const char* description =
92 "If a pixel column contains multiple spots, the final spot is selected according to the "
93 "value of this parameter.\nStrongest: selects the spot with the highest "
94 "intensity as the final spot.\nNearest: selects the spot with the smallest Z value as the "
95 "final spot.\nFarthest: selects the spot with the greatest Z value as the final spot.\n"
96 "Invalid: regards the pixel column as invalid and discards the spots. The profile "
97 "therefore has a gap. Usually used for complex situations where selection is difficult to "
98 "make.";
99
100 static constexpr Parameter::Type type = Parameter::Type::_Enum;
101
102 enum struct Value {
103 Strongest,
104 Nearest,
105 Farthest,
106 Invalid,
107 };
108};
109
110} // namespace profile_extraction
111} // namespace eye
112} // namespace mmind
Type
Describes the device parameter data types.
Definition Parameter.h:30
@ _Int
Integer type.
Definition Parameter.h:31
@ _Enum
Enumeration type.
Definition Parameter.h:34