|
| | BackgroundContainer (SettingsType settings) |
| bool | GraphIsRunning () const |
|
bool | ContainerIsInitialized () const |
| absl::Status | Initialize () override |
| absl::Status | StartGraph () |
| absl::Status | WaitUntilGraphIsIdle () |
| absl::Status | SetRecording (bool on) |
| absl::Status | AddFrameWithTimestamp (const cv::Mat &frame_rgb, int64_t frame_timestamp_μs) |
| physiology::StatusCode | GetStatusCode () const |
| absl::Status | StopGraph () |
| | Container (SettingsType settings) |
| absl::Status | SetOnStatusChange (const std::function< absl::Status(physiology::StatusValue)> &on_status_change) |
| absl::Status | SetOnStatusCode (const std::function< absl::Status(physiology::StatusValue)> &on_status_code) |
|
absl::Status | SetOnEdgeMetricsOutput (const std::function< absl::Status(const physiology::Metrics &, int64_t input_timestamp)> &on_edge_metrics_output) |
| absl::Status | SetOnCoreMetricsOutput (const std::function< absl::Status(const physiology::MetricsBuffer &, int64_t input_timestamp)> &on_core_metrics_output) |
|
absl::Status | SetOnVideoOutput (const std::function< absl::Status(cv::Mat &output_frame, int64_t input_timestamp)> &on_video_output) |
| absl::Status | SetOnFrameSentThrough (const std::function< absl::Status(bool frame_sent_through, int64_t input_timestamp)> &on_dropped_frame) |
| absl::Status | SetOnCorePerformanceTelemetry (const std::function< absl::Status(double, double, int64_t)> &on_effective_core_fps_output) |
|
| virtual std::string | GetThirdGraphFileSuffix () const |
| virtual std::string | GetGraphFilePrefix () const |
| absl::StatusOr< std::filesystem::path > | GetGraphFilePath (bool binary_graph=true) const |
| absl::Status | ComputeCorePerformanceTelemetry (const physiology::MetricsBuffer &metrics_buffer) |
| void | AddFrameTimestampToBenchmarkingInfo (const mediapipe::Timestamp ×tamp) |
|
SettingsType | settings |
|
mediapipe::CalculatorGraph | graph |
| std::function< absl::Status(physiology::StatusValue)> | OnStatusChange |
| std::function< absl::Status(physiology::StatusValue)> | OnStatusCode |
| std::function< absl::Status(const physiology::Metrics &, int64_t input_timestamp)> | OnEdgeMetricsOutput |
| std::function< absl::Status(const physiology::MetricsBuffer &, int64_t input_timestamp)> | OnCoreMetricsOutput |
| std::function< absl::Status(cv::Mat &output_frame, int64_t input_timestamp)> | OnVideoOutput |
| std::function< absl::Status(bool frame_sent_through, int64_t input_timestamp)> | OnFrameSentThrough |
|
std::optional< std::function< absl::Status(double fps, double latency_s, int64_t input_timestamp)> > | OnCorePerformanceTelemetry = std::nullopt |
|
platform_independence::DeviceContext< TDeviceType > | device_context |
|
bool | initialized = false |
|
bool | running = false |
|
physiology::StatusValue | status |
|
bool | recording = false |
|
cv::Mat | output_frame_bgr |
|
OperationContext< TOperationMode > | operation_context |
template<platform_independence::DeviceType TDeviceType, settings::OperationMode TOperationMode, settings::IntegrationMode TIntegrationMode>
class presage::smartspectra::container::BackgroundContainer< TDeviceType, TOperationMode, TIntegrationMode >
Container for background thread processing.
template<platform_independence::DeviceType TDeviceType, settings::OperationMode TOperationMode, settings::IntegrationMode TIntegrationMode>
Feed a frame into the graph with an explicit timestamp.
Adds frame input to graph. Also, updates the recording status within the graph based on internal state of the container (i.e. recording / not recording)
- Template Parameters
-
| TDeviceType | |
| TOperationMode | |
| TIntegrationMode | |
- Parameters
-
| frame | |
| frame_timestamp_μs | frame timestamp in microseconds; preferably, should be based on camera's own shutter clock |
- Returns
- status of the operation