SmartSpectra C++ SDK
Measure human vitals from video with SmartSpectra C++ SDK.
Loading...
Searching...
No Matches
presage::smartspectra::grpc_bindings::PhysiologyServiceImpl< TIntegrationMode > Class Template Referencefinal
Inheritance diagram for presage::smartspectra::grpc_bindings::PhysiologyServiceImpl< TIntegrationMode >:

Public Types

using BackgroundContainer
using TFrameWithTimestampRecorder = FrameWithTimestampRecorder<TIntegrationMode>
using TStatusCodeProvider = StatusCodeProvider<TIntegrationMode>
using TMetricsProvider = CoreMetricsProvider<TIntegrationMode>
using TEdgeMetricsProvider = EdgeMetricsProvider<TIntegrationMode>
using BackgroundContainerSettings = typename BackgroundContainer::SettingsType

Public Member Functions

 PhysiologyServiceImpl (video_source::InputTransformMode input_transform_mode=video_source::InputTransformMode::None, double preprocessed_data_buffer_duration_s=0.2, std::optional< bool > enable_phasic_bp=std::nullopt, std::optional< bool > enable_eda=std::nullopt, std::optional< bool > use_full_range_face_detection=std::nullopt, std::optional< bool > use_full_pose_landmarks=std::nullopt, std::optional< bool > enable_pose_landmark_segmentation=std::nullopt, std::optional< bool > enable_micromotion=std::nullopt, bool use_camera=false, int camera_device_index=0, const std::string &input_video_path="", const std::string &input_video_time_path="", int interframe_delay_ms=20, bool start_with_recording_on=false, bool exit_on_input_video_completion=false, uint16_t physiology_core_port_number=50052, bool physiology_core_manual_control=false, int physiology_core_connection_timeout_ms=50000, const std::string &venv_directory="", const LogSettings &log_settings={}, const int log_buffer_size=1000, int64_t test_physiology_core_seed=-1, std::unique_ptr< ipc::IpcStreamWriter< TIntegrationMode > > ipc_stream_writer=nullptr, std::optional< std::string > video_output_directory=std::nullopt, bool enable_camera_tuning=true, video_source::CameraTunerSettings tuner_settings={}, std::chrono::seconds camera_tuning_cooldown_seconds=std::chrono::seconds(10), bool camera_tuning_recheck_on_recovery=false)
