pcl::people::PersonCluster< PointT > Class Template Reference

PersonCluster represents a class for representing information about a cluster containing a person. More...

`#include <pcl/people/person_cluster.h>`

## Public Types

typedef pcl::PointCloud< PointT > | PointCloud
typedef boost::shared_ptr< PointCloud > | PointCloudPtr
typedef boost::shared_ptr< const PointCloud > | PointCloudConstPtr

## Public Member Functions

| PersonCluster (const PointCloudPtr &input_cloud, const pcl::PointIndices &indices, const Eigen::VectorXf &ground_coeffs, float sqrt_ground_coeffs, bool head_centroid, bool vertical=false)
| Constructor. More...
virtual | ~PersonCluster ()
| Destructor. More...
float | getHeight ()
| Returns the height of the cluster. More...
float | updateHeight (const Eigen::VectorXf &ground_coeffs)
| Update the height of the cluster. More...
float | updateHeight (const Eigen::VectorXf &ground_coeffs, float sqrt_ground_coeffs)
| Update the height of the cluster. More...
float | getDistance ()
| Returns the distance of the cluster from the sensor. More...
float | getAngle ()
| Returns the angle formed by the cluster's centroid with respect to the sensor (in radians). More...
float | getAngleMin ()
| Returns the minimum angle formed by the cluster with respect to the sensor (in radians). More...
float | getAngleMax ()
| Returns the maximum angle formed by the cluster with respect to the sensor (in radians). More...
pcl::PointIndices & | getIndices ()
| Returns the indices of the point cloud points corresponding to the cluster. More...
Eigen::Vector3f & | getTTop ()
| Returns the theoretical top point. More...
Eigen::Vector3f & | getTBottom ()
| Returns the theoretical bottom point. More...
Eigen::Vector3f & | getTCenter ()
| Returns the theoretical centroid (at half height). More...
Eigen::Vector3f & | getTop ()
| Returns the top point. More...
Eigen::Vector3f & | getBottom ()
| Returns the bottom point. More...
Eigen::Vector3f & | getCenter ()
| Returns the centroid. More...
Eigen::Vector3f & | getMin ()
| Returns the point formed by min x, min y and min z. More...
Eigen::Vector3f & | getMax ()
| Returns the point formed by max x, max y and max z. More...
float | getPersonConfidence ()
| Returns the HOG confidence. More...
int | getNumberPoints ()
| Returns the number of points of the cluster. More...
void | setHeight (float height)
| Sets the cluster height. More...
void | setPersonConfidence (float confidence)
| Sets the HOG confidence. More...
void | drawTBoundingBox (pcl::visualization::PCLVisualizer &viewer, int person_number)
| Draws the theoretical 3D bounding box of the cluster in the PCL visualizer. More...

## Protected Member Functions

void | init (const PointCloudPtr &input_cloud, const pcl::PointIndices &indices, const Eigen::VectorXf &ground_coeffs, float sqrt_ground_coeffs, bool head_centroid, bool vertical)
| PersonCluster initialization. More...

## Protected Attributes

bool | head_centroid_
float | min_x_
| Minimum x coordinate of the cluster points. More...
float | min_y_
| Minimum y coordinate of the cluster points. More...
float | min_z_
| Minimum z coordinate of the cluster points. More...
float | max_x_
| Maximum x coordinate of the cluster points. More...
float | max_y_
| Maximum y coordinate of the cluster points. More...
float | max_z_
| Maximum z coordinate of the cluster points. More...
float | sum_x_
| Sum of x coordinates of the cluster points. More...
float | sum_y_
| Sum of y coordinates of the cluster points. More...
float | sum_z_
| Sum of z coordinates of the cluster points. More...
int | n_
| Number of cluster points. More...
float | c_x_
| x coordinate of the cluster centroid. More...
float | c_y_
| y coordinate of the cluster centroid. More...
float | c_z_
| z coordinate of the cluster centroid. More...
float | height_
| Cluster height from the ground plane. More...
float | distance_
| Cluster distance from the sensor. More...
float | angle_
| Cluster centroid horizontal angle with respect to z axis. More...
float | angle_max_
| Maximum angle of the cluster points. More...
float | angle_min_
| Minimum angle of the cluster points. More...
Eigen::Vector3f | top_
| Cluster top point. More...
Eigen::Vector3f | bottom_
| Cluster bottom point. More...
Eigen::Vector3f | center_
| Cluster centroid. More...
Eigen::Vector3f | ttop_
| Theoretical cluster top. More...
Eigen::Vector3f | tbottom_
| Theoretical cluster bottom (lying on the ground plane). More...
Eigen::Vector3f | tcenter_
| Theoretical cluster center (between ttop_ and tbottom_). More...
Eigen::Vector3f | min_
| Vector containing the minimum coordinates of the cluster. More...
Eigen::Vector3f | max_
| Vector containing the maximum coordinates of the cluster. More...
pcl::PointIndices | points_indices_
| Point cloud indices of the cluster points. More...
bool | vertical_
| If true, the sensor is considered to be vertically placed (portrait mode). More...
float | person_confidence_
| PersonCluster HOG confidence. More...

