MikroCAD SDK Library
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
CalibrationExport.h
Go to the documentation of this file.
1 /**
2 * @file CalibrationExport.h
3 * @brief Calibration parameters for export
4 *
5 * @author LMI Technologies
6 */
7 
8 #ifndef _CalibrationExport_h
9 #define _CalibrationExport_h
10 
11 #include "MeasurementDefs.h"
12 
13 struct TCalibParDateTimeItem
14 {
15  unsigned short m_wYear;
16  unsigned short m_wMon;
17  unsigned short m_wDay;
18  unsigned short m_wHour;
19  unsigned short m_wMin;
20  unsigned short m_wSec;
21 
22  TCalibParDateTimeItem()
23  {
24  m_wYear = m_wMon = m_wDay = m_wHour = m_wMin = m_wSec = 0;
25  };
26 };
27 
28 struct TSimpleCalibParDateTime
29 {
30  TCalibParDateTimeItem m_DateTimeRefPlane; /**< Date / Time - Reference plane */
31  TCalibParDateTimeItem m_DateTimeGrid; /**< Date / Time - Grid */
32  TCalibParDateTimeItem m_DateTimeGroove; /**< Date / Time - Groove */
33 };
34 
35 /**
36 Basic settings
37 */
39 {
40  CalibrationType m_CalType; /**< Calibration type */
41  long m_lNumAddPlanes; /**< Number of additional planes */
42  ProjectorPositionToCamera m_PositionToCamera; /**< Projector position relating to the camera */
43  bool m_bNumGridLinesLess25; /**< Less than 25 grid lines are in the camera image */
44  CalibrationMeasProgram m_CalMeasProg; /**< Measurement program for calibration */
45 
47  {
48  m_CalType = CalibrationType_GrooveStandard;
49  m_lNumAddPlanes = 0;
50  m_PositionToCamera = ProjectorPositionToCamera_Left;
51  m_bNumGridLinesLess25 = false;
52  m_CalMeasProg = CalibrationMeasProgram_32_32;
53  };
54 };
55 
56 /**
57 Optical settings
58 */
60 {
61  float m_fPixelSizeProjX; /**< Pixel size X direction projector */
62  float m_fPixelSizeProjY; /**< Pixel size Y direction projector */
63  float m_fFocalLengthProj; /**< Focal length projector */
64  float m_fPixelSizeCamX; /**< Pixel size X direction camera */
65  float m_fPixelSizeCamY; /**< Pixel size Y direction camera */
66  float m_fFocalLengthCam; /**< Focal length camera */
67 
69  {
70  m_fPixelSizeProjX = m_fPixelSizeProjY = 0.01f;
71  m_fPixelSizeCamX = m_fPixelSizeCamY = 0.01f;
72  m_fFocalLengthProj = m_fFocalLengthCam = 0.01f;
73  };
74 };
75 
76 /**
77 Calibration pieces
78 */
80 {
81  float m_fGridX; /**< Grid pattern width in mm */
82  float m_fGridY; /**< Grid pattern height in mm */
83  float m_fGrooveDepth; /**< Groove depth in mm */
84 
86  {
87  m_fGridX = m_fGridY = 0.1f;
88  m_fGrooveDepth = 0.1f;
89  };
90 };
91 
92 /**
93 Measurement Range
94 */
96 {
97  float m_fXMin;
98  float m_fXMax;
99  float m_fYMin;
100  float m_fYMax;
101  float m_fZMin;
102  float m_fZMax;
103  float m_fZResolution;
104 
106  {
107  m_fXMin = m_fXMax = m_fYMin = m_fYMax = m_fZMin = m_fZMax = 0.0f;
108  m_fZResolution = 1.0f;
109  };
110 };
111 
112 /**
113 Main structure
114 */
116 {
117  TSimpleCalibParDateTime m_DateTime;
118  TSimpleCalibParBasic m_Basic;
119  TSimpleCalibParOptic m_Optic;
120  TSimpleCalibParPieces m_Pieces;
121  TSimpleCalibParMeasRange m_MeasRange;
122 };
123 
124 /**
125 Multi level calibration - calibration method
126 */
128 {
129  MultiLevelCalibrationMethod_ManMultiplePlanes, /** Manual, grid, multiple planes */
130  MultiLevelCalibrationMethod_ManMultipleParallelPlanes, /** Manual, grid, multiple parallel planes */
131  MultiLevelCalibrationMethod_AutoMultiplePlanes, /** Automatic, grid, multiple planes */
132  MultiLevelCalibrationMethod_AutoMultipleParallelPlanes, /** Automatic, grid, multiple parallel planes */
133  MultiLevelCalibrationMethod_AutoMultipleParallelPlanesFix, /** Automatic, grid, multiple parallel planes with fixed distance */
134 
136 };
137 
138 /**
139 Multi level calibration - grid mode
140 */
142 {
143  MultiLevelCalibrationGridMode_Grid, /** Grid without diffuse light */
144  MultiLevelCalibrationGridMode_GridDiffuseLight, /** Grid with diffuse light */
145  MultiLevelCalibrationGridMode_GridPlane, /** Grid without diffuse light + plane */
146  MultiLevelCalibrationGridMode_GridDiffuseLightPlane, /** Grid with diffuse light + plane */
147  MultiLevelCalibrationGridMode_GridColorYellowPurple, /** Grid with color yellow / purple */
148 
150 };
151 
152 /**
153 Multi level calibration - system calibration mode
154 */
156 {
157  MultiLevelCalibrationSysCalibMode_TeleCyl, /** Telecentric lenses with cylinder (measuring field < 5x5 cm²) */
158  MultiLevelCalibrationSysCalibMode_TeleGroove, /** Telecentric lenses with groove (measuring field < 20x20 cm²) */
159  MultiLevelCalibrationSysCalibMode_TeleGroovePlane, /** Telecentric lenses with groove and additional plane (measuring field < 20x20 cm²) */
160  MultiLevelCalibrationSysCalibMode_TeleGrooveMultiPlane, /** Telecentric lenses with groove and multiple planes (measuring field > 20x20 cm²) */
161  MultiLevelCalibrationSysCalibMode_2Planes, /** Normal lenses with 2 parallel planes */
162  MultiLevelCalibrationSysCalibMode_MultiPlane, /** Normal lenses with multiple planes */
163  MultiLevelCalibrationSysCalibMode_MultiPlaneCorr, /** Normal lenses with multiple planes + plane correction */
164  MultiLevelCalibrationSysCalibMode_MultiPlaneCorrParallelZCorr, /** Normal lenses with multiple planes + plane correction + parallel planes + Z correction */
165  MultiLevelCalibrationSysCalibMode_MultiPlaneParallelZCorr, /** Normal lenses with multiple planes + parallel planes + Z correction */
166 
168 };
169 
170 /**
171 Multi level calibration - camera mirror mode
172 */
174 {
175  MultiLevelCalibrationCameraMirrorMode_None, /** No mirroring */
176  MultiLevelCalibrationCameraMirrorMode_Hor, /** Mirroring in horizontal direction */
177  MultiLevelCalibrationCameraMirrorMode_Vert, /** Mirroring in vertical direction */
179  MultiLevelCalibrationCameraMirrorMode_Mirror90Left, /** Mirroring + rotation 90° anticlockwise */
180  MultiLevelCalibrationCameraMirrorMode_90Left, /** Rotation 90° anticlockwise */
181  MultiLevelCalibrationCameraMirrorMode_90Right, /** Rotation 90° clockwise */
182  MultiLevelCalibrationCameraMirrorMode_Mirror90Right, /** Mirroring + rotation 90° clockwise */
183 
185 };
186 
187 /**
188 Multi level calibration - sensor texture mode
189 */
191 {
192  MultiLevelCalibrationTextureMode_None, /** No texture */
196 
198 };
199 
200 #endif // _SimpleCalibrationExport_h
long m_lNumAddPlanes
Number of additional planes.
Definition: CalibrationExport.h:41
float m_fGrooveDepth
Groove depth in mm.
Definition: CalibrationExport.h:83
Automatic, grid, multiple parallel planes with fixed distance.
Definition: CalibrationExport.h:135
Texture gray.
Definition: CalibrationExport.h:194
Telecentric lenses with groove and additional plane (measuring field < 20x20 cm²) ...
Definition: CalibrationExport.h:160
CalibrationType
Calibration types.
Definition: MeasurementDefs.h:358
Mirroring + rotation 90° clockwise.
Definition: CalibrationExport.h:184
Grid with color yellow / purple.
Definition: CalibrationExport.h:149
Telecentric lenses with groove and multiple planes (measuring field > 20x20 cm²)
Definition: CalibrationExport.h:161
float m_fFocalLengthProj
Focal length projector.
Definition: CalibrationExport.h:63
Manual, grid, multiple planes.
Definition: CalibrationExport.h:130
Main structure.
Definition: CalibrationExport.h:115
CalibrationMeasProgram
Measuring program for calibration.
Definition: MeasurementDefs.h:382
Stripes width 32, 32 images.
Definition: MeasurementDefs.h:386
MultiLevelCalibrationCameraMirrorMode
Multi level calibration - camera mirror mode.
Definition: CalibrationExport.h:173
Normal lenses with multiple planes.
Definition: CalibrationExport.h:163
ProjectorPositionToCamera m_PositionToCamera
Projector position relating to the camera.
Definition: CalibrationExport.h:42
Mirroring in horizontal direction.
Definition: CalibrationExport.h:177
Telecentric lenses with cylinder (measuring field < 5x5 cm²)
Definition: CalibrationExport.h:158
float m_fFocalLengthCam
Focal length camera.
Definition: CalibrationExport.h:66
Texture external.
Definition: CalibrationExport.h:197
Automatic, grid, multiple planes.
Definition: CalibrationExport.h:132
ProjectorPositionToCamera
Projector position to camera.
Definition: MeasurementDefs.h:371
Defines for measurement module for sensors with 1 projector and 1 camera.
Normal lenses with multiple planes + plane correction.
Definition: CalibrationExport.h:164
Telecentric lenses with groove (measuring field < 20x20 cm²)
Definition: CalibrationExport.h:159
float m_fPixelSizeProjX
Pixel size X direction projector.
Definition: CalibrationExport.h:61
Normal lenses with multiple planes + plane correction + parallel planes + Z correction.
Definition: CalibrationExport.h:165
Texture colored.
Definition: CalibrationExport.h:195
Mirroring + rotation 90° anticlockwise.
Definition: CalibrationExport.h:180
Normal lenses with 2 parallel planes.
Definition: CalibrationExport.h:162
Grid without diffuse light + plane.
Definition: CalibrationExport.h:146
bool m_bNumGridLinesLess25
Less than 25 grid lines are in the camera image.
Definition: CalibrationExport.h:43
Optical settings.
Definition: CalibrationExport.h:59
float m_fGridX
Grid pattern width in mm.
Definition: CalibrationExport.h:81
MultiLevelCalibrationTextureMode
Multi level calibration - sensor texture mode.
Definition: CalibrationExport.h:190
Automatic, grid, multiple parallel planes.
Definition: CalibrationExport.h:133
MultiLevelCalibrationMethod
Multi level calibration - calibration method.
Definition: CalibrationExport.h:127
Mirroring in vertical direction.
Definition: CalibrationExport.h:178
Basic settings.
Definition: CalibrationExport.h:38
No mirroring.
Definition: CalibrationExport.h:176
Rotation 90° clockwise.
Definition: CalibrationExport.h:182
Calibration pieces.
Definition: CalibrationExport.h:79
MultiLevelCalibrationSysCalibMode
Multi level calibration - system calibration mode.
Definition: CalibrationExport.h:155
Grid without diffuse light.
Definition: CalibrationExport.h:144
MultiLevelCalibrationGridMode
Multi level calibration - grid mode.
Definition: CalibrationExport.h:141
CalibrationType m_CalType
Calibration type.
Definition: CalibrationExport.h:40
Grid with diffuse light + plane.
Definition: CalibrationExport.h:147
Normal lenses with multiple planes + parallel planes + Z correction.
Definition: CalibrationExport.h:167
float m_fGridY
Grid pattern height in mm.
Definition: CalibrationExport.h:82
float m_fPixelSizeCamY
Pixel size Y direction camera.
Definition: CalibrationExport.h:65
float m_fPixelSizeProjY
Pixel size Y direction projector.
Definition: CalibrationExport.h:62
Rotation 90° anticlockwise.
Definition: CalibrationExport.h:181
Rotation 180°
Definition: CalibrationExport.h:179
Grid with diffuse light.
Definition: CalibrationExport.h:145
Measurement Range.
Definition: CalibrationExport.h:95
Manual, grid, multiple parallel planes.
Definition: CalibrationExport.h:131
CalibrationMeasProgram m_CalMeasProg
Measurement program for calibration.
Definition: CalibrationExport.h:44
float m_fPixelSizeCamX
Pixel size X direction camera.
Definition: CalibrationExport.h:64
No texture.
Definition: CalibrationExport.h:193