Banuba SDK
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 
19 namespace bnb { namespace interfaces {
20 
21 class frx_recognition_result;
22 enum class face_data_source;
23 enum class feature_id;
24 struct acne_regions;
25 struct action_units_data;
26 struct brows_mask;
27 struct depth_map;
28 struct external_face_data;
29 struct eyes_mask;
30 struct eyes_state;
31 struct feature_parameter;
32 struct full_image_format;
33 struct lips_shine_mask;
34 struct transformed_mask_byte;
35 struct transformed_mask_gpu;
36 
37 /**
38  * getters throw exceptions when data are not available
39  * android NNs usually output gpu masks
40  */
41 class BNB_EXPORT frame_data {
42 public:
43  virtual ~frame_data() {}
44 
45  /** Creates empty `FrameData`. Use `add*` function to fill it. */
46  static std::shared_ptr<frame_data> create();
47 
48  virtual full_image_format get_full_img_format() = 0;
49 
50  virtual std::vector<float> get_full_img_transform() = 0;
51 
52  /** Get frx_recognition_result or null if not exists */
53  virtual std::shared_ptr<frx_recognition_result> get_frx_recognition_result() = 0;
54 
55  virtual void set_frx_recognition_result(const std::shared_ptr<frx_recognition_result> & result) = 0;
56 
57  virtual action_units_data get_action_units() = 0;
58 
59  virtual acne_regions get_acne_regions() = 0;
60 
61  virtual bool get_is_smile() = 0;
62 
63  virtual bool get_is_mouth_open() = 0;
64 
65  virtual bool get_is_brows_raised() = 0;
66 
67  virtual bool get_is_brows_shifted() = 0;
68 
69  virtual bool get_is_wear_glasses() = 0;
70 
71  virtual float get_ruler() = 0;
72 
73  virtual eyes_state get_eyes_state() = 0;
74 
75  virtual float get_light_correction() = 0;
76 
77  virtual transformed_mask_byte get_background() = 0;
78 
79  virtual transformed_mask_gpu get_background_gpu() = 0;
80 
81  virtual transformed_mask_byte get_hair() = 0;
82 
83  virtual transformed_mask_gpu get_hair_gpu() = 0;
84 
85  virtual transformed_mask_byte get_skin() = 0;
86 
87  virtual transformed_mask_gpu get_skin_gpu() = 0;
88 
89  virtual transformed_mask_byte get_lips() = 0;
90 
91  virtual transformed_mask_gpu get_lips_gpu() = 0;
92 
93  virtual transformed_mask_byte get_teeth() = 0;
94 
95  virtual transformed_mask_byte get_occlusion() = 0;
96 
97  virtual transformed_mask_byte get_body() = 0;
98 
99  virtual lips_shine_mask get_lips_shine() = 0;
100 
101  virtual brows_mask get_brows() = 0;
102 
103  virtual eyes_mask get_eyes() = 0;
104 
105  virtual transformed_mask_byte get_face() = 0;
106 
107  virtual transformed_mask_byte get_face_skin() = 0;
108 
109  virtual std::optional<std::string> get_face_attributes() = 0;
110 
111  /** Pupillary distance in mm */
112  virtual float get_pupillary_distance() = 0;
113 
114  /**
115  * list[0] and list[1] - x and y coordinates of the thermal temperature of the light source
116  * list[2] - the brightness of the frame
117  */
118  virtual std::vector<float> get_light_source_params() = 0;
119 
120  virtual void add_full_img(::bnb::full_image_t img) = 0;
121 
122  virtual void replace_full_img(::bnb::full_image_t img) = 0;
123 
124  virtual void add_background(const transformed_mask_byte & mask) = 0;
125 
126  virtual void add_external_face_data(face_data_source source, const std::vector<external_face_data> & data) = 0;
127 
128  virtual void add_depth_map(const depth_map & depth_map) = 0;
129 
130  virtual void add_frame_number(int64_t frame_number) = 0;
131 
132  virtual void add_action_units_data(const action_units_data & action_units) = 0;
133 
134  /**
135  * Extra parameters during in-CPU feature calculations.
136  * Reference feature documentation.
137  */
138  virtual void add_feature_parameters(const std::unordered_map<feature_id, std::vector<feature_parameter>> & params) = 0;
139 
140  /**add frame timestamp in microseconds */
141  virtual void add_timestamp_us(double timestamp_us) = 0;
142 };
143 
144 } } // namespace bnb::interfaces
145 /// @}
146 
bnb::interfaces::full_image_format
Definition: full_image_format.hpp:16
bnb::interfaces::action_units
for order of values in action units array see action_units_indices enum
Definition: action_units.hpp:16
bnb::full_image_t
basis is the base basis: for y/rgb basis use .basis or get_subchannel_basis_transform(1); for uv basi...
Definition: full_image.hpp:448
bnb::interfaces::acne_regions
Definition: acne_regions.hpp:16
bnb::interfaces::depth_map
Results from depth camera.
Definition: depth_map.hpp:17
bnb::interfaces::transformed_mask_byte
Definition: transformed_mask_byte.hpp:17
bnb::interfaces::eyes_state
Definition: eyes_state.hpp:14
bnb::interfaces::action_units_data
Definition: action_units_data.hpp:16
bnb::interfaces::eyes_mask
Definition: eyes_mask.hpp:17
bnb::interfaces::frame_data
getters throw exceptions when data are not available android NNs usually output gpu masks
Definition: frame_data.hpp:41
bnb::interfaces::brows_mask
Definition: brows_mask.hpp:15
bnb::interfaces::lips_shine_mask
Definition: lips_shine_mask.hpp:15
bnb::interfaces::transformed_mask_gpu
Definition: transformed_mask_gpu.hpp:16