23#include <physiology/modules/configuration.h>
25#include <absl/status/status.h>
26#include <mediapipe/framework/calculator_graph.h>
27#include <mediapipe/framework/port/opencv_video_inc.h>
28#include <physiology/modules/device_type.h>
29#include <physiology/modules/device_context.h>
31#include "settings.hpp"
32#include <smartspectra/video_source/camera/camera.hpp>
34namespace presage::smartspectra::container::initialization {
37 platform_independence::DeviceType TDeviceType,
38 settings::OperationMode TOperationMode,
39 settings::IntegrationMode TIntegrationMode,
45absl::Status InitializeGraph(
46 mediapipe::CalculatorGraph& graph,
47 const std::string& graph_file_path,
48 const settings::Settings<TOperationMode, TIntegrationMode>& settings,
55template<platform_independence::DeviceType TDeviceType,
bool TLog = true>
56absl::Status InitializeComputingDevice(mediapipe::CalculatorGraph& graph, platform_independence::DeviceContext<TDeviceType>& device_context);
61template<platform_independence::DeviceType TDeviceType,
bool TLog = true>
62absl::Status InitializeVideoSink(
63 cv::VideoWriter& stream_writer,
64 const cv::Size& input_resolution,
65 const std::string& destination,
66 const float output_fps,
67 settings::VideoSinkMode video_sink_mode
73template<
bool TLog = true>
74absl::Status InitializeGui(
const settings::GeneralSettings& settings,
const std::string& window_name);