## Friends

bool | operator< (const PersonCluster< PointT > &c1, const PersonCluster< PointT > &c2)
| For sorting purpose: sort by distance. More...

## Detailed Description

### template<typename PointT>
class pcl::people::PersonCluster< PointT >

PersonCluster represents a class for representing information about a cluster containing a person.

Author
  Filippo Basso, Matteo Munaro

Definition at line 55 of file person_cluster.h.

## Member Typedef Documentation

## PointCloud

template<typename PointT>

typedef pcl::PointCloud<PointT> pcl::people::PersonCluster< PointT >::PointCloud

Definition at line 138 of file person_cluster.h.

## PointCloudConstPtr

template<typename PointT>

typedef boost::shared_ptr<const PointCloud> pcl::people::PersonCluster< PointT >::PointCloudConstPtr

Definition at line 140 of file person_cluster.h.

## PointCloudPtr

template<typename PointT>

typedef boost::shared_ptr<PointCloud> pcl::people::PersonCluster< PointT >::PointCloudPtr

Definition at line 139 of file person_cluster.h.

## Constructor & Destructor Documentation

## PersonCluster()

template<typename PointT >

pcl::people::PersonCluster< PointT >::PersonCluster | ( | const PointCloudPtr & | input_cloud,
|  | const pcl::PointIndices & | indices,
|  | const Eigen::VectorXf & | ground_coeffs,
|  | float | sqrt_ground_coeffs,
|  | bool | head_centroid,
|  | bool | vertical = `false`
| ) |  |

Constructor.

Definition at line 47 of file person_cluster.hpp.

## ~PersonCluster()

template<typename PointT >

pcl::people::PersonCluster< PointT >::~PersonCluster | ( |  | ) |

virtual

Destructor.

Definition at line 429 of file person_cluster.hpp.

## Member Function Documentation

## drawTBoundingBox()

template<typename PointT >

void pcl::people::PersonCluster< PointT >::drawTBoundingBox | ( | pcl::visualization::PCLVisualizer & | viewer,
|  | int | person_number
| ) |  |

Draws the theoretical 3D bounding box of the cluster in the PCL visualizer.

Parameters

  [in] | viewer | PCL visualizer.
  [in] | person_number | progressive number representing the person.

Definition at line 385 of file person_cluster.hpp.

References pcl::visualization::PCLVisualizer::addCube(), pcl::visualization::PCL_VISUALIZER_COLOR, pcl::visualization::PCL_VISUALIZER_LINE_WIDTH, pcl::visualization::PCLVisualizer::removeShape(), pcl::visualization::PCLVisualizer::setShapeRenderingProperties(), and pcl::ModelCoefficients::values.

## getAngle()

template<typename PointT >

float pcl::people::PersonCluster< PointT >::getAngle | ( |  | ) |

Returns the angle formed by the cluster's centroid with respect to the sensor (in radians).

Returns
  the angle formed by the cluster's centroid with respect to the sensor (in radians).

Definition at line 343 of file person_cluster.hpp.

## getAngleMax()

template<typename PointT >

float pcl::people::PersonCluster< PointT >::getAngleMax | ( |  | ) |

Returns the maximum angle formed by the cluster with respect to the sensor (in radians).

Returns
  the maximum angle formed by the cluster with respect to the sensor (in radians).

Definition at line 349 of file person_cluster.hpp.

