KJB
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
psi_deva_skeleton.h
Go to the documentation of this file.
1 /* $Id: psi_deva_skeleton.h 17393 2014-08-23 20:19:14Z predoehl $ */
2 /* =========================================================================== *
3  |
4  | Copyright (c) 1994-2011 by Kobus Barnard (author)
5  |
6  | Personal and educational use of this code is granted, provided that this
7  | header is kept intact, and that the authorship is not misrepresented, that
8  | its use is acknowledged in publications, and relevant papers are cited.
9  |
10  | For other use contact the author (kobus AT cs DOT arizona DOT edu).
11  |
12  | Please note that the code in this file has not necessarily been adequately
13  | tested. Naturally, there is no guarantee of performance, support, or fitness
14  | for any particular task. Nonetheless, I am interested in hearing about
15  | problems that you encounter.
16  |
17  | Author: Jinyan Guan
18  * =========================================================================== */
19 
20 #ifndef PSI_DEVA_SKELETON_H
21 #define PSI_DEVA_SKELETON_H
22 
24 #include <iostream>
25 #include <vector>
26 
27 namespace kjb
28 {
29 namespace psi
30 {
31 
33 
57 class Deva_skeleton_boxes : public std::vector<Bbox>
58 {
59 private:
60  typedef std::vector<Bbox> Base;
61 
62  //friend std::vector<Deva_skeleton_boxes> parse_deva_skeletons(std::istream& is);
63 
64 public:
66  Base(26)
67  {}
68 
70  const Bbox& get_part(size_t index) const
71  {
72  IFT(index < this->size(), Illegal_argument, "Part index is out of range.");
73  return (*this)[index];
74  }
75 
76  void set_part(size_t index, const Bbox& box)
77  {
78  IFT(index < this->size(), Illegal_argument, "Part index is out of range.");
79  (*this)[index] = box;
80  }
81 
82  void set_score(double score) { score_ = score; }
83  double get_score() const { return score_; }
84 
85 private:
86  double score_;
87 
88 };
89 
95 std::vector<Deva_skeleton_boxes> parse_deva_skeletons(std::istream& is);
96 
102 std::vector<std::vector<Deva_skeleton_boxes> > parse_deva_skeleton_tracks
103 (
104  std::istream& is,
105  size_t num_frames
106 );
107 
109 void standardize(Deva_skeleton_boxes& boxes, double cam_width, double cam_height);
110 
111 }} //namespace kjb::psi
112 
113 #endif /* PSI_DEVA_SKELETON_H */
void set_score(double score)
Definition: psi_deva_skeleton.h:82
std::vector< Deva_skeleton_boxes > parse_deva_skeletons(std::istream &is)
Definition: psi_deva_skeleton.cpp:36
Class that represents an axis-aligned 2D rectangle. It is defined in terms of its (2D) center...
Definition: gr_2D_bounding_box.h:51
const Bbox & get_part(size_t index) const
Definition: psi_deva_skeleton.h:70
Deva_skeleton_boxes()
Definition: psi_deva_skeleton.h:65
#define IFT(a, ex, msg)
Definition: l_exception.h:101
double get_score() const
Definition: psi_deva_skeleton.h:83
Definition: psi_deva_skeleton.h:57
std::vector< std::vector< Deva_skeleton_boxes > > parse_deva_skeleton_tracks(std::istream &is, size_t num_frames)
Definition: psi_deva_skeleton.cpp:96
Object thrown when an argument to a function is not acceptable.
Definition: l_exception.h:377
Class representing an axis-aligned, 2D rectangle.
void set_part(size_t index, const Bbox &box)
Definition: psi_deva_skeleton.h:76
~Deva_skeleton_boxes()
Definition: psi_deva_skeleton.h:69
void standardize(Deva_skeleton_boxes &boxes, double cam_width, double cam_height)
move coordinate ssystem origin to center of image
Definition: psi_deva_skeleton.cpp:156
Axis_aligned_rectangle_2d Bbox
Definition: psi_deva_skeleton.h:32