grpc::ServerUnaryReactor * StartCore (grpc::CallbackServerContext *context, const ::google::protobuf::Empty *request, ::google::protobuf::Empty *response) override
grpc::ServerUnaryReactor * StartEdgeGraph (grpc::CallbackServerContext *context, const ::google::protobuf::Empty *request, ::google::protobuf::Empty *response) override
grpc::ServerUnaryReactor * StartPreprocessing (grpc::CallbackServerContext *context, const ::google::protobuf::Empty *request, ::google::protobuf::Empty *response) override
grpc::ServerUnaryReactor * WaitUntilGraphIsIdle (grpc::CallbackServerContext *context, const ::google::protobuf::Empty *request, ::google::protobuf::Empty *response) override
grpc::ServerUnaryReactor * SetRecording (grpc::CallbackServerContext *context, const ::google::protobuf::BoolValue *request, ::google::protobuf::Empty *response) override
grpc::ServerReadReactor< presage::smartspectra::FrameWithTimestamp > * AddFrameWithTimestamp (grpc::CallbackServerContext *context, google::protobuf::Empty *response) override
grpc::ServerWriteReactor< physiology::StatusValue > * GetStatusCode (grpc::CallbackServerContext *context, const google::protobuf::Empty *request) override
grpc::ServerUnaryReactor * GetStatusDescription (grpc::CallbackServerContext *context, const physiology::StatusValue *request, google::protobuf::StringValue *response) override
grpc::ServerUnaryReactor * GetStatusHint (grpc::CallbackServerContext *context, const physiology::StatusValue *request, google::protobuf::StringValue *response) override
grpc::ServerWriteReactor< presage::physiology::MetricsBuffer > * GetCoreMetrics (grpc::CallbackServerContext *context, const google::protobuf::Empty *request) override
grpc::ServerWriteReactor< presage::physiology::MetricsBuffer > * GetMetrics (grpc::CallbackServerContext *context, const google::protobuf::Empty *request) override
grpc::ServerWriteReactor< presage::physiology::Metrics > * GetEdgeMetrics (grpc::CallbackServerContext *context, const google::protobuf::Empty *request) override
grpc::ServerUnaryReactor * StopCore (grpc::CallbackServerContext *context, const ::google::protobuf::Empty *request, ::google::protobuf::Empty *response) override
grpc::ServerUnaryReactor * StopEdgeGraph (grpc::CallbackServerContext *context, const ::google::protobuf::Empty *request, ::google::protobuf::Empty *response) override
grpc::ServerUnaryReactor * StopPreprocessing (grpc::CallbackServerContext *context, const ::google::protobuf::Empty *request, ::google::protobuf::Empty *response) override
grpc::ServerUnaryReactor * ResetProcessing (grpc::CallbackServerContext *context, const ::google::protobuf::Empty *request, ::google::protobuf::Empty *response) override
grpc::ServerUnaryReactor * CheckHealth (grpc::CallbackServerContext *context, const ::google::protobuf::Empty *request, ::google::protobuf::StringValue *response) override
grpc::ServerUnaryReactor * IsPhysiologyCoreUp (grpc::CallbackServerContext *context, const ::google::protobuf::Empty *request, ::google::protobuf::BoolValue *response) override
grpc::ServerUnaryReactor * IsEdgeGraphRunning (grpc::CallbackServerContext *context, const ::google::protobuf::Empty *request, ::google::protobuf::BoolValue *response) override
grpc::ServerUnaryReactor * IsPreprocessingRunning (grpc::CallbackServerContext *context, const ::google::protobuf::Empty *request, ::google::protobuf::BoolValue *response) override
grpc::ServerWriteReactor<::presage::smartspectra::LogEntry > * StreamLogs (grpc::CallbackServerContext *context, const google::protobuf::Empty *request) override
absl::Status AutoStartIfRequested ()
void SetOnInputVideoCompletionCallback (std::function< void()> callback)

Member Typedef Documentation

◆ BackgroundContainer

template<container::settings::IntegrationMode TIntegrationMode>
using presage::smartspectra::grpc_bindings::PhysiologyServiceImpl< TIntegrationMode >::BackgroundContainer
Initial value:
presage::platform_independence::DeviceType::Cpu,
smartspectra::container::settings::OperationMode::Continuous,
TIntegrationMode
>
Container for background thread processing.
Definition background_container.hpp:40

Member Function Documentation

◆ StartPreprocessing()

template<container::settings::IntegrationMode TIntegrationMode>
grpc::ServerUnaryReactor * presage::smartspectra::grpc_bindings::PhysiologyServiceImpl< TIntegrationMode >::StartPreprocessing ( grpc::CallbackServerContext * context,
const ::google::protobuf::Empty * request,
::google::protobuf::Empty * response )
override

◆ StopEdgeGraph()

template<container::settings::IntegrationMode TIntegrationMode>
grpc::ServerUnaryReactor * presage::smartspectra::grpc_bindings::PhysiologyServiceImpl< TIntegrationMode >::StopEdgeGraph ( grpc::CallbackServerContext * context,
const ::google::protobuf::Empty * request,
::google::protobuf::Empty * response )
override

Note: just a public-facing gRPC interface function to StopAndDestroyContainer(), "StopEdgeGraph" or "ResetProcessing" is easier to understand

Returns
grpc status of stopping operation

◆ StopPreprocessing()

template<container::settings::IntegrationMode TIntegrationMode>
grpc::ServerUnaryReactor * presage::smartspectra::grpc_bindings::PhysiologyServiceImpl< TIntegrationMode >::StopPreprocessing ( grpc::CallbackServerContext * context,
const ::google::protobuf::Empty * request,
::google::protobuf::Empty * response )
override
Deprecated
Note: just a public-facing gRPC interface function to StopAndDestroyContainer(), "StopPreprocessing" or "ResetProcessing" is easier to understand
Returns
grpc status of stopping operation

The documentation for this class was generated from the following files: