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 external_face_data;
29struct eyes_mask;
30struct eyes_state;
31struct feature_parameter;
32struct full_image_format;
33struct lips_shine_mask;
34struct transformed_mask_byte;
35struct transformed_mask_gpu;
36
37/**
38 * getters throw exceptions when data are not available
39 * android NNs usually output gpu masks
40 */
41class BNB_EXPORT frame_data {
42public:
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 virtual void add_full_img(::bnb::full_image_t img) = 0;
115
116 virtual void replace_full_img(::bnb::full_image_t img) = 0;
117
118 virtual void add_background(const transformed_mask_byte & mask) = 0;
119
120 virtual void add_external_face_data(face_data_source source, const std::vector<external_face_data> & data) = 0;
121
122 virtual void add_depth_map(const depth_map & depth_map) = 0;
123
124 virtual void add_frame_number(int64_t frame_number) = 0;
125
126 virtual void add_action_units_data(const action_units_data & action_units) = 0;
127
128 /**
129 * Extra parameters during in-CPU feature calculations.
130 * Reference feature documentation.
131 */
132 virtual void add_feature_parameters(const std::unordered_map<feature_id, std::vector<feature_parameter>> & params) = 0;
133
134 /**add frame timestamp in microseconds */
135 virtual void add_timestamp_us(double timestamp_us) = 0;
136};
137
138} } // namespace bnb::interfaces
139/// @}
140
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
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 void add_feature_parameters(const std::unordered_map< feature_id, std::vector< feature_parameter > > &params)=0
Extra parameters during in-CPU feature calculations.
for order of values in action units array see action_units_indices enum
Results from depth camera.
Definition depth_map.hpp:17