DFX Extraction library v4.12.0
enabling applications to perform DFX blood flow analysis
Face.h
1 /*
2  * Copyright (c) 2016-2019, Nuralogix Corp.
3  * All Rights reserved
4  *
5  * THIS SOFTWARE IS LICENSED BY AND IS THE CONFIDENTIAL AND
6  * PROPRIETARY PROPERTY OF NURALOGIX CORP. IT IS
7  * PROTECTED UNDER THE COPYRIGHT LAWS OF THE USA, CANADA
8  * AND OTHER FOREIGN COUNTRIES. THIS SOFTWARE OR ANY
9  * PART THEREOF, SHALL NOT, WITHOUT THE PRIOR WRITTEN CONSENT
10  * OF NURALOGIX CORP, BE USED, COPIED, DISCLOSED,
11  * DECOMPILED, DISASSEMBLED, MODIFIED OR OTHERWISE TRANSFERRED
12  * EXCEPT IN ACCORDANCE WITH THE TERMS AND CONDITIONS OF A
13  * NURALOGIX CORP SOFTWARE LICENSE AGREEMENT.
14  */
15 #pragma once
16 #ifndef LIBDFX_FACE_H
17 #define LIBDFX_FACE_H
18 
19 #include "dfx/PosePoint.h"
20 
21 #include <map>
22 #include <string>
23 
24 #include <opencv2/opencv.hpp> // for core
25 
26 namespace dfx {
27  enum class FaceAttribute {
28  SEX_ASSIGNED_AT_BIRTH = 1, // SEX_ASSIGNED_MALE_AT_BIRTH, SEX_ASSIGNED_FEMALE_AT_BIRTH, SEX_NOT_PROVIDED
29  AGE_YEARS = 2, // <NUMBER> of years old
30  HEIGHT_CM = 3, // <NUMBER> of centimeters tall
31  WEIGHT_KG = 4, // <NUMBER> of kilograms
32  SMOKER = 5, // True (1) or False (0)
33  HYPERTENSIVE = 6, // True (1) or False (0)
34  BLOOD_PRESSURE_MEDICATION = 7, // True (1) or False (0)
35  DIABETES = 8, // DIABETES_NONE, DIABETES_TYPE1, DIABETES_TYPE2
36  };
37 
38  enum class FaceAttributeValue {
39  SEX_NOT_PROVIDED = 1,
40  SEX_ASSIGNED_MALE_AT_BIRTH = 2,
41  SEX_ASSIGNED_FEMALE_AT_BIRTH = 3,
42 
43  DIABETES_NONE = 4,
44  DIABETES_TYPE1 = 5,
45  DIABETES_TYPE2 = 6,
46  };
47 
58 struct Face {
67  std::string id;
68 
77  cv::Rect faceRect;
78 
86  bool poseValid;
87 
94  bool detected;
95 
102  std::map<std::string, dfx::PosePoint> posePoints;
103 
119  std::map<std::string, double> attributes;
120 };
121 } // namespace dfx
122 
123 #endif // LIBDFX_FACE_H
dfx::Face
identifies the properties associated with faces within the video frame.
Definition: Face.h:58
dfx::Face::detected
bool detected
if the face was detected or assumed based on prior knowledge.
Definition: Face.h:94
dfx::Face::faceRect
cv::Rect faceRect
the bounding rectangle of the face.
Definition: Face.h:77
dfx::Face::posePoints
std::map< std::string, dfx::PosePoint > posePoints
the PosePoint information for this face.
Definition: Face.h:102
dfx::Face::attributes
std::map< std::string, double > attributes
are used to augment the face with additional data.
Definition: Face.h:119
dfx::Face::poseValid
bool poseValid
if the pose points are valid for this face.
Definition: Face.h:86
dfx
Definition: ChunkData.h:21
dfx::Face::id
std::string id
the identity of this face.
Definition: Face.h:67