FrameInfo
Per-frame metadata (capture timestamp, software version that produced it, …).
-
class FrameInfo
Various information for a frame.
Public Functions
-
FrameInfo()
Default constructor.
-
std::string serialize() const
Serialize to a string.
See also fromSerialized. The returned string is formatted in YAML, and is compatible with the contents of files saved using save.
-
template<typename ...Args>
inline explicit FrameInfo(Args&&... args) Constructor taking variadic number of arguments.
One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing
FrameInfothen invokingset(args).The provided arguments must be descendants of
FrameInfo. These types can be provided:
-
template<typename ...Args>
inline void set(Args&&... args) Set multiple arguments.
The method invokes
set(arg)with each of the provided arguments.The provided arguments must be descendants of
FrameInfo. These types can be provided:
-
template<typename ...Args>
inline FrameInfo copyWith(Args&&... args) const Returns a copy of this object with the given argument(s) set to the new value(s)
Creates a copy of this FrameInfo object, then invokes
set(args)on the copy, and finally returns the copy. This method does not modify the original object.The provided arguments must be descendants of
FrameInfo. These types can be provided:
-
inline const Diagnostics &diagnostics() const
Get Diagnostics.
-
inline Diagnostics &diagnostics()
Get Diagnostics.
-
inline FrameInfo &set(const Diagnostics &value)
Set Diagnostics.
-
inline FrameInfo &set(const Diagnostics::PacketLoss &value)
-
inline FrameInfo &set(const Metrics::AcquisitionTime &value)
-
inline FrameInfo &set(const Metrics::CaptureTime &value)
Set Metrics::CaptureTime.
-
inline FrameInfo &set(const Metrics::KernelComputeTime &value)
-
inline FrameInfo &set(const Metrics::ReprocessingTime &value)
-
inline FrameInfo &set(const Metrics::ThrottlingTime &value)
-
inline const SoftwareVersion &softwareVersion() const
Get SoftwareVersion.
-
inline SoftwareVersion &softwareVersion()
Get SoftwareVersion.
-
inline FrameInfo &set(const SoftwareVersion &value)
Set SoftwareVersion.
-
inline FrameInfo &set(const SoftwareVersion::Core &value)
-
inline const SystemInfo &systemInfo() const
Get SystemInfo.
-
inline SystemInfo &systemInfo()
Get SystemInfo.
-
inline FrameInfo &set(const SystemInfo &value)
Set SystemInfo.
-
inline FrameInfo &set(const SystemInfo::CPU &value)
Set SystemInfo::CPU.
-
inline FrameInfo &set(const SystemInfo::CPU::Model &value)
-
inline FrameInfo &set(const SystemInfo::ComputeDevice &value)
-
inline FrameInfo &set(const SystemInfo::ComputeDevice::Model &value)
-
inline FrameInfo &set(const SystemInfo::ComputeDevice::Vendor &value)
-
inline FrameInfo &set(const SystemInfo::OperatingSystem &value)
-
template<typename F>
inline void forEach(const F &f) const Run the given function on each direct member with the value of the member as parameter.
-
template<typename F>
inline void forEach(const F &f) Run the given function on each direct member with the value of the member as parameter.
-
std::string toString() const
Get the value as string.
-
void save(const std::string &fileName) const
Save to the given file.
-
void load(const std::string &fileName)
Load from the given file.
Public Static Functions
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group
The type of this node.
-
static constexpr const char *path = {""}
The full path for this value.
-
static constexpr const char *name = {"FrameInfo"}
The name of this value.
- static constexpr const char * description = { R"description(Various information for a frame)description" }
The description for this value.
Friends
-
class Diagnostics
Diagnostic information for frame.
Public Functions
-
Diagnostics()
Default constructor.
-
template<typename ...Args>
inline explicit Diagnostics(Args&&... args) Constructor taking variadic number of arguments.
One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing
Diagnosticsthen invokingset(args).The provided arguments must be descendants of
Diagnostics. These types can be provided:
-
template<typename ...Args>
inline void set(Args&&... args) Set multiple arguments.
The method invokes
set(arg)with each of the provided arguments.The provided arguments must be descendants of
Diagnostics. These types can be provided:
-
template<typename ...Args>
inline Diagnostics copyWith(Args&&... args) const Returns a copy of this object with the given argument(s) set to the new value(s)
Creates a copy of this Diagnostics object, then invokes
set(args)on the copy, and finally returns the copy. This method does not modify the original object.The provided arguments must be descendants of
Diagnostics. These types can be provided:
-
inline const PacketLoss &packetLoss() const
Get PacketLoss.
-
inline PacketLoss &packetLoss()
Get PacketLoss.
-
inline Diagnostics &set(const PacketLoss &value)
Set PacketLoss.
-
template<typename F>
inline void forEach(const F &f) const Run the given function on each direct member with the value of the member as parameter.
-
template<typename F>
inline void forEach(const F &f) Run the given function on each direct member with the value of the member as parameter.
-
bool operator==(const Diagnostics &other) const
Equality operator.
-
bool operator!=(const Diagnostics &other) const
Inequality operator.
-
std::string toString() const
Get the value as string.
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group
The type of this node.
-
static constexpr const char *path = {"Diagnostics"}
The full path for this value.
-
static constexpr const char *name = {"Diagnostics"}
The name of this value.
- static constexpr const char * description = { R"description(Diagnostic information for frame)description" }
The description for this value.
Friends
-
inline friend std::ostream &operator<<(std::ostream &stream, const Diagnostics &value)
Operator to send the value as string to a stream.
-
class PacketLoss
Is frame missing any data.
Public Types
-
using ValueType = bool
The type of the underlying value.
Public Functions
-
PacketLoss() = default
Default constructor.
-
inline explicit constexpr PacketLoss(bool value)
Constructor.
-
bool value() const
Get the value.
-
std::string toString() const
Get the value as string.
-
inline explicit operator bool() const
Convert to bool where appropriate.
-
inline bool operator==(const PacketLoss &other) const
Comparison operator.
-
inline bool operator!=(const PacketLoss &other) const
Comparison operator.
Public Static Functions
-
static inline std::set<bool> validValues()
All valid values of PacketLoss.
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue
The type of this node.
-
static constexpr const char *path = {"Diagnostics/PacketLoss"}
The full path for this value.
-
static constexpr const char *name = {"PacketLoss"}
The name of this value.
- static constexpr const char * description = { R"description(Is frame missing any data)description" }
The description for this value.
-
static const PacketLoss yes
On/enabled.
-
static const PacketLoss no
Off/disabled.
Friends
-
inline friend std::ostream &operator<<(std::ostream &stream, const PacketLoss &value)
Operator to serialize the value to a stream.
-
using ValueType = bool
-
Diagnostics()
-
class Metrics
Metrics related to this capture.
Public Functions
-
Metrics()
Default constructor.
-
template<typename ...Args>
inline explicit Metrics(Args&&... args) Constructor taking variadic number of arguments.
One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing
Metricsthen invokingset(args).The provided arguments must be descendants of
Metrics. These types can be provided:
-
template<typename ...Args>
inline void set(Args&&... args) Set multiple arguments.
The method invokes
set(arg)with each of the provided arguments.The provided arguments must be descendants of
Metrics. These types can be provided:
-
template<typename ...Args>
inline Metrics copyWith(Args&&... args) const Returns a copy of this object with the given argument(s) set to the new value(s)
Creates a copy of this Metrics object, then invokes
set(args)on the copy, and finally returns the copy. This method does not modify the original object.The provided arguments must be descendants of
Metrics. These types can be provided:
-
inline const AcquisitionTime &acquisitionTime() const
Get AcquisitionTime.
-
inline AcquisitionTime &acquisitionTime()
Get AcquisitionTime.
-
inline Metrics &set(const AcquisitionTime &value)
Set AcquisitionTime.
-
inline const CaptureTime &captureTime() const
Get CaptureTime.
-
inline CaptureTime &captureTime()
Get CaptureTime.
-
inline Metrics &set(const CaptureTime &value)
Set CaptureTime.
-
inline const KernelComputeTime &kernelComputeTime() const
Get KernelComputeTime.
-
inline KernelComputeTime &kernelComputeTime()
Get KernelComputeTime.
-
inline Metrics &set(const KernelComputeTime &value)
Set KernelComputeTime.
-
inline const ReprocessingTime &reprocessingTime() const
Get ReprocessingTime.
-
inline ReprocessingTime &reprocessingTime()
Get ReprocessingTime.
-
inline Metrics &set(const ReprocessingTime &value)
Set ReprocessingTime.
-
inline const ThrottlingTime &throttlingTime() const
Get ThrottlingTime.
-
inline ThrottlingTime &throttlingTime()
Get ThrottlingTime.
-
inline Metrics &set(const ThrottlingTime &value)
Set ThrottlingTime.
-
template<typename F>
inline void forEach(const F &f) const Run the given function on each direct member with the value of the member as parameter.
-
template<typename F>
inline void forEach(const F &f) Run the given function on each direct member with the value of the member as parameter.
-
std::string toString() const
Get the value as string.
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group
The type of this node.
-
static constexpr const char *path = {"Metrics"}
The full path for this value.
-
static constexpr const char *name = {"Metrics"}
The name of this value.
- static constexpr const char * description = { R"description(Metrics related to this capture.)description" }
The description for this value.
Friends
-
class AcquisitionTime
Acquisition Time is the duration from the start of the capture to when the camera has acquired the last image.
After this time, the camera has finished its acquisition and you can move the robot, or capture with another camera with overlapping field of view. Acquisition Time is equal to the time it takes for the Camera::capture(settings) API function call to return.
Public Types
-
using ValueType = std::chrono::microseconds
The type of the underlying value.
Public Functions
-
AcquisitionTime() = default
Default constructor.
-
inline explicit constexpr AcquisitionTime(std::chrono::microseconds value)
Constructor.
-
std::chrono::microseconds value() const
Get the value.
-
std::string toString() const
Get the value as string.
-
inline bool operator==(const AcquisitionTime &other) const
Comparison operator.
-
inline bool operator!=(const AcquisitionTime &other) const
Comparison operator.
-
inline bool operator<(const AcquisitionTime &other) const
Comparison operator.
-
inline bool operator>(const AcquisitionTime &other) const
Comparison operator.
-
inline bool operator<=(const AcquisitionTime &other) const
Comparison operator.
-
inline bool operator>=(const AcquisitionTime &other) const
Comparison operator.
Public Static Functions
-
static inline constexpr Range<std::chrono::microseconds> validRange()
The range of valid values for AcquisitionTime.
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue
The type of this node.
-
static constexpr const char *path = {"Metrics/AcquisitionTime"}
The full path for this value.
-
static constexpr const char *name = {"AcquisitionTime"}
The name of this value.
- static constexpr const char * description {R"description(Acquisition Time is the duration from the start of the capture to when the camera has acquired thelast image. After this time, the camera has finished its acquisition and you can move the robot,or capture with another camera with overlapping field of view. Acquisition Time is equal to thetime it takes for theCamera::capture(settings) API function call to return.)description"}
The description for this value.
Friends
-
inline friend std::ostream &operator<<(std::ostream &stream, const AcquisitionTime &value)
Operator to serialize the value to a stream.
-
using ValueType = std::chrono::microseconds
-
class CaptureTime
Capture Time is the duration from the start of the capture to when all of the data transfer and processing has completed.
After this time the 3D point cloud and/or 2D color image is ready and available on the GPU memory, and can be copied to the system memory (RAM).
Public Types
-
using ValueType = std::chrono::microseconds
The type of the underlying value.
Public Functions
-
CaptureTime() = default
Default constructor.
-
inline explicit constexpr CaptureTime(std::chrono::microseconds value)
Constructor.
-
std::chrono::microseconds value() const
Get the value.
-
std::string toString() const
Get the value as string.
-
inline bool operator==(const CaptureTime &other) const
Comparison operator.
-
inline bool operator!=(const CaptureTime &other) const
Comparison operator.
-
inline bool operator<(const CaptureTime &other) const
Comparison operator.
-
inline bool operator>(const CaptureTime &other) const
Comparison operator.
-
inline bool operator<=(const CaptureTime &other) const
Comparison operator.
-
inline bool operator>=(const CaptureTime &other) const
Comparison operator.
Public Static Functions
-
static inline constexpr Range<std::chrono::microseconds> validRange()
The range of valid values for CaptureTime.
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue
The type of this node.
-
static constexpr const char *path = {"Metrics/CaptureTime"}
The full path for this value.
-
static constexpr const char *name = {"CaptureTime"}
The name of this value.
- static constexpr const char * description {R"description(Capture Time is the duration from the start of the capture to when all of the data transfer andprocessing has completed. After this time the 3D point cloud and/or 2D color image is ready andavailable on the GPU memory, and can be copied to the system memory (RAM).)description"}
The description for this value.
Friends
-
inline friend std::ostream &operator<<(std::ostream &stream, const CaptureTime &value)
Operator to serialize the value to a stream.
-
using ValueType = std::chrono::microseconds
-
class KernelComputeTime
Kernel Compute Time is the duration of the compute on the GPU.
It is a subset of Capture Time. Kernel Compute Time depends on the capture settings and the compute power of the GPU. Note that Kernel Compute Time + Acquisition Time is not equal to Capture Time, as acquisition and processing operations can be performed in parallel.
Public Types
-
using ValueType = std::chrono::microseconds
The type of the underlying value.
Public Functions
-
KernelComputeTime() = default
Default constructor.
-
inline explicit constexpr KernelComputeTime(std::chrono::microseconds value)
Constructor.
-
std::chrono::microseconds value() const
Get the value.
-
std::string toString() const
Get the value as string.
-
inline bool operator==(const KernelComputeTime &other) const
Comparison operator.
-
inline bool operator!=(const KernelComputeTime &other) const
Comparison operator.
-
inline bool operator<(const KernelComputeTime &other) const
Comparison operator.
-
inline bool operator>(const KernelComputeTime &other) const
Comparison operator.
-
inline bool operator<=(const KernelComputeTime &other) const
Comparison operator.
-
inline bool operator>=(const KernelComputeTime &other) const
Comparison operator.
Public Static Functions
-
static inline constexpr Range<std::chrono::microseconds> validRange()
The range of valid values for KernelComputeTime.
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue
The type of this node.
-
static constexpr const char *path = {"Metrics/KernelComputeTime"}
The full path for this value.
-
static constexpr const char *name = {"KernelComputeTime"}
The name of this value.
- static constexpr const char * description {R"description(Kernel Compute Time is the duration of the compute on the GPU. It is a subset of Capture Time. KernelCompute Time depends on the capture settings and the compute power of the GPU. Note that Kernel ComputeTime + Acquisition Time is not equal to Capture Time, as acquisition and processing operations can beperformed in parallel.)description"}
The description for this value.
Friends
-
inline friend std::ostream &operator<<(std::ostream &stream, const KernelComputeTime &value)
Operator to serialize the value to a stream.
-
using ValueType = std::chrono::microseconds
-
class ReprocessingTime
Reprocessing re-runs the entire processing pipeline (including filters, color balance etc.) on a previously acquired frame.
Reprocessing is available in Zivid Studio for captures with Diagnostics Mode enabled. The ReprocessingTime field is only set if this frame was reprocessed after it was initially captured, otherwise it will be unset.
Reprocessing Time is the duration from the start of the reprocessing action and until all processing of the new frame has finished. After this time the 3D point cloud and/or 2D color image is ready and available on the GPU memory and can be copied to the system memory (RAM).
Reprocessing Time depends on the processing settings that are enabled, which capture engine that was used, the pixel sampling setting and the number of acquisitions used. Reprocessing Time also depends on the compute power of the compute device.
Note that for a frame that has been re-processed, the Acquisition Time and Capture Time refers to the originally captured frame. Only Reprocessing Time is updated in a reprocessed frame.
Public Types
-
using ValueType = std::chrono::microseconds
The type of the underlying value.
Public Functions
-
ReprocessingTime() = default
Default constructor.
-
inline explicit constexpr ReprocessingTime(std::chrono::microseconds value)
Constructor.
-
std::chrono::microseconds value() const
Get the value.
If this object does not contain a value (see hasValue) then this method throws an exception.
-
bool hasValue() const
Check if the value is set.
-
void reset()
Reset the node to unset state.
-
std::string toString() const
Get the value as string.
-
inline bool operator==(const ReprocessingTime &other) const
Comparison operator.
-
inline bool operator!=(const ReprocessingTime &other) const
Comparison operator.
-
inline bool operator<(const ReprocessingTime &other) const
Comparison operator.
-
inline bool operator>(const ReprocessingTime &other) const
Comparison operator.
-
inline bool operator<=(const ReprocessingTime &other) const
Comparison operator.
-
inline bool operator>=(const ReprocessingTime &other) const
Comparison operator.
Public Static Functions
-
static inline constexpr Range<std::chrono::microseconds> validRange()
The range of valid values for ReprocessingTime.
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue
The type of this node.
-
static constexpr const char *path = {"Metrics/ReprocessingTime"}
The full path for this value.
-
static constexpr const char *name = {"ReprocessingTime"}
The name of this value.
- static constexpr const char * description {R"description(Reprocessing re-runs the entire processing pipeline (including filters, color balance etc.) on apreviously acquired frame. Reprocessing is available in Zivid Studio for captures withDiagnosticsModeenabled. TheReprocessingTime field is only set if this framewas reprocessed after it was initiallycaptured, otherwise it will be unset.Reprocessing Time is the duration from the start of the reprocessing action and until all processingof the newframehas finished. After this time the 3D point cloud and/or 2D color image is ready andavailable on the GPU memory and can be copied to the system memory (RAM).Reprocessing Time depends on the processing settings that are enabled, which capture engine that wasused, the pixel sampling setting and the number of acquisitions used. Reprocessing Time also depends onthe compute power of the compute device.Note that for aframethat has been re-processed, the Acquisition Time and Capture Time refers tothe originally captured frame. Only Reprocessing Time is updated in a reprocessed frame.)description"}
The description for this value.
Friends
-
inline friend std::ostream &operator<<(std::ostream &stream, const ReprocessingTime &value)
Operator to serialize the value to a stream.
-
using ValueType = std::chrono::microseconds
-
class ThrottlingTime
Throttling Time is the duration that the capture was paused due to thermal or other constraints on the camera’s components while it was capturing this frame.
This duration is part of the overall Acquisition Time. If the camera throttled during a capture, it will result in a longer Acquisition Time.
Whether or not the camera will throttle depends on the ambient temperature, the capture settings, and the how frequently the camera is capturing.
Public Types
-
using ValueType = std::chrono::microseconds
The type of the underlying value.
Public Functions
-
ThrottlingTime() = default
Default constructor.
-
inline explicit constexpr ThrottlingTime(std::chrono::microseconds value)
Constructor.
-
std::chrono::microseconds value() const
Get the value.
-
std::string toString() const
Get the value as string.
-
inline bool operator==(const ThrottlingTime &other) const
Comparison operator.
-
inline bool operator!=(const ThrottlingTime &other) const
Comparison operator.
-
inline bool operator<(const ThrottlingTime &other) const
Comparison operator.
-
inline bool operator>(const ThrottlingTime &other) const
Comparison operator.
-
inline bool operator<=(const ThrottlingTime &other) const
Comparison operator.
-
inline bool operator>=(const ThrottlingTime &other) const
Comparison operator.
Public Static Functions
-
static inline constexpr Range<std::chrono::microseconds> validRange()
The range of valid values for ThrottlingTime.
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue
The type of this node.
-
static constexpr const char *path = {"Metrics/ThrottlingTime"}
The full path for this value.
-
static constexpr const char *name = {"ThrottlingTime"}
The name of this value.
- static constexpr const char * description {R"description(Throttling Time is the duration that the capture was paused due to thermal or other constraints on thecamera's components while it was capturing this frame. This duration is part of the overall AcquisitionTime. If the camera throttled during a capture, it will result in a longer Acquisition Time.Whether or not the camera will throttle depends on the ambient temperature, the capture settings, andthe how frequently the camera is capturing.)description"}
The description for this value.
Friends
-
inline friend std::ostream &operator<<(std::ostream &stream, const ThrottlingTime &value)
Operator to serialize the value to a stream.
-
using ValueType = std::chrono::microseconds
-
Metrics()
-
class SoftwareVersion
The version information for installed software at the time of image capture.
Public Functions
-
SoftwareVersion()
Default constructor.
-
template<typename ...Args>
inline explicit SoftwareVersion(Args&&... args) Constructor taking variadic number of arguments.
One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing
SoftwareVersionthen invokingset(args).The provided arguments must be descendants of
SoftwareVersion. These types can be provided:
-
template<typename ...Args>
inline void set(Args&&... args) Set multiple arguments.
The method invokes
set(arg)with each of the provided arguments.The provided arguments must be descendants of
SoftwareVersion. These types can be provided:
-
template<typename ...Args>
inline SoftwareVersion copyWith(Args&&... args) const Returns a copy of this object with the given argument(s) set to the new value(s)
Creates a copy of this SoftwareVersion object, then invokes
set(args)on the copy, and finally returns the copy. This method does not modify the original object.The provided arguments must be descendants of
SoftwareVersion. These types can be provided:
-
inline SoftwareVersion &set(const Core &value)
Set Core.
-
template<typename F>
inline void forEach(const F &f) const Run the given function on each direct member with the value of the member as parameter.
-
template<typename F>
inline void forEach(const F &f) Run the given function on each direct member with the value of the member as parameter.
-
bool operator==(const SoftwareVersion &other) const
Equality operator.
-
bool operator!=(const SoftwareVersion &other) const
Inequality operator.
-
std::string toString() const
Get the value as string.
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group
The type of this node.
-
static constexpr const char *path = {"SoftwareVersion"}
The full path for this value.
-
static constexpr const char *name = {"SoftwareVersion"}
The name of this value.
- static constexpr const char * description {R"description(Theversioninformation for installed software at the time of image capture)description"}
The description for this value.
Friends
-
inline friend std::ostream &operator<<(std::ostream &stream, const SoftwareVersion &value)
Operator to send the value as string to a stream.
-
class Core
Core version.
Public Types
-
using ValueType = std::string
The type of the underlying value.
Public Functions
-
Core() = default
Default constructor.
-
inline explicit Core(std::string value)
Constructor.
-
const std::string &value() const
Get the value.
-
std::string toString() const
Get the value as string.
Public Static Functions
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue
The type of this node.
-
static constexpr const char *path = {"SoftwareVersion/Core"}
The full path for this value.
-
static constexpr const char *name = {"Core"}
The name of this value.
- static constexpr const char * description = { R"description(Core version)description" }
The description for this value.
-
using ValueType = std::string
-
SoftwareVersion()
-
class SystemInfo
Information about the system that captured this frame.
Public Functions
-
SystemInfo()
Default constructor.
-
template<typename ...Args>
inline explicit SystemInfo(Args&&... args) Constructor taking variadic number of arguments.
One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing
SystemInfothen invokingset(args).The provided arguments must be descendants of
SystemInfo. These types can be provided:
-
template<typename ...Args>
inline void set(Args&&... args) Set multiple arguments.
The method invokes
set(arg)with each of the provided arguments.The provided arguments must be descendants of
SystemInfo. These types can be provided:
-
template<typename ...Args>
inline SystemInfo copyWith(Args&&... args) const Returns a copy of this object with the given argument(s) set to the new value(s)
Creates a copy of this SystemInfo object, then invokes
set(args)on the copy, and finally returns the copy. This method does not modify the original object.The provided arguments must be descendants of
SystemInfo. These types can be provided:
-
inline SystemInfo &set(const CPU &value)
Set CPU.
-
inline SystemInfo &set(const CPU::Model &value)
Set CPU::Model.
-
inline const ComputeDevice &computeDevice() const
Get ComputeDevice.
-
inline ComputeDevice &computeDevice()
Get ComputeDevice.
-
inline SystemInfo &set(const ComputeDevice &value)
Set ComputeDevice.
-
inline SystemInfo &set(const ComputeDevice::Model &value)
Set ComputeDevice::Model.
-
inline SystemInfo &set(const ComputeDevice::Vendor &value)
-
inline const OperatingSystem &operatingSystem() const
Get OperatingSystem.
-
inline OperatingSystem &operatingSystem()
Get OperatingSystem.
-
inline SystemInfo &set(const OperatingSystem &value)
Set OperatingSystem.
-
template<typename F>
inline void forEach(const F &f) const Run the given function on each direct member with the value of the member as parameter.
-
template<typename F>
inline void forEach(const F &f) Run the given function on each direct member with the value of the member as parameter.
-
bool operator==(const SystemInfo &other) const
Equality operator.
-
bool operator!=(const SystemInfo &other) const
Inequality operator.
-
std::string toString() const
Get the value as string.
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group
The type of this node.
-
static constexpr const char *path = {"SystemInfo"}
The full path for this value.
-
static constexpr const char *name = {"SystemInfo"}
The name of this value.
- static constexpr const char * description {R"description(Information about the system that captured thisframe)description"}
The description for this value.
Friends
-
inline friend std::ostream &operator<<(std::ostream &stream, const SystemInfo &value)
Operator to send the value as string to a stream.
-
class ComputeDevice
Compute device.
Public Functions
-
ComputeDevice()
Default constructor.
-
template<typename ...Args>
inline explicit ComputeDevice(Args&&... args) Constructor taking variadic number of arguments.
One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing
ComputeDevicethen invokingset(args).The provided arguments must be descendants of
ComputeDevice. These types can be provided:
-
template<typename ...Args>
inline void set(Args&&... args) Set multiple arguments.
The method invokes
set(arg)with each of the provided arguments.The provided arguments must be descendants of
ComputeDevice. These types can be provided:
-
template<typename ...Args>
inline ComputeDevice copyWith(Args&&... args) const Returns a copy of this object with the given argument(s) set to the new value(s)
Creates a copy of this ComputeDevice object, then invokes
set(args)on the copy, and finally returns the copy. This method does not modify the original object.The provided arguments must be descendants of
ComputeDevice. These types can be provided:
-
inline ComputeDevice &set(const Model &value)
Set Model.
-
inline ComputeDevice &set(const Vendor &value)
Set Vendor.
-
template<typename F>
inline void forEach(const F &f) const Run the given function on each direct member with the value of the member as parameter.
-
template<typename F>
inline void forEach(const F &f) Run the given function on each direct member with the value of the member as parameter.
-
bool operator==(const ComputeDevice &other) const
Equality operator.
-
bool operator!=(const ComputeDevice &other) const
Inequality operator.
-
std::string toString() const
Get the value as string.
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group
The type of this node.
-
static constexpr const char *path = {"SystemInfo/ComputeDevice"}
The full path for this value.
-
static constexpr const char *name = {"ComputeDevice"}
The name of this value.
- static constexpr const char * description = { R"description(Compute device)description" }
The description for this value.
Friends
-
inline friend std::ostream &operator<<(std::ostream &stream, const ComputeDevice &value)
Operator to send the value as string to a stream.
-
class Model
Compute device model.
Public Types
-
using ValueType = std::string
The type of the underlying value.
Public Functions
-
Model() = default
Default constructor.
-
inline explicit Model(std::string value)
Constructor.
-
const std::string &value() const
Get the value.
-
std::string toString() const
Get the value as string.
Public Static Functions
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue
The type of this node.
-
static constexpr const char *path = {"SystemInfo/ComputeDevice/Model"}
The full path for this value.
-
static constexpr const char *name = {"Model"}
The name of this value.
- static constexpr const char * description = { R"description(Compute device model)description" }
The description for this value.
-
using ValueType = std::string
-
class Vendor
Compute device vendor.
Public Types
-
using ValueType = std::string
The type of the underlying value.
Public Functions
-
Vendor() = default
Default constructor.
-
inline explicit Vendor(std::string value)
Constructor.
-
const std::string &value() const
Get the value.
-
std::string toString() const
Get the value as string.
Public Static Functions
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue
The type of this node.
-
static constexpr const char *path = {"SystemInfo/ComputeDevice/Vendor"}
The full path for this value.
-
static constexpr const char *name = {"Vendor"}
The name of this value.
- static constexpr const char * description = { R"description(Compute device vendor)description" }
The description for this value.
-
using ValueType = std::string
-
ComputeDevice()
-
class CPU
CPU.
Public Functions
-
CPU()
Default constructor.
-
template<typename ...Args>
inline explicit CPU(Args&&... args) Constructor taking variadic number of arguments.
One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing
CPUthen invokingset(args).The provided arguments must be descendants of
CPU. These types can be provided:
-
template<typename ...Args>
inline void set(Args&&... args) Set multiple arguments.
The method invokes
set(arg)with each of the provided arguments.The provided arguments must be descendants of
CPU. These types can be provided:
-
template<typename ...Args>
inline CPU copyWith(Args&&... args) const Returns a copy of this object with the given argument(s) set to the new value(s)
Creates a copy of this CPU object, then invokes
set(args)on the copy, and finally returns the copy. This method does not modify the original object.The provided arguments must be descendants of
CPU. These types can be provided:
-
template<typename F>
inline void forEach(const F &f) const Run the given function on each direct member with the value of the member as parameter.
-
template<typename F>
inline void forEach(const F &f) Run the given function on each direct member with the value of the member as parameter.
-
std::string toString() const
Get the value as string.
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group
The type of this node.
-
static constexpr const char *path = {"SystemInfo/CPU"}
The full path for this value.
-
static constexpr const char *name = {"CPU"}
The name of this value.
- static constexpr const char * description = { R"description(CPU)description" }
The description for this value.
Friends
-
class Model
CPU model.
Public Types
-
using ValueType = std::string
The type of the underlying value.
Public Functions
-
Model() = default
Default constructor.
-
inline explicit Model(std::string value)
Constructor.
-
const std::string &value() const
Get the value.
-
std::string toString() const
Get the value as string.
Public Static Functions
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue
The type of this node.
-
static constexpr const char *path = {"SystemInfo/CPU/Model"}
The full path for this value.
-
static constexpr const char *name = {"Model"}
The name of this value.
- static constexpr const char * description = { R"description(CPU model)description" }
The description for this value.
-
using ValueType = std::string
-
CPU()
-
class OperatingSystem
Operating system.
Public Types
-
using ValueType = std::string
The type of the underlying value.
Public Functions
-
OperatingSystem() = default
Default constructor.
-
inline explicit OperatingSystem(std::string value)
Constructor.
-
const std::string &value() const
Get the value.
-
std::string toString() const
Get the value as string.
-
inline bool operator==(const OperatingSystem &other) const
Comparison operator.
-
inline bool operator!=(const OperatingSystem &other) const
Comparison operator.
-
inline bool operator<(const OperatingSystem &other) const
Comparison operator.
-
inline bool operator>(const OperatingSystem &other) const
Comparison operator.
-
inline bool operator<=(const OperatingSystem &other) const
Comparison operator.
-
inline bool operator>=(const OperatingSystem &other) const
Comparison operator.
Public Static Functions
-
static inline constexpr Range<ValueType::size_type> validSize()
The valid sizes for OperatingSystem.
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue
The type of this node.
-
static constexpr const char *path = {"SystemInfo/OperatingSystem"}
The full path for this value.
-
static constexpr const char *name = {"OperatingSystem"}
The name of this value.
- static constexpr const char * description = { R"description(Operating system)description" }
The description for this value.
Friends
-
inline friend std::ostream &operator<<(std::ostream &stream, const OperatingSystem &value)
Operator to serialize the value to a stream.
-
using ValueType = std::string
-
SystemInfo()
-
class TimeStamp
The time of frame capture.
Public Types
-
using ValueType = std::chrono::system_clock::time_point
The type of the underlying value.
Public Functions
-
TimeStamp() = default
Default constructor.
-
inline explicit constexpr TimeStamp(std::chrono::system_clock::time_point value)
Constructor.
-
std::chrono::system_clock::time_point value() const
Get the value.
-
std::string toString() const
Get the value as string.
Public Static Functions
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue
The type of this node.
-
static constexpr const char *path = {"TimeStamp"}
The full path for this value.
-
static constexpr const char *name = {"TimeStamp"}
The name of this value.
- static constexpr const char * description = { R"description(The time of frame capture)description" }
The description for this value.
-
using ValueType = std::chrono::system_clock::time_point
-
FrameInfo()
-
struct FrameInfo
Various information for a frame.
Public Functions
- System::String ^ Serialize ()
Serialize to a string.
See also FromSerialized. The returned string is formatted in YAML, and is compatible with the contents of files saved using Save.
- void Save (System::String ^ fileName)
Save to the given file.
- void Load (System::String ^ fileName)
Load from the given file.
-
inline FrameInfo()
Constructor.
- FrameInfo ^ CopyWith (CopyWithDelegate ^ delegate)
Create a clone (deep copy) of the current instance and invoke delegate on the clone.
Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.
- FrameInfo ^ Clone ()
Create a clone (deep copy) of the current instance.
- System::String ^ ToString () override
Get string representation of the object.
Properties
- System::DateTime^ TimeStamp
The time of frame capture.
Public Static Attributes
-
struct DiagnosticsGroup
Diagnostic information for frame.
Public Functions
-
inline DiagnosticsGroup()
Constructor.
- DiagnosticsGroup ^ CopyWith (CopyWithDelegate ^ delegate)
Create a clone (deep copy) of the current instance and invoke delegate on the clone.
Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.
- DiagnosticsGroup ^ Clone ()
Create a clone (deep copy) of the current instance.
- System::String ^ ToString () override
Get string representation of the object.
Properties
-
bool PacketLoss
Is frame missing any data.
-
inline DiagnosticsGroup()
-
struct MetricsGroup
Metrics related to this capture.
Public Functions
- MetricsGroup ^ CopyWith (CopyWithDelegate ^ delegate)
Create a clone (deep copy) of the current instance and invoke delegate on the clone.
Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.
- MetricsGroup ^ Clone ()
Create a clone (deep copy) of the current instance.
- System::String ^ ToString () override
Get string representation of the object.
Public Members
- property::Zivid::NET::Duration AcquisitionTime = { ::Zivid::NET::Durationget(){{ const auto &cppNode = *AcquisitionTimeCppWrapper->GetNativePtr(); return::Zivid::NET::Duration::FromMicroseconds(cppNode.value().count()); }}void set(::Zivid::NET::Durationvalue){{ auto &cppNode = *AcquisitionTimeCppWrapper->GetNativePtr(); cppNode = Zivid::FrameInfo::Metrics::AcquisitionTime{ std::chrono::microseconds{ value.Microseconds } }; }}}private:ref struct CaptureTimeCppWrapperType{private: Zivid::FrameInfo::Metrics::CaptureTime * m_pClass = nullptr; bool m_isDisposed = false; public:;}
Acquisition Time is the duration from the start of the capture to when the camera has acquired the last image.
After this time, the camera has finished its acquisition and you can move the robot, or capture with another camera with overlapping field of view. Acquisition Time is equal to the time it takes for the Camera::capture(settings) API function call to return.
- property::Zivid::NET::Duration CaptureTime = { ::Zivid::NET::Durationget(){{ const auto &cppNode = *CaptureTimeCppWrapper->GetNativePtr(); return ::Zivid::NET::Duration::FromMicroseconds(cppNode.value().count()); }}void set(::Zivid::NET::Durationvalue){{ auto &cppNode = *CaptureTimeCppWrapper->GetNativePtr(); cppNode = Zivid::FrameInfo::Metrics::CaptureTime{ std::chrono::microseconds{ value.Microseconds } }; }}}private:ref struct KernelComputeTimeCppWrapperType{private: Zivid::FrameInfo::Metrics::KernelComputeTime * m_pClass = nullptr; bool m_isDisposed = false; public:;}
Capture Time is the duration from the start of the capture to when all of the data transfer and processing has completed.
After this time the 3D point cloud and/or 2D color image is ready and available on the GPU memory, and can be copied to the system memory (RAM).
- property::Zivid::NET::Duration KernelComputeTime = { ::Zivid::NET::Durationget(){{ const auto &cppNode = *KernelComputeTimeCppWrapper->GetNativePtr(); return ::Zivid::NET::Duration::FromMicroseconds(cppNode.value().count()); }}void set(::Zivid::NET::Durationvalue){{ auto &cppNode = *KernelComputeTimeCppWrapper->GetNativePtr(); cppNode = Zivid::FrameInfo::Metrics::KernelComputeTime{ std::chrono::microseconds{ value.Microseconds } }; }}}private:ref struct ReprocessingTimeCppWrapperType{private: Zivid::FrameInfo::Metrics::ReprocessingTime * m_pClass = nullptr; bool m_isDisposed = false; public:;}
Kernel Compute Time is the duration of the compute on the GPU.
It is a subset of Capture Time. Kernel Compute Time depends on the capture settings and the compute power of the GPU. Note that Kernel Compute Time + Acquisition Time is not equal to Capture Time, as acquisition and processing operations can be performed in parallel.
-
property::Zivid::NET::Duration ThrottlingTime
Throttling Time is the duration that the capture was paused due to thermal or other constraints on the camera’s components while it was capturing this frame.
This duration is part of the overall Acquisition Time. If the camera throttled during a capture, it will result in a longer Acquisition Time.
Whether or not the camera will throttle depends on the ambient temperature, the capture settings, and the how frequently the camera is capturing.
Properties
-
System::Nullable<::Zivid::NET::Duration> ReprocessingTime
Reprocessing re-runs the entire processing pipeline (including filters, color balance etc.) on a previously acquired frame.
Reprocessing is available in Zivid Studio for captures with Diagnostics Mode enabled. The ReprocessingTime field is only set if this frame was reprocessed after it was initially captured, otherwise it will be unset.
Reprocessing Time is the duration from the start of the reprocessing action and until all processing of the new frame has finished. After this time the 3D point cloud and/or 2D color image is ready and available on the GPU memory and can be copied to the system memory (RAM).
Reprocessing Time depends on the processing settings that are enabled, which capture engine that was used, the pixel sampling setting and the number of acquisitions used. Reprocessing Time also depends on the compute power of the compute device.
Note that for a frame that has been re-processed, the Acquisition Time and Capture Time refers to the originally captured frame. Only Reprocessing Time is updated in a reprocessed frame.
-
struct SoftwareVersionGroup
The version information for installed software at the time of image capture.
Public Functions
-
inline SoftwareVersionGroup()
Constructor.
- SoftwareVersionGroup ^ CopyWith (CopyWithDelegate ^ delegate)
Create a clone (deep copy) of the current instance and invoke delegate on the clone.
Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.
- SoftwareVersionGroup ^ Clone ()
Create a clone (deep copy) of the current instance.
- System::String ^ ToString () override
Get string representation of the object.
Properties
- System::String^ Core
Core version.
-
inline SoftwareVersionGroup()
-
struct SystemInfoGroup
Information about the system that captured this frame.
Public Functions
-
inline SystemInfoGroup()
Constructor.
- SystemInfoGroup ^ CopyWith (CopyWithDelegate ^ delegate)
Create a clone (deep copy) of the current instance and invoke delegate on the clone.
Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.
- SystemInfoGroup ^ Clone ()
Create a clone (deep copy) of the current instance.
- System::String ^ ToString () override
Get string representation of the object.
Properties
- System::String^ OperatingSystem
Operating system.
-
struct ComputeDeviceGroup
Compute device.
Public Functions
-
inline ComputeDeviceGroup()
Constructor.
- ComputeDeviceGroup ^ CopyWith (CopyWithDelegate ^ delegate)
Create a clone (deep copy) of the current instance and invoke delegate on the clone.
Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.
- ComputeDeviceGroup ^ Clone ()
Create a clone (deep copy) of the current instance.
- System::String ^ ToString () override
Get string representation of the object.
Properties
- System::String^ Model
Compute device model.
- System::String^ Vendor
Compute device vendor.
-
inline ComputeDeviceGroup()
-
struct CPUGroup
CPU.
Public Functions
-
inline CPUGroup()
Constructor.
- CPUGroup ^ CopyWith (CopyWithDelegate ^ delegate)
Create a clone (deep copy) of the current instance and invoke delegate on the clone.
Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.
- CPUGroup ^ Clone ()
Create a clone (deep copy) of the current instance.
- System::String ^ ToString () override
Get string representation of the object.
Properties
- System::String^ Model
CPU model.
-
inline CPUGroup()
-
inline SystemInfoGroup()
See zivid.FrameInfo in zivid-python.