38 int x,
int y,
int width,
int height,
39 int max_trace_points = 300,
40 cv::Scalar pulse_confident_color = cv::Scalar(0, 255, 0),
41 cv::Scalar pulse_unconfident_color = cv::Scalar(0, 0, 255),
42 cv::Scalar breathing_upper_confident_color = cv::Scalar(255, 255, 0),
43 cv::Scalar breathing_upper_unconfident_color = cv::Scalar(0, 0, 255),
44 cv::Scalar breathing_lower_confident_color = cv::Scalar(255, 0, 0),
45 cv::Scalar breathing_lower_unconfident_color = cv::Scalar(0, 0, 255)
48 void UpdateWithNewMetrics(
const physiology::MetricsBuffer& new_metrics);
49 absl::Status Render(cv::Mat& image);
51 static const int minimal_width;
52 static const int minimal_height;
55 static const float no_rate_value_to_display;
57 static const int top_plot_area_margin;
58 static const int bottom_plot_area_margin;
59 static const int minimal_plot_area_width;
60 static const int minimal_plot_area_height;
62 static const int indicator_width;
63 static const int label_width;
65 const int max_trace_points;
66 bool width_sufficient =
false;
67 bool height_sufficient =
false;
75 presage::physiology::MeasurementWithConfidence rate;
76 bool display_rate =
true;
77 bool rate_is_high_confidence =
false;
78 const cv::Scalar confident_color;
79 const cv::Scalar unconfident_color;
80 absl::Status Render(cv::Mat& image);
83 std::unique_ptr<MetricsGroup> pulse_group;
84 std::unique_ptr<MetricsGroup> upper_breathing_group;
85 std::unique_ptr<MetricsGroup> lower_breathing_group;