Mech-Eye API Reference 2.1.4-alpha
API reference documentation for Mech-Eye 3D Laser Profiler
All Classes Functions Variables 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 extraction.";
16
17 static constexpr Parameter::Type type = Parameter::Type::_Int;
18};
19
21{
22public:
23 static constexpr const char* name = "MinSpotIntensity";
24
25 static constexpr const char* description =
26 "Set the minimum intensity for the spots. Spots with intensity values smaller than this "
27 "value will be excluded. The intensity of a spot is the average grayscale value of all the "
28 "valid pixels in the pixel column of the laser line.\nThe spots of laser lines produced by "
29 "stray light or interreflection usually have low intensities. Setting an appropriate "
30 "minimum intensity can remove these spots.";
31
32 static constexpr Parameter::Type type = Parameter::Type::_Int;
33};
34
36{
37public:
38 static constexpr const char* name = "MaxSpotIntensity";
39
40 static constexpr const char* description =
41 "Set the maximum intensity for the spots. Spots with intensity values greater than this "
42 "value will be excluded. The intensity of a spot is the average grayscale value of all the "
43 "valid pixels in the pixel column of the laser line.\nSetting an appropriate maximum "
44 "intensity can remove abnormally bright spots produced by specular reflection.";
45
46 static constexpr Parameter::Type type = Parameter::Type::_Int;
47};
48
50{
51public:
52 static constexpr const char* name = "MinLaserLineWidth";
53
54 static constexpr const char* description =
55 "Set the minimum width for the laser lines. If the width of a pixel column in a laser line "
56 "is smaller than this value, the spot of this pixel column in this laser line is "
57 "excluded.\nLaser line width is a property of each pixel column in a laser line. It is "
58 "equal to the number of valid pixels in such a pixel column.\nSetting appropriate minimum "
59 "and maximum widths can exclude the laser lines produced by stray light or "
60 "interreclection, which are usually too wide or too narrow.";
61
62 static constexpr Parameter::Type type = Parameter::Type::_Int;
63};
64
66{
67public:
68 static constexpr const char* name = "MaxLaserLineWidth";
69
70 static constexpr const char* description =
71 "Set the maximum width for the laser lines. If the width of a pixel column in a laser line "
72 "is greater than this value, the spot of this pixel column in this laser line is "
73 "excluded.\nLaser line width is a property of each pixel column in a laser line. It is "
74 "equal to the number of valid pixels in such a pixel column.\nSetting appropriate minimum "
75 "and maximum widths can exclude the laser lines produced by stray light or "
76 "interreclection, which are usually too wide or too narrow.";
77
78 static constexpr Parameter::Type type = Parameter::Type::_Int;
79};
80
82{
83public:
84 static constexpr const char* name = "SpotSelection";
85
86 static constexpr const char* description =
87 "If a pixel column contains multiple spots, the final spot is selected according to the "
88 "value of this parameter.\nStrongest: selects the spot with the highest "
89 "intensity as the final spot.\nNearest: selects the spot with the smallest Z value as the "
90 "final spot.\nFarthest: selects the spot with the greatest Z value as the final spot.\n"
91 "Invalid: regards the pixel column as invalid and discards the spots. The profile "
92 "therefore has a gap. Usually used for complex situations where selection is difficult to "
93 "make.";
94
95 static constexpr Parameter::Type type = Parameter::Type::_Enum;
96
97 enum struct Value {
98 Strongest,
99 Nearest,
100 Farthest,
101 Invalid,
102 };
103};
104
105} // namespace profile_extraction
106} // namespace eye
107} // namespace mmind
Type
The device parameter data types.
Definition Parameter.h:24
@ _Int
Integer type.
Definition Parameter.h:25
@ _Enum
Enumeration type.
Definition Parameter.h:28