C++
API Reference
API Reference for the SmartSpectra SDK.
SmartSpectra
Methods
-
static constexpr std::string_view version = SMART_SPECTRA_VERSION_STRING -
void SetOnProcessingStatusChanged(OnProcessingStatusChangedFn cb) -
void SetOnValidationStatusChanged(OnValidationStatusChangedFn cb) -
void SetOnMetrics(OnMetricsFn cb) -
void SetOnAccumulatedMetrics(OnAccumulatedMetricsFn cb) -
void SetOnVideoOutput(OnVideoOutputFn cb) -
void SetOnFrameSentThrough(OnFrameSentThroughFn cb) -
void SetOnError(OnErrorFn cb) -
void SetOnInsight(OnInsightFn cb) -
[[nodiscard]] SmartSpectraError Start() -
[[nodiscard]] SmartSpectraError Stop() -
[[nodiscard]] SmartSpectraError Reset() -
bool WaitUntilComplete( std::chrono::milliseconds timeout = std::chrono::milliseconds::max()) -
[[nodiscard]] SmartSpectraError RequestInsight( const std::string& text, int32_t* out_request_id = nullptr) -
CameraBuilder UseCamera(int device_index = 0) -
VideoFileBuilder UseFile(const std::string& path) -
CustomInputBuilder UseCustomInput() -
ProcessingStatus GetStatus() const
SmartSpectraConfig
Properties
-
std::string api_key -
std::vector<MetricType> requested_metrics -
bool enable_accumulated_output = false -
std::optional<std::string> video_output_directory -
static const std::vector<MetricType>& BreathingMetrics() -
static const std::vector<MetricType>& DefaultSupportedMetrics() -
static const std::vector<MetricType>& CardioMetrics() -
static const std::vector<MetricType>& FaceMetrics() -
void AddMetrics(const std::vector<MetricType>& metrics) -
void RemoveMetrics(const std::vector<MetricType>& metrics)
CameraBuilder
Methods
-
CameraBuilder& SetResolution(int width, int height) -
CameraBuilder& SetFps(int fps) -
CameraBuilder& SetFrameTransform(FrameTransform transform) -
[[nodiscard]] SmartSpectraError Build()
VideoFileBuilder
Methods
-
VideoFileBuilder& SetTimestamps(const std::string& path) -
VideoFileBuilder& SetInterframeDelay(int ms) -
VideoFileBuilder& SetStartOffset(int ms) -
VideoFileBuilder& SetMaxDuration(int ms) -
VideoFileBuilder& SetFrameTransform(FrameTransform transform) -
[[nodiscard]] SmartSpectraError Build()
CustomInputBuilder
Methods
-
CustomInputBuilder& SetFrameTransform(FrameTransform transform) -
[[nodiscard]] SmartSpectraError Build(std::shared_ptr<CustomInput>& out)
CustomInput
Methods
-
virtual SmartSpectraError Send(const FrameBuffer& frame, int64_t timestamp_us) = 0
FrameBuffer
Properties
-
const uint8_t* data -
int width -
int height -
int stride_bytes -
PixelFormat format
FrameTransform
kNone = 0kRotate90CW = 1kRotate90CCW = 2kRotate180 = 3kMirrorHorizontal = 4kMirrorVertical = 5
PixelFormat
kRGB = 0kBGR = 1kRGBA = 2kBGRA = 3kNV12 = 4kNV21 = 5kYUYV = 6
ProcessingStatus
kUninitialized = 0kIdle = 1kStarting = 2kRunning = 3kStopping = 4kError = 5
ValidationStatus
Properties
-
ValidationCode code = ValidationCode::kOk -
std::string hint
ValidationCode
kOk = 0kNoFaceFound = 1kMultipleFacesFound = 2kFaceNotCentered = 3kFaceSizeOutOfRange = 4kTooDark = 5kTooBright = 6kChestNotVisible = 7kCameraTuning = 10
SmartSpectraError
Properties
-
SmartSpectraErrorCode code = SmartSpectraErrorCode::kOk -
std::string message -
bool retryable = false
SmartSpectraErrorCode
kOk = 0kInvalidState = 1kAuthenticationFailed = 2kConfigurationFailed = 3kCreditExhausted = 4kNetworkError = 5kServerError = 6kInputUnavailable = 7kProcessingFailed = 8kFrameConversionFailed = 9kNonMonotonicTimestamp = 10kTimestampGap = 11
OnProcessingStatusChangedFn
using OnProcessingStatusChangedFn = std::function<void(ProcessingStatus status)>OnValidationStatusChangedFn
using OnValidationStatusChangedFn = std::function<void(const ValidationStatus& status, int64_t timestamp_us)>OnMetricsFn
using OnMetricsFn = std::function<void(const Metrics& metrics, int64_t timestamp_us)>OnAccumulatedMetricsFn
using OnAccumulatedMetricsFn = std::function<void(const Metrics& metrics, int64_t timestamp_us)>OnVideoOutputFn
using OnVideoOutputFn = std::function<void(const FrameBuffer& frame, int64_t timestamp_us)>OnFrameSentThroughFn
using OnFrameSentThroughFn = std::function<void(bool sent_through, int64_t timestamp_us)>OnErrorFn
using OnErrorFn = std::function<void(const SmartSpectraError& error)>OnInsightFn
using OnInsightFn = std::function<void(const Insight& insight)>