IDS peak IPL  v1.10.0
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 
63 
66 
68 
72 
76 
80 
84 
87 
90 
93 
96 
99 
101 
103 
124 
145 
156 };
157 
161 enum class BayerPattern
162 {
169 };
170 
174 enum class Endianness
175 {
179 };
180 
184 enum class Orientation
185 {
188 };
189 
194 {
202 };
203 
207 struct Size2D
208 {
209  size_t width;
210  size_t height;
211 };
212 
216 PEAK_IPL_NO_DISCARD inline bool operator==(const Size2D& lhs, const Size2D& rhs)
217 {
218  return lhs.height == rhs.height && lhs.width == rhs.width;
219 }
220 
224 PEAK_IPL_NO_DISCARD inline bool operator!=(const Size2D& lhs, const Size2D& rhs)
225 {
226  return !(lhs == rhs);
227 }
231 struct Point2D
232 {
233  size_t x;
234  size_t y;
235 };
236 
240 PEAK_IPL_NO_DISCARD inline bool operator==(const Point2D& lhs, const Point2D& rhs)
241 {
242  return lhs.x == rhs.x && lhs.y == rhs.y;
243 }
244 
248 PEAK_IPL_NO_DISCARD inline bool operator!=(const Point2D& lhs, const Point2D& rhs)
249 {
250  return !(lhs == rhs);
251 }
252 
256 struct ScaleFactor
257 {
258  double x;
259  double y;
260 };
261 
267 PEAK_IPL_NO_DISCARD inline std::string ToString(ConversionMode entry)
268 {
269  switch (entry)
270  {
272  return "Fast";
274  return "HighQuality";
276  return "Classic";
277  }
278 
279  return "INVALID CONVERSION MODE VALUE";
280 }
281 
287 PEAK_IPL_NO_DISCARD inline std::string ToString(PixelFormatName entry)
288 {
289  switch (entry)
290  {
292  return "Invalid";
294  return "BayerGR8";
296  return "BayerGR10";
298  return "BayerGR12";
300  return "BayerRG8";
302  return "BayerRG10";
304  return "BayerRG12";
306  return "BayerGB8";
308  return "BayerGB10";
310  return "BayerGB12";
312  return "BayerBG8";
314  return "BayerBG10";
316  return "BayerBG12";
318  return "Mono8";
320  return "Mono10";
322  return "Mono12";
324  return "Coord3D_C32f";
326  return "YUV420_8_YY_UV_SemiplanarIDS";
328  return "YUV420_8_YY_VU_SemiplanarIDS";
330  return "YUV422_8_UYVY";
332  return "RGB8";
334  return "RGB10";
336  return "RGB12";
338  return "BGR8";
340  return "BGR10";
342  return "BGR12";
344  return "RGBa8";
346  return "RGBa10";
348  return "RGBa12";
350  return "BGRa8";
352  return "BGRa10";
354  return "BGRa12";
356  return "BayerBG10p";
358  return "BayerBG12p";
360  return "BayerGB10p";
362  return "BayerGB12p";
364  return "BayerGR10p";
366  return "BayerGR12p";
368  return "BayerRG10p";
370  return "BayerRG12p";
372  return "Mono10p";
374  return "Mono12p";
376  return "RGB10p32";
378  return "BGR10p32";
380  return "BayerRG10g40IDS";
382  return "BayerGB10g40IDS";
384  return "BayerGR10g40IDS";
386  return "BayerBG10g40IDS";
388  return "BayerRG12g24IDS";
390  return "BayerGB12g24IDS";
392  return "BayerGR12g24IDS";
394  return "BayerBG12g24IDS";
396  return "Mono10g40IDS";
398  return "Mono12g24IDS";
399  }
400 
401  return "INVALID PIXEL FORMAT VALUE";
402 }
403 
409 PEAK_IPL_NO_DISCARD inline std::string ToString(Endianness entry)
410 {
411  switch (entry)
412  {
413  case Endianness::Unknown:
414  return "Unknown";
416  return "LittleEndian";
418  return "BigEndian";
419  }
420 
421  return "INVALID ENDIANNESS VALUE";
422 }
423 
429 PEAK_IPL_NO_DISCARD inline std::string ToString(Orientation entry)
430 {
431  switch (entry)
432  {
434  return "Horizontal";
436  return "Vertical";
437  }
438 
439  return "INVALID ORIENTATION VALUE";
440 }
441 
442 } /* namespace ipl */
443 } /* 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:190
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:305
Mono 12-Bit packed 24bit grouped pixel format.
Definition: peak_ipl_backend.h:130
Definition: peak_ipl_backend.h:189
size_t height
Height of size.
Definition: peak_ipl_simple_types.hpp:210
Definition: peak_ipl_backend.h:307
Definition: peak_ipl_backend.h:109
Definition: peak_ipl_backend.h:108
BGRa 8-Bit pixel format.
Definition: peak_ipl_backend.h:89
RGB 10-Bit pixel format.
Definition: peak_ipl_backend.h:185
Definition: peak_ipl_backend.h:124
Definition: peak_ipl_backend.h:304
Definition: peak_ipl_backend.h:197
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:162
Definition: peak_ipl_backend.h:142
Definition: peak_ipl_backend.h:188
BayerGR 12-Bit packed 24bit grouped pixel format.
Classic conversion mode.
2D size of an image.
Definition: peak_ipl_simple_types.hpp:207
Definition: peak_ipl_backend.h:68
Lanczos interpolation over 8x8 neighborhood.
Orientation
Enum holding the possible orientation.
Definition: peak_ipl_simple_types.hpp:184
Definition: peak_ipl_backend.h:198
Definition: peak_ipl_backend.h:118
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:170
Definition: peak_ipl_backend.h:93
BGR 8-Bit pixel format.
Bit-exact bilinear interpolation.
Definition: peak_ipl_backend.h:112
Big endian (higher bytes first)
Definition: peak_ipl_backend.h:120
Definition: peak_ipl_backend.h:102
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:126
Definition: peak_ipl_backend.h:178
Definition: peak_ipl_backend.h:127
Definition: peak_ipl_backend.h:79
BayerGB 12-Bit pixel format.
Definition: peak_ipl_backend.h:306
Definition: peak_ipl_backend.h:174
Definition: peak_ipl_backend.h:303
Definition: peak_ipl_backend.h:86
High-Quality conversion mode.
Definition: peak_ipl_backend.h:158
Definition: peak_ipl_backend.h:207
BGRa 10-Bit pixel format.
Definition: peak_ipl_backend.h:166
RGBa 10-Bit pixel format.
BayerGR 12-Bit pixel format.
Definition: peak_ipl_backend.h:97
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:161
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:154
Definition: peak_ipl_backend.h:95
Definition: peak_ipl_backend.h:85
BGR 10-Bit pixel format.
Definition: peak_ipl_backend.h:110
Definition: peak_ipl_backend.h:199
Definition: peak_ipl_backend.h:91
Mono 10-Bit pixel format.
Definition: peak_ipl_backend.h:302
BayerGB 12-Bit packed 24bit grouped pixel format.
RGB 8-Bit pixel format.
Definition: peak_ipl_backend.h:82
Definition: peak_ipl_backend.h:129
Definition: peak_ipl_backend.h:206
Definition: peak_ipl_backend.h:146
Definition: peak_ipl_backend.h:100
Definition: peak_ipl_backend.h:81
Bit-exact bicubic interpolation.
BayerGB 10-Bit packed 40bit grouped pixel format.
Definition: peak_ipl_backend.h:113
Vertical orientation.
Definition: peak_ipl_backend.h:308
InterpolationAlgorithm
Enum holding the possible interpolation algorithm.
Definition: peak_ipl_simple_types.hpp:193
bool operator==(const Sharpness::SharpnessROI &lhs, const Sharpness::SharpnessROI &rhs)
Definition: peak_ipl_sharpness.hpp:419
Definition: peak_ipl_backend.h:135
Definition: peak_ipl_backend.h:116
Definition: peak_ipl_backend.h:150
Definition: peak_ipl_backend.h:106
nearest neighbor interpolation
Definition: peak_ipl_backend.h:186
BayerRG 12-Bit packed pixel format.
Definition: peak_ipl_backend.h:132
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:209
BayerGB 10-Bit packed pixel format.
BayerBG 10-Bit packed pixel format.
RGB 12-Bit pixel format.
Definition: peak_ipl_backend.h:121
BayerBG 10-Bit packed pixel format.
Definition: peak_ipl_backend.h:104
Definition: peak_ipl_backend.h:137
BayerBG 12-Bit pixel format.
Definition: peak_ipl_backend.h:114
Definition: peak_ipl_backend.h:67
Definition: peak_ipl_backend.h:78
Fast conversion mode.
Definition: peak_ipl_backend.h:133
Mono 10-Bit packed pixel format.
BayerBG 10-Bit packed pixel format.
Definition: peak_ipl_backend.h:117
Definition: peak_ipl_backend.h:105
BayerBG 10-Bit pixel format.
BayerGR 10-Bit pixel format.
Definition: peak_ipl_backend.h:187
resampling using pixel area relation
Definition: peak_ipl_backend.h:123
BayerGB 8-Bit pixel format.
3D coordinate C 32-bit floating point
RGBa 12-Bit pixel format.
Endianness
Enum holding the possible endianness (the byte order).
Definition: peak_ipl_simple_types.hpp:174
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