Banuba SDK
Loading...
Searching...
No Matches
frame_data.hpp
Go to the documentation of this file.
1/// \file
2/// \addtogroup Types
3/// @{
4///
5// AUTOGENERATED FILE - DO NOT MODIFY!
6// This file was generated by Djinni from types.djinni
7
8#pragma once
9
10#include <bnb/types/full_image.hpp>
11#include <bnb/utils/defs.hpp>
12#include <cstdint>
13#include <memory>
14#include <optional>
15#include <string>
16#include <unordered_map>
17#include <vector>
18
19namespace bnb { namespace interfaces {
20
21class frx_recognition_result;
22enum class face_data_source;
23enum class feature_id;
24struct acne_regions;
25struct action_units_data;
26struct brows_mask;
27struct depth_map;
28struct detected_face;
29struct external_face_data;
30struct eyes_mask;
31struct eyes_state;
32struct feature_parameter;
33struct full_image_format;
34struct lips_shine_mask;
35struct transformed_mask_byte;
36struct transformed_mask_gpu;
37
38/**
39 * getters throw exceptions when data are not available
40 * android NNs usually output gpu masks
41 */
42class BNB_EXPORT frame_data {
43public:
44 virtual ~frame_data() {}
45
46 /** Creates empty `FrameData`. Use `add*` function to fill it. */
47 static std::shared_ptr<frame_data> create();
48
49 virtual full_image_format get_full_img_format() = 0;
50
51 virtual std::vector<float> get_full_img_transform() = 0;
52
53 /** Get frx_recognition_result or null if not exists */
54 virtual std::shared_ptr<frx_recognition_result> get_frx_recognition_result() = 0;
55
56 virtual void set_frx_recognition_result(const std::shared_ptr<frx_recognition_result> & result) = 0;
57
58 /**
59 * Face detector is an input for face recognizer. It gives only position of
60 * the face. Even if the face is present on the frame it doesn't mean that
61 * face detector can track it.
62 */
63 virtual std::vector<detected_face> get_face_detector_result() = 0;
64
65 virtual action_units_data get_action_units() = 0;
66
67 virtual acne_regions get_acne_regions() = 0;
68
69 virtual bool get_is_smile() = 0;
70
71 virtual bool get_is_mouth_open() = 0;
72
73 virtual bool get_is_brows_raised() = 0;
74
75 virtual bool get_is_brows_shifted() = 0;
76
77 virtual bool get_is_wear_glasses() = 0;
78
79 virtual float get_ruler() = 0;
80
81 virtual eyes_state get_eyes_state() = 0;
82
83 virtual float get_light_correction() = 0;
84
85 virtual transformed_mask_byte get_background() = 0;
86
87 virtual transformed_mask_gpu get_background_gpu() = 0;
88
89 virtual transformed_mask_byte get_hair() = 0;
90
91 virtual transformed_mask_gpu get_hair_gpu() = 0;
92
93 virtual transformed_mask_byte get_skin() = 0;
94
95 virtual transformed_mask_gpu get_skin_gpu() = 0;
96
97 virtual transformed_mask_byte get_lips() = 0;
98
99 virtual transformed_mask_gpu get_lips_gpu() = 0;
100
101 virtual transformed_mask_byte get_teeth() = 0;
102
103 virtual transformed_mask_byte get_occlusion() = 0;
104
105 virtual transformed_mask_byte get_body() = 0;
106
107 virtual lips_shine_mask get_lips_shine() = 0;
108
109 virtual brows_mask get_brows() = 0;
110
111 virtual eyes_mask get_eyes() = 0;
112
113 virtual transformed_mask_byte get_face() = 0;
114
115 virtual transformed_mask_byte get_face_skin() = 0;
116
117 virtual std::optional<std::string> get_face_attributes() = 0;
118
119 /** Pupillary distance in mm */
120 virtual float get_pupillary_distance() = 0;
121
122 /**
123 * list[0] and list[1] - x and y coordinates of the thermal temperature of the light source
124 * list[2] - the brightness of the frame
125 */
126 virtual std::vector<float> get_light_source_params() = 0;
127
128 /** Teeth color in Lab color space */
129 virtual std::vector<int32_t> get_teeth_color() = 0;
130
131 /** Lips glare max brightness */
132 virtual float get_lips_glare_max_brightness() = 0;
133
134 virtual void add_full_img(::bnb::full_image_t img) = 0;
135
136 virtual void replace_full_img(::bnb::full_image_t img) = 0;
137
138 virtual void add_background(const transformed_mask_byte & mask) = 0;
139
140 virtual void add_external_face_data(face_data_source source, const std::vector<external_face_data> & data) = 0;
141
142 virtual void add_depth_map(const depth_map & depth_map) = 0;
143
144 virtual void add_frame_number(int64_t frame_number) = 0;
145
146 virtual void add_action_units_data(const action_units_data & action_units) = 0;
147
148 /**
149 * Extra parameters during in-CPU feature calculations.
150 * Reference feature documentation.
151 */
152 virtual void add_feature_parameters(const std::unordered_map<feature_id, std::vector<feature_parameter>> & params) = 0;
153
154 /**add frame timestamp in microseconds */
155 virtual void add_timestamp_us(double timestamp_us) = 0;
156
157 virtual std::vector<float> get_chromakey_color() = 0;
158};
159
160} } // namespace bnb::interfaces
161/// @}
162
basis is the base basis: for y/rgb basis use .basis or get_subchannel_basis_transform(1); for uv basi...
getters throw exceptions when data are not available android NNs usually output gpu masks
virtual float get_lips_glare_max_brightness()=0
Lips glare max brightness.
virtual std::vector< int32_t > get_teeth_color()=0
Teeth color in Lab color space.
static std::shared_ptr< frame_data > create()
Creates empty FrameData.
virtual void add_timestamp_us(double timestamp_us)=0
add frame timestamp in microseconds
virtual float get_pupillary_distance()=0
Pupillary distance in mm.
virtual std::shared_ptr< frx_recognition_result > get_frx_recognition_result()=0
Get frx_recognition_result or null if not exists.
virtual std::vector< detected_face > get_face_detector_result()=0
Face detector is an input for face recognizer.
virtual void add_feature_parameters(const std::unordered_map< feature_id, std::vector< feature_parameter > > &params)=0
Extra parameters during in-CPU feature calculations.
virtual std::vector< float > get_light_source_params()=0
list[0] and list[1] - x and y coordinates of the thermal temperature of the light source list[2] - th...
for order of values in action units array see action_units_indices enum
Results from depth camera.
Definition depth_map.hpp:17