IDS peak IPL  v1.9.2
peak_ipl_simple_types.hpp
Go to the documentation of this file.
1 
11 #pragma once
12 
14 
15 #include <string>
16 
20 namespace peak
21 {
22 namespace ipl
23 {
24 
28 enum class ConversionMode
29 {
33 };
34 
38 enum class PixelFormatName
39 {
41 
45 
49 
53 
57 
61 
64 
68 
72 
76 
80 
83 
86 
89 
92 
95 
97 
99 
120 
141 
152 };
153 
157 enum class BayerPattern
158 {
165 };
166 
170 enum class Endianness
171 {
175 };
176 
180 enum class Orientation
181 {
184 };
185 
190 {
198 };
199 
203 struct Size2D
204 {
205  size_t width;
206  size_t height;
207 };
208 
212 PEAK_IPL_NO_DISCARD inline bool operator==(const Size2D& lhs, const Size2D& rhs)
213 {
214  return lhs.height == rhs.height && lhs.width == rhs.width;
215 }
216 
220 PEAK_IPL_NO_DISCARD inline bool operator!=(const Size2D& lhs, const Size2D& rhs)
221 {
222  return !(lhs == rhs);
223 }
227 struct Point2D
228 {
229  size_t x;
230  size_t y;
231 };
232 
236 PEAK_IPL_NO_DISCARD inline bool operator==(const Point2D& lhs, const Point2D& rhs)
237 {
238  return lhs.x == rhs.x && lhs.y == rhs.y;
239 }
240 
244 PEAK_IPL_NO_DISCARD inline bool operator!=(const Point2D& lhs, const Point2D& rhs)
245 {
246  return !(lhs == rhs);
247 }
248 
252 struct ScaleFactor
253 {
254  double x;
255  double y;
256 };
257 
263 PEAK_IPL_NO_DISCARD inline std::string ToString(ConversionMode entry)
264 {
265  switch (entry)
266  {
268  return "Fast";
270  return "HighQuality";
272  return "Classic";
273  }
274 
275  return "INVALID CONVERSION MODE VALUE";
276 }
277 
283 PEAK_IPL_NO_DISCARD inline std::string ToString(PixelFormatName entry)
284 {
285  switch (entry)
286  {
288  return "Invalid";
290  return "BayerGR8";
292  return "BayerGR10";
294  return "BayerGR12";
296  return "BayerRG8";
298  return "BayerRG10";
300  return "BayerRG12";
302  return "BayerGB8";
304  return "BayerGB10";
306  return "BayerGB12";
308  return "BayerBG8";
310  return "BayerBG10";
312  return "BayerBG12";
314  return "Mono8";
316  return "Mono10";
318  return "Mono12";
320  return "YUV420_8_YY_UV_SemiplanarIDS";
322  return "YUV420_8_YY_VU_SemiplanarIDS";
324  return "RGB8";
326  return "RGB10";
328  return "RGB12";
330  return "BGR8";
332  return "BGR10";
334  return "BGR12";
336  return "RGBa8";
338  return "RGBa10";
340  return "RGBa12";
342  return "BGRa8";
344  return "BGRa10";
346  return "BGRa12";
348  return "BayerBG10p";
350  return "BayerBG12p";
352  return "BayerGB10p";
354  return "BayerGB12p";
356  return "BayerGR10p";
358  return "BayerGR12p";
360  return "BayerRG10p";
362  return "BayerRG12p";
364  return "Mono10p";
366  return "Mono12p";
368  return "RGB10p32";
370  return "BGR10p32";
372  return "BayerRG10g40IDS";
374  return "BayerGB10g40IDS";
376  return "BayerGR10g40IDS";
378  return "BayerBG10g40IDS";
380  return "BayerRG12g24IDS";
382  return "BayerGB12g24IDS";
384  return "BayerGR12g24IDS";
386  return "BayerBG12g24IDS";
388  return "Mono10g40IDS";
390  return "Mono12g24IDS";
391  }
392 
393  return "INVALID PIXEL FORMAT VALUE";
394 }
395 
401 PEAK_IPL_NO_DISCARD inline std::string ToString(Endianness entry)
402 {
403  switch (entry)
404  {
405  case Endianness::Unknown:
406  return "Unknown";
408  return "LittleEndian";
410  return "BigEndian";
411  }
412 
413  return "INVALID ENDIANNESS VALUE";
414 }
415 
421 PEAK_IPL_NO_DISCARD inline std::string ToString(Orientation entry)
422 {
423  switch (entry)
424  {
426  return "Horizontal";
428  return "Vertical";
429  }
430 
431  return "INVALID ORIENTATION VALUE";
432 }
433 
434 } /* namespace ipl */
435 } /* namespace peak */
#define PEAK_IPL_NO_DISCARD
Definition: peak_ipl_backend.h:26
BayerRG 12-Bit packed 24bit grouped pixel format.
BayerRG 10-Bit packed pixel format.
BayerRG 12-Bit pixel format.
Definition: peak_ipl_backend.h:186
BayerGR 8-Bit pixel format.
BayerBG 8-Bit pixel format.
Definition: peak_ipl_backend.h:66
BayerGR 10-Bit packed 40bit grouped pixel format.
Little endian (lower bytes first)
Mono 12-Bit pixel format.
Definition: peak_ipl_backend.h:87
BGR 12-Bit pixel format.
BayerGB 10-Bit pixel format.
Horizontal orientation.
Definition: peak_ipl_backend.h:301
Mono 12-Bit packed 24bit grouped pixel format.
Definition: peak_ipl_backend.h:126
Definition: peak_ipl_backend.h:185
size_t height
Height of size.
Definition: peak_ipl_simple_types.hpp:206
Definition: peak_ipl_backend.h:303
Definition: peak_ipl_backend.h:105
Definition: peak_ipl_backend.h:104
BGRa 8-Bit pixel format.
Definition: peak_ipl_backend.h:89
RGB 10-Bit pixel format.
Definition: peak_ipl_backend.h:181
Definition: peak_ipl_backend.h:120
Definition: peak_ipl_backend.h:300
Definition: peak_ipl_backend.h:193
The "peak::ipl" namespace contains the whole image processing library.
Definition: peak_ipl_binning.hpp:22
BGRa 12-Bit pixel format.
PixelFormatName
Enum holding the possible pixel format names.
Definition: peak_ipl_simple_types.hpp:38
BayerGR 12-Bit packed pixel format.
RGBa 8-Bit pixel format.
Definition: peak_ipl_backend.h:75
Definition: peak_ipl_backend.h:77
Definition: peak_ipl_backend.h:158
Definition: peak_ipl_backend.h:138
Definition: peak_ipl_backend.h:184
BayerGR 12-Bit packed 24bit grouped pixel format.
Classic conversion mode.
2D size of an image.
Definition: peak_ipl_simple_types.hpp:203
Definition: peak_ipl_backend.h:68
Lanczos interpolation over 8x8 neighborhood.
Orientation
Enum holding the possible orientation.
Definition: peak_ipl_simple_types.hpp:180
Definition: peak_ipl_backend.h:194
Definition: peak_ipl_backend.h:114
Definition: peak_ipl_backend.h:94
bool operator!=(const Sharpness::SharpnessROI &lhs, const Sharpness::SharpnessROI &rhs)
Definition: peak_ipl_sharpness.hpp:425
Definition: peak_ipl_backend.h:166
Definition: peak_ipl_backend.h:93
BGR 8-Bit pixel format.
Bit-exact bilinear interpolation.
Definition: peak_ipl_backend.h:108
Big endian (higher bytes first)
Definition: peak_ipl_backend.h:116
BayerGB 12-Bit packed pixel format.
BayerGR 10-Bit packed pixel format.
BayerRG 10-Bit packed 40bit grouped pixel format.
Definition: peak_ipl_backend.h:122
Definition: peak_ipl_backend.h:174
Definition: peak_ipl_backend.h:123
Definition: peak_ipl_backend.h:79
BayerGB 12-Bit pixel format.
Definition: peak_ipl_backend.h:302
Definition: peak_ipl_backend.h:170
Definition: peak_ipl_backend.h:299
Definition: peak_ipl_backend.h:86
High-Quality conversion mode.
Definition: peak_ipl_backend.h:154
Definition: peak_ipl_backend.h:203
BGRa 10-Bit pixel format.
Definition: peak_ipl_backend.h:162
RGBa 10-Bit pixel format.
BayerGR 12-Bit pixel format.
Definition: peak_ipl_backend.h:83
BayerRG 8-Bit pixel format.
BayerBG 12-Bit packed pixel format.
BayerPattern
Enum holding the possible bayer patterns.
Definition: peak_ipl_simple_types.hpp:157
ConversionMode
Enum holding the possible conversion modes.
Definition: peak_ipl_simple_types.hpp:28
BayerBG 12-Bit packed 24bit grouped pixel format.
Definition: peak_ipl_backend.h:150
Definition: peak_ipl_backend.h:95
Definition: peak_ipl_backend.h:85
BGR 10-Bit pixel format.
Definition: peak_ipl_backend.h:106
Definition: peak_ipl_backend.h:195
Definition: peak_ipl_backend.h:91
Mono 10-Bit pixel format.
Definition: peak_ipl_backend.h:298
BayerGB 12-Bit packed 24bit grouped pixel format.
RGB 8-Bit pixel format.
Definition: peak_ipl_backend.h:82
Definition: peak_ipl_backend.h:125
Definition: peak_ipl_backend.h:202
Definition: peak_ipl_backend.h:142
Definition: peak_ipl_backend.h:81
Bit-exact bicubic interpolation.
BayerGB 10-Bit packed 40bit grouped pixel format.
Definition: peak_ipl_backend.h:109
Vertical orientation.
Definition: peak_ipl_backend.h:304
InterpolationAlgorithm
Enum holding the possible interpolation algorithm.
Definition: peak_ipl_simple_types.hpp:189
bool operator==(const Sharpness::SharpnessROI &lhs, const Sharpness::SharpnessROI &rhs)
Definition: peak_ipl_sharpness.hpp:419
Definition: peak_ipl_backend.h:131
Definition: peak_ipl_backend.h:112
Definition: peak_ipl_backend.h:146
Definition: peak_ipl_backend.h:102
nearest neighbor interpolation
Definition: peak_ipl_backend.h:182
BayerRG 12-Bit packed pixel format.
Definition: peak_ipl_backend.h:128
Mono 8-Bit pixel format.
Mono 10-Bit packed 40bit grouped pixel format.
size_t width
Width of size.
Definition: peak_ipl_simple_types.hpp:205
BayerGB 10-Bit packed pixel format.
BayerBG 10-Bit packed pixel format.
RGB 12-Bit pixel format.
Definition: peak_ipl_backend.h:117
BayerBG 10-Bit packed pixel format.
Definition: peak_ipl_backend.h:100
Definition: peak_ipl_backend.h:133
BayerBG 12-Bit pixel format.
Definition: peak_ipl_backend.h:110
Definition: peak_ipl_backend.h:67
Definition: peak_ipl_backend.h:78
Fast conversion mode.
Definition: peak_ipl_backend.h:129
Mono 10-Bit packed pixel format.
BayerBG 10-Bit packed pixel format.
Definition: peak_ipl_backend.h:113
Definition: peak_ipl_backend.h:101
BayerBG 10-Bit pixel format.
BayerGR 10-Bit pixel format.
Definition: peak_ipl_backend.h:183
resampling using pixel area relation
Definition: peak_ipl_backend.h:119
BayerGB 8-Bit pixel format.
RGBa 12-Bit pixel format.
Endianness
Enum holding the possible endianness (the byte order).
Definition: peak_ipl_simple_types.hpp:170
BayerBG 10-Bit packed 40bit grouped pixel format.
Mono 10-Bit packed pixel format.
BayerRG 10-Bit pixel format.
Definition: peak_ipl_backend.h:90