IDS peak IPL v1.17.1
Loading...
Searching...
No Matches
peak_common_metadata_traits.hpp
Go to the documentation of this file.
1
10
11#pragma once
12
15#include <array>
16#include <cstdint>
17
18namespace peak
19{
20namespace common
21{
22
23namespace detail
24{
25
27
28template <MetadataKey metadataKey>
29struct MetadataKeyTraits;
30
32
40template <>
41struct MetadataKeyTraits<MetadataKey::DeviceTimestamp>
42{
43 using type = uint64_t;
44
49 static constexpr const char* Name() {
50 return "DeviceTimestamp";
51 }
52};
53
61template <>
62struct MetadataKeyTraits<MetadataKey::DeviceFrameID>
63{
64 using type = uint64_t;
65
70 static constexpr const char* Name()
71 {
72 return "DeviceFrameID";
73 }
74};
75
83template <>
84struct MetadataKeyTraits<MetadataKey::BinningHorizontal>
85{
86 using type = uint32_t;
87
92 static constexpr const char* Name()
93 {
94 return "BinningHorizontal";
95 }
96};
97
105template <>
106struct MetadataKeyTraits<MetadataKey::BinningVertical>
107{
108 using type = uint32_t;
109
114 static constexpr const char* Name()
115 {
116 return "BinningVertical";
117 }
118};
119
127template <>
128struct MetadataKeyTraits<MetadataKey::Roi>
129{
131
136 static constexpr const char* Name()
137 {
138 return "Roi";
139 }
140};
141
149
150} // namespace detail
151
152} // namespace common
153} // namespace peak
detail::RectangleT< uint32_t, uint32_t > RectangleU
Rectangle with unsigned coordinates and unsigned dimensions.
Definition peak_common_rectangle.hpp:266
Namespace for internal implementation details and low-level types.
Definition peak_common_math.hpp:24
constexpr std::array< MetadataKey, 5 > allMetadataKeys
List of all MetadataKeys.
Definition peak_common_metadata_traits.hpp:147
Root namespace for common types and interfaces shared across multiple libraries.
Definition peak_common_math.hpp:22
MetadataKey
Enumerates all compile-time known metadata keys.
Definition peak_common_metadata_key.hpp:32
@ Roi
Region of interest applied to the image.
Definition peak_common_metadata_key.hpp:86
@ BinningHorizontal
Horizontal pixel binning factor.
Definition peak_common_metadata_key.hpp:66
@ DeviceTimestamp
Device-provided image acquisition timestamp in nanoseconds.
Definition peak_common_metadata_key.hpp:44
@ BinningVertical
Vertical pixel binning factor.
Definition peak_common_metadata_key.hpp:75
@ DeviceFrameID
A sequentially incremented identifier for the frame.
Definition peak_common_metadata_key.hpp:57
uint32_t type
Definition peak_common_metadata_traits.hpp:86
static constexpr const char * Name()
Get the string name of this key.
Definition peak_common_metadata_traits.hpp:92
uint32_t type
Definition peak_common_metadata_traits.hpp:108
static constexpr const char * Name()
Get the string name of this key.
Definition peak_common_metadata_traits.hpp:114
static constexpr const char * Name()
Get the string name of this key.
Definition peak_common_metadata_traits.hpp:70
uint64_t type
Definition peak_common_metadata_traits.hpp:64
static constexpr const char * Name()
Get the string name of this key.
Definition peak_common_metadata_traits.hpp:49
uint64_t type
Definition peak_common_metadata_traits.hpp:43
static constexpr const char * Name()
Get the string name of this key.
Definition peak_common_metadata_traits.hpp:136
RectangleU type
Definition peak_common_metadata_traits.hpp:130