## getAngleMin()

template<typename PointT >

float pcl::people::PersonCluster< PointT >::getAngleMin | ( |  | ) |

Returns the minimum angle formed by the cluster with respect to the sensor (in radians).

Returns
  the minimum angle formed by the cluster with respect to the sensor (in radians).

Definition at line 355 of file person_cluster.hpp.

## getBottom()

template<typename PointT >

Eigen::Vector3f & pcl::people::PersonCluster< PointT >::getBottom | ( |  | ) |

Returns the bottom point.

Returns
  the bottom point.

Definition at line 319 of file person_cluster.hpp.

## getCenter()

template<typename PointT >

Eigen::Vector3f & pcl::people::PersonCluster< PointT >::getCenter | ( |  | ) |

Returns the centroid.

Returns
  the centroid.

Definition at line 325 of file person_cluster.hpp.

## getDistance()

template<typename PointT >

float pcl::people::PersonCluster< PointT >::getDistance | ( |  | ) |

Returns the distance of the cluster from the sensor.

Returns
  the distance of the cluster (its centroid) from the sensor without considering the y dimension.

Definition at line 289 of file person_cluster.hpp.

## getHeight()

template<typename PointT >

float pcl::people::PersonCluster< PointT >::getHeight | ( |  | ) |

Returns the height of the cluster.

Returns
  the height of the cluster.

Definition at line 261 of file person_cluster.hpp.

## getIndices()

template<typename PointT >

pcl::PointIndices & pcl::people::PersonCluster< PointT >::getIndices | ( |  | ) |

Returns the indices of the point cloud points corresponding to the cluster.

Returns
  the indices of the point cloud points corresponding to the cluster.

Definition at line 255 of file person_cluster.hpp.

Referenced by pcl::people::HeightMap2D< PointT >::compute(), and pcl::people::HeadBasedSubclustering< PointT >::createSubClusters().

## getMax()

template<typename PointT >

Eigen::Vector3f & pcl::people::PersonCluster< PointT >::getMax | ( |  | ) |

Returns the point formed by max x, max y and max z.

Returns
  the point formed by max x, max y and max z.

Definition at line 337 of file person_cluster.hpp.

Referenced by pcl::people::HeightMap2D< PointT >::compute().

## getMin()

template<typename PointT >

Eigen::Vector3f & pcl::people::PersonCluster< PointT >::getMin | ( |  | ) |

Returns the point formed by min x, min y and min z.

Returns
  the point formed by min x, min y and min z.

Definition at line 331 of file person_cluster.hpp.

Referenced by pcl::people::HeightMap2D< PointT >::compute().

## getNumberPoints()

template<typename PointT >

int pcl::people::PersonCluster< PointT >::getNumberPoints | ( |  | ) |

Returns the number of points of the cluster.

Returns
  the number of points of the cluster.

Definition at line 361 of file person_cluster.hpp.

## getPersonConfidence()

template<typename PointT >

float pcl::people::PersonCluster< PointT >::getPersonConfidence | ( |  | ) |

Returns the HOG confidence.

Returns
  the HOG confidence.

Definition at line 367 of file person_cluster.hpp.

## getTBottom()

template<typename PointT >

Eigen::Vector3f & pcl::people::PersonCluster< PointT >::getTBottom | ( |  | ) |

Returns the theoretical bottom point.

Returns
  the theoretical bottom point.

Definition at line 301 of file person_cluster.hpp.

## getTCenter()

template<typename PointT >

Eigen::Vector3f & pcl::people::PersonCluster< PointT >::getTCenter | ( |  | ) |

Returns the theoretical centroid (at half height).

Returns
  the theoretical centroid (at half height).

Definition at line 307 of file person_cluster.hpp.

## getTop()

template<typename PointT >

Eigen::Vector3f & pcl::people::PersonCluster< PointT >::getTop | ( |  | ) |

Returns the top point.

Returns
  the top point.

Definition at line 313 of file person_cluster.hpp.

## getTTop()

template<typename PointT >

Eigen::Vector3f & pcl::people::PersonCluster< PointT >::getTTop | ( |  | ) |

Returns the theoretical top point.

Returns
  the theoretical top point.

Definition at line 295 of file person_cluster.hpp.

## init()

template<typename PointT >

void pcl::people::PersonCluster< PointT >::init | ( | const PointCloudPtr & | input_cloud,
|  | const pcl::PointIndices & | indices,
|  | const Eigen::VectorXf & | ground_coeffs,
|  | float | sqrt_ground_coeffs,
|  | bool | head_centroid,
|  | bool | vertical
| ) |  |

protected

PersonCluster initialization.

Definition at line 59 of file person_cluster.hpp.

References pcl::PointIndices::indices.

## setHeight()

template<typename PointT >

void pcl::people::PersonCluster< PointT >::setHeight | ( | float | height | ) |

Sets the cluster height.

Parameters

  [in] | height |

Definition at line 379 of file person_cluster.hpp.

## setPersonConfidence()

template<typename PointT >

void pcl::people::PersonCluster< PointT >::setPersonConfidence | ( | float | confidence | ) |

Sets the HOG confidence.

Parameters

  [in] | confidence |

Definition at line 373 of file person_cluster.hpp.

## updateHeight() [1/2]

template<typename PointT >

float pcl::people::PersonCluster< PointT >::updateHeight | ( | const Eigen::VectorXf & | ground_coeffs | ) |

Update the height of the cluster.

Parameters

  [in] | ground_coeffs | The coefficients of the ground plane.

Returns
  the height of the cluster.

Definition at line 267 of file person_cluster.hpp.

## updateHeight() [2/2]

template<typename PointT >

float pcl::people::PersonCluster< PointT >::updateHeight | ( | const Eigen::VectorXf & | ground_coeffs,
|  | float | sqrt_ground_coeffs
| ) |  |

Update the height of the cluster.

Parameters

  [in] | ground_coeffs | The coefficients of the ground plane.
  [in] | sqrt_ground_coeffs | The norm of the vector [a, b, c] where a, b and c are the first three coefficients of the ground plane (ax + by + cz + d = 0).

Returns
  the height of the cluster.

Definition at line 274 of file person_cluster.hpp.

## Friends And Related Function Documentation

## operator<

template<typename PointT>

bool operator< | ( | const PersonCluster< PointT > & | c1,
|  | const PersonCluster< PointT > & | c2
| ) |  |

friend

For sorting purpose: sort by distance.

## Member Data Documentation

## angle_

template<typename PointT>

float pcl::people::PersonCluster< PointT >::angle_

protected

Cluster centroid horizontal angle with respect to z axis.

Definition at line 102 of file person_cluster.h.

## angle_max_

template<typename PointT>

float pcl::people::PersonCluster< PointT >::angle_max_

protected

Maximum angle of the cluster points.

Definition at line 105 of file person_cluster.h.

## angle_min_

template<typename PointT>

float pcl::people::PersonCluster< PointT >::angle_min_

protected

Minimum angle of the cluster points.

Definition at line 107 of file person_cluster.h.

## bottom_

template<typename PointT>

Eigen::Vector3f pcl::people::PersonCluster< PointT >::bottom_

protected

Cluster bottom point.

Definition at line 112 of file person_cluster.h.

## c_x_

template<typename PointT>

float pcl::people::PersonCluster< PointT >::c_x_

protected

x coordinate of the cluster centroid.

Definition at line 90 of file person_cluster.h.

## c_y_

template<typename PointT>

float pcl::people::PersonCluster< PointT >::c_y_

protected

y coordinate of the cluster centroid.

Definition at line 92 of file person_cluster.h.

## c_z_

template<typename PointT>

float pcl::people::PersonCluster< PointT >::c_z_

protected

z coordinate of the cluster centroid.

Definition at line 94 of file person_cluster.h.

## center_

template<typename PointT>

Eigen::Vector3f pcl::people::PersonCluster< PointT >::center_

protected

Cluster centroid.

Definition at line 114 of file person_cluster.h.

## distance_

template<typename PointT>

float pcl::people::PersonCluster< PointT >::distance_

protected

Cluster distance from the sensor.

Definition at line 100 of file person_cluster.h.

## head_centroid_

template<typename PointT>

bool pcl::people::PersonCluster< PointT >::head_centroid_

protected

Definition at line 63 of file person_cluster.h.

## height_

template<typename PointT>

float pcl::people::PersonCluster< PointT >::height_

protected

