PosturePerfection
Data Structures | Namespaces | Enumerations | Functions
intermediate_structures.h File Reference

Data structures used in communicating between different parts of the system. More...

#include <array>
#include <string>
Include dependency graph for intermediate_structures.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  PreProcessing::PreProcessedImage
 A structure of the pre processed image. More...
 
struct  PostProcessing::Coordinate
 Indicates position and trustworthiness of a body part node. More...
 
struct  PostProcessing::ProcessedResults
 The PostProcessing::Coordinate of each body part. More...
 
struct  Inference::Result
 Intermediate result of pose estimation More...
 
struct  Inference::Coordinate
 Indicates position and confidence in positioning of a body part node. More...
 
struct  Inference::InferenceResults
 Results of running the model for all body parts. More...
 

Namespaces

 PreProcessing
 Responsible for resizing and normalising the input image to a structure suitable for TensorFlow Lite.
 
 PostProcessing
 Smoothen the results of inference and average body parts since the system assumes a side-on profile.
 
 Inference
 Uses TensorFlow Lite to perform pose estimation on a given image frame to detect noteworthy joints.
 

Enumerations

enum  BodyPart {
  head_top , BodyPartMin = head_top , upper_neck , right_shoulder ,
  right_elbow , right_wrist , thorax , left_shoulder ,
  left_elbow , left_wrist , pelvis , right_hip ,
  right_knee , right_ankle , left_hip , left_knee ,
  left_ankle , BodyPartMax = left_ankle
}
 Defines the order of body parts in the body_parts arrays. More...
 
enum  Joint {
  Head = 0 , JointMin = Head , Neck = 1 , Shoulder = 2 ,
  Hip = 3 , Knee = 4 , Foot = 5 , JointMax = Foot
}
 Defines order of joints in any body part arrays. More...
 
enum  PostProcessing::Status { PostProcessing::Untrustworthy , PostProcessing::Trustworthy }
 A PostProcessing::Coordinate's position can be either Untrustworthy or Trustworthy More...
 

Functions

std::string PostProcessing::stringStatus (Status s)
 Converts the Untrustworthy/Trustworthy status to a string. More...
 

Detailed Description

Data structures used in communicating between different parts of the system.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

Enumeration Type Documentation

◆ BodyPart

enum BodyPart

Defines the order of body parts in the body_parts arrays.

The Inference::InferenceResults and PostProcessing::ProcessedResults each have a body_parts field. The order of body parts is defined by this enum. The minimum and maximum body part "value" is given by BodyPartMin and BodyPartMax, respectively.

Enumerator
head_top 
BodyPartMin 
upper_neck 
right_shoulder 
right_elbow 
right_wrist 
thorax 
left_shoulder 
left_elbow 
left_wrist 
pelvis 
right_hip 
right_knee 
right_ankle 
left_hip 
left_knee 
left_ankle 
BodyPartMax 

◆ Joint

enum Joint

Defines order of joints in any body part arrays.

This is to be used where the pose is represented as a profile view to define the posture. As a result there are no left and right versions

Enumerator
Head 
JointMin 
Neck 
Shoulder 
Hip 
Knee 
Foot 
JointMax