21template <MetadataKey metadataKey>
22struct MetadataKeyTraits;
37 static constexpr const char*
Name()
39 return "DeviceTimestamp";
54 static constexpr const char*
Name()
56 return "DeviceFrameID";
71 static constexpr const char*
Name()
73 return "BinningHorizontal";
88 static constexpr const char*
Name()
90 return "BinningVertical";
105 static constexpr const char*
Name()
122 static constexpr const char*
Name()
124 return "DeviceExposureTime";
134 using type = std::vector<double>;
139 static constexpr const char*
Name()
141 return "DeviceExposureTimeSequence";
156 static constexpr const char*
Name()
158 return "SystemTimestamp";
173 static constexpr const char*
Name()
185 using type = std::vector<double>;
190 static constexpr const char*
Name()
192 return "DeviceGainSequence";
204template <
typename T,
typename Tuple>
208struct is_in_tuple<T, std::tuple<>> : std::false_type
211template <
typename T,
typename First,
typename... Rest>
212struct is_in_tuple<T, std::tuple<First, Rest...>>
213 : std::integral_constant<bool, std::is_same<T, First>::value || is_in_tuple<T, std::tuple<Rest...>>::value>
216template <
typename T,
typename Enable =
void>
223struct NormalizeType<T, typename std::enable_if_t<!std::is_same<T, bool>::value && std::is_integral<T>::value && std::is_signed<T>::value>>
225 using type = int64_t;
229struct NormalizeType<T, typename std::enable_if_t<std::is_floating_point<T>::value>>
235struct NormalizeType<T, typename std::enable_if_t<!std::is_same<T, bool>::value && std::is_integral<T>::value && !std::is_signed<T>::value>>
237 using type = uint64_t;
241using normalize_t =
typename NormalizeType<typename std::decay_t<T>>::type;
detail::RectangleT< uint32_t, uint32_t > RectangleU
Rectangle with unsigned coordinates and unsigned dimensions.
Definition peak_common_rectangle.hpp:262
Namespace for internal implementation details and low-level types.
Definition peak_common_math.hpp:19
constexpr std::array< MetadataKey, 10 > allMetadataKeys
Definition peak_common_metadata_traits.hpp:199
Root namespace for common types and interfaces shared across multiple libraries.
Definition peak_common_math.hpp:17
MetadataKey
Enumerates all compile-time known metadata keys.
Definition peak_common_metadata_key.hpp:26
@ Roi
Region of interest applied to the image.
Definition peak_common_metadata_key.hpp:80
@ DeviceGain
Device gain the image was captured with.
Definition peak_common_metadata_key.hpp:126
@ DeviceExposureTime
Device exposure time the image was captured with.
Definition peak_common_metadata_key.hpp:89
@ BinningHorizontal
Horizontal pixel binning factor.
Definition peak_common_metadata_key.hpp:60
@ DeviceExposureTimeSequence
Device exposure time sequence the image was captured with.
Definition peak_common_metadata_key.hpp:119
@ DeviceTimestamp
Device-provided image acquisition timestamp in nanoseconds.
Definition peak_common_metadata_key.hpp:38
@ SystemTimestamp
Timestamp of the system since unix epoch in nanoseconds.
Definition peak_common_metadata_key.hpp:105
@ DeviceGainSequence
Device gain sequence the image was captured with.
Definition peak_common_metadata_key.hpp:138
@ BinningVertical
Vertical pixel binning factor.
Definition peak_common_metadata_key.hpp:69
@ DeviceFrameID
A sequentially incremented identifier for the frame.
Definition peak_common_metadata_key.hpp:51