SyB3R - Synthetic Benchmark for 3D Reconstruction
CameraPathEvaluation.h
1 #ifndef CAMERAPATHEVALUATION_H
2 #define CAMERAPATHEVALUATION_H
3 
4 #include <map>
5 
6 #include <Eigen/Dense>
7 
8 namespace syb3r {
9 
10 namespace data {
11  class Dataset;
12  class EstimatedCameraPath;
13 }
14 
15 namespace analysis {
16 
21 {
22  public:
27  CameraPathEvaluation(const syb3r::data::Dataset &referenceDataset, const syb3r::data::EstimatedCameraPath &estimation);
28 
29  struct CameraAccuracy {
31  Eigen::Vector3f positionAccuracy;
33  Eigen::Vector3f rotationAccuracy;
34  };
35 
37 
41  Eigen::Vector3f getCameraPositionAccuracyPerDimension(int id=-1, Eigen::Vector3f* std=0) const;
43 
47  float getCameraPositionAccuracy(int id=-1, float* std=0) const;
48 
49  inline const Eigen::Matrix4f &getEstToRefTransform() const { return m_estimationToReferenceTransform; }
50  protected:
54  std::map<unsigned, CameraAccuracy> m_cameraAccuracies;
55 };
56 
57 
58 }
59 }
60 
61 #endif // CAMERAPATHEVALUATION_H
Definition: CameraPathEvaluation.cpp:10
STL namespace.
std::map< unsigned, CameraAccuracy > m_cameraAccuracies
contains the individual errors of all cameras
Definition: CameraPathEvaluation.h:54
Compares the given camera position with the estimate from SfM.
Definition: CameraPathEvaluation.h:20
Eigen::Matrix4f m_estimationToReferenceTransform
4x4 transformation matrix from the coordinate system of the estimate to the reference coordinate syst...
Definition: CameraPathEvaluation.h:52
Definition: Dataset.h:25
Definition: CameraPathEvaluation.h:29
Eigen::Vector3f rotationAccuracy
angular distance between pose of each camera in reference and estimate in all three dimensions ...
Definition: CameraPathEvaluation.h:33
Eigen::Vector3f positionAccuracy
distance between positions of each camera in reference and estimate in all three dimensions ...
Definition: CameraPathEvaluation.h:31
Definition: EstimatedCameraPath.h:11