SyB3R - Synthetic Benchmark for 3D Reconstruction
Classes | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
syb3r::analysis::PointCloudEvaluation Class Reference

Classes

struct  Statistics
 bundles several statistical values (minimal, maximal, average values as well as standard deviation, and number of all and of correctly estimated points More...
 

Public Member Functions

 PointCloudEvaluation (const std::vector< Eigen::Vector3f > &refPcld, const std::vector< bool > &objectOfInterest, const std::vector< Eigen::Vector3f > &estPcld, const Eigen::Matrix4f &estToRefTrafo, float thresh)
 computation of performance measures More...
 
const StatisticsgetPCCorrectness () const
 
const StatisticsgetPCCompleteness () const
 
const std::vector< float > & getPerPointCorrectness () const
 returns correctness per point, i.e. distance to closest point in reference point cloud
 
const std::vector< float > & getPerPointCompleteness () const
 returns completeness per point, i.e. distance to closest point in estimated point cloud
 
const Eigen::Matrix4f & getRefinedEstToRefTrafo () const
 returns used transformation matrix from coordinate system of the estimate to the reference
 
float get95PercentPrecision () const
 returns precision value p such that 95% of the points have a precision larger than p
 
float get95PercentCompleteness () const
 returns completeness value c such that 95% of the points have a completeness larger than c
 
void createMatlabPlots (std::ostream &stream, float precCutoff, float complCutoff, float metricScale) const
 creates a script to generate matlab plots summarizing the computed statistics
 

Protected Member Functions

void nnAnalysis (pcl::octree::OctreePointCloudSearch< pcl::PointXYZ > &, pcl::PointCloud< pcl::PointXYZ >::Ptr, float, Statistics &, const std::vector< bool > &objectOfInterest, std::vector< float > &distances, bool computeCompleteness)
 nearest neighbor analyis between two point clouds
 
void computeCorrectness (pcl::octree::OctreePointCloudSearch< pcl::PointXYZ > &, pcl::PointCloud< pcl::PointXYZ >::Ptr, float, const std::vector< bool > &objectOfInterest)
 distance from each point in estimated pc to closest point in reference pc
 
void computeCompleteness (pcl::octree::OctreePointCloudSearch< pcl::PointXYZ > &, pcl::PointCloud< pcl::PointXYZ >::Ptr, float, const std::vector< bool > &objectOfInterest)
 distance from each point in reference pc to closest point in estimated pc
 
void eigen2pcl (const std::vector< Eigen::Vector3f > &, pcl::PointCloud< pcl::PointXYZ >::Ptr)
 
void transformPointCloud (pcl::PointCloud< pcl::PointXYZ >::Ptr, const Eigen::Matrix4f &)
 

Static Protected Member Functions

static void transformPointCloud (std::vector< Eigen::Vector3f > &points, const Eigen::Matrix4f &transform)
 

Protected Attributes

Statistics m_cloudCorrectness
 statistics over correctness
 
Statistics m_cloudCompleteness
 statistics over completeness
 
std::vector< float > m_correctness
 
std::vector< float > m_completeness
 
Eigen::Matrix4f m_estToRefTransform
 4x4 transformation matrix from coordinate system of the estimate to the reference
 

Class Documentation

struct syb3r::analysis::PointCloudEvaluation::Statistics

bundles several statistical values (minimal, maximal, average values as well as standard deviation, and number of all and of correctly estimated points

Class Members
float avg
float max
float min
unsigned numCorrect
unsigned numTotal
float stddev

Constructor & Destructor Documentation

syb3r::analysis::PointCloudEvaluation::PointCloudEvaluation ( const std::vector< Eigen::Vector3f > &  refPcld,
const std::vector< bool > &  objectOfInterest,
const std::vector< Eigen::Vector3f > &  estPcld,
const Eigen::Matrix4f &  estToRefTrafo,
float  thresh 
)

computation of performance measures

Parameters
refPcldReference point cloud
objectOfInterestdenotes which pixels belong to the object of interest.
estPcldEstimated point cloud
estToRefTrafo4x4 tranformation matrix from coordinate system of the estimate to the reference
threshMaximal distance between points in both point clouds to count them as "correct" match

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