Cluster height from the ground plane.

Definition at line 97 of file person_cluster.h.

## max_

template<typename PointT>

Eigen::Vector3f pcl::people::PersonCluster< PointT >::max_

protected

Vector containing the maximum coordinates of the cluster.

Definition at line 126 of file person_cluster.h.

## max_x_

template<typename PointT>

float pcl::people::PersonCluster< PointT >::max_x_

protected

Maximum x coordinate of the cluster points.

Definition at line 73 of file person_cluster.h.

## max_y_

template<typename PointT>

float pcl::people::PersonCluster< PointT >::max_y_

protected

Maximum y coordinate of the cluster points.

Definition at line 75 of file person_cluster.h.

## max_z_

template<typename PointT>

float pcl::people::PersonCluster< PointT >::max_z_

protected

Maximum z coordinate of the cluster points.

Definition at line 77 of file person_cluster.h.

## min_

template<typename PointT>

Eigen::Vector3f pcl::people::PersonCluster< PointT >::min_

protected

Vector containing the minimum coordinates of the cluster.

Definition at line 124 of file person_cluster.h.

## min_x_

template<typename PointT>

float pcl::people::PersonCluster< PointT >::min_x_

protected

Minimum x coordinate of the cluster points.

Definition at line 66 of file person_cluster.h.

## min_y_

template<typename PointT>

float pcl::people::PersonCluster< PointT >::min_y_

protected

Minimum y coordinate of the cluster points.

Definition at line 68 of file person_cluster.h.

## min_z_

template<typename PointT>

float pcl::people::PersonCluster< PointT >::min_z_

protected

Minimum z coordinate of the cluster points.

Definition at line 70 of file person_cluster.h.

## n_

template<typename PointT>

int pcl::people::PersonCluster< PointT >::n_

protected

Number of cluster points.

Definition at line 87 of file person_cluster.h.

## person_confidence_

template<typename PointT>

float pcl::people::PersonCluster< PointT >::person_confidence_

protected

PersonCluster HOG confidence.

Definition at line 134 of file person_cluster.h.

## points_indices_

template<typename PointT>

pcl::PointIndices pcl::people::PersonCluster< PointT >::points_indices_

protected

Point cloud indices of the cluster points.

Definition at line 129 of file person_cluster.h.

## sum_x_

template<typename PointT>

float pcl::people::PersonCluster< PointT >::sum_x_

protected

Sum of x coordinates of the cluster points.

Definition at line 80 of file person_cluster.h.

## sum_y_

template<typename PointT>

float pcl::people::PersonCluster< PointT >::sum_y_

protected

Sum of y coordinates of the cluster points.

Definition at line 82 of file person_cluster.h.

## sum_z_

template<typename PointT>

float pcl::people::PersonCluster< PointT >::sum_z_

protected

Sum of z coordinates of the cluster points.

Definition at line 84 of file person_cluster.h.

## tbottom_

template<typename PointT>

Eigen::Vector3f pcl::people::PersonCluster< PointT >::tbottom_

protected

Theoretical cluster bottom (lying on the ground plane).

Definition at line 119 of file person_cluster.h.

## tcenter_

template<typename PointT>

Eigen::Vector3f pcl::people::PersonCluster< PointT >::tcenter_

protected

Theoretical cluster center (between ttop_ and tbottom_).

Definition at line 121 of file person_cluster.h.

## top_

template<typename PointT>

Eigen::Vector3f pcl::people::PersonCluster< PointT >::top_

protected

Cluster top point.

Definition at line 110 of file person_cluster.h.

## ttop_

template<typename PointT>

Eigen::Vector3f pcl::people::PersonCluster< PointT >::ttop_

protected

Theoretical cluster top.

Definition at line 117 of file person_cluster.h.

## vertical_

template<typename PointT>

bool pcl::people::PersonCluster< PointT >::vertical_

protected

If true, the sensor is considered to be vertically placed (portrait mode).

Definition at line 132 of file person_cluster.h.

The documentation for this class was generated from the following files:

- /build/pcl-qv3n_B/pcl-1.8.1+dfsg1/people/include/pcl/people/person_cluster.h
- /build/pcl-qv3n_B/pcl-1.8.1+dfsg1/people/include/pcl/people/impl/person_cluster.hpp