11#pragma once
2- #include " eigen_alias .h"
2+ #include " alias .h"
33
44// stl
55#include < unordered_map>
66#include < memory>
77#include < list>
88
99// 3rd party
10- #include " folly/dynamic.h"
1110#include " Core/Core.h"
1211
1312namespace feh {
@@ -34,13 +33,13 @@ struct Model {
3433// //////////////////////////////////////////////////////////
3534
3635// / \brief: Annotation procedure. Automated tool to align models to scene.
37- void AnnotationTool (const folly::dynamic &config);
36+ void AnnotationTool (const Json::Value &config);
3837
3938// / \brief: Enumerate possible azimuth rotation and perform ICP to find the best transformation to align the
4039// / model to the scene. Both model and scene are represented as a point cloud.
4140Eigen::Matrix4d RegisterModelToScene (std::shared_ptr <open3d::PointCloud> model,
4241 std::shared_ptr <open3d::PointCloud> scene,
43- const folly::dynamic options);
42+ const Json::Value options);
4443// / \brief: Helper.
4544double MinY (const std::vector<Eigen::Vector3d> &v);
4645
@@ -49,7 +48,7 @@ double MinY(const std::vector<Eigen::Vector3d> &v);
4948// //////////////////////////////////////////////////////////
5049
5150// / \brief: Align semantic mapping and RGB-D reconstruction for quantitative evaluation.
52- void MeshAlignment (const folly::dynamic &config);
51+ void MeshAlignment (const Json::Value &config);
5352
5453// / \Brief: Find the rigid body transformation to align the two lists of objects.
5554// / Method: find two objects with same shape name in the tgt and src. Compute the relative
@@ -85,7 +84,7 @@ Eigen::Matrix4d OptimizeAlignment(
8584open3d::RegistrationResult ICPRefinement (std::shared_ptr<open3d::PointCloud> scene,
8685 const std::unordered_map<int , Model> &src,
8786 const Eigen::Matrix4d &T_scene_src,
88- const folly::dynamic &options);
87+ const Json::Value &options);
8988
9089
9190// / \brief: Assemble the scene mesh by:
@@ -95,28 +94,28 @@ open3d::RegistrationResult ICPRefinement(std::shared_ptr<open3d::PointCloud> sce
9594// / \param objects: List of shape name, pose pairs.
9695// / \param alignment: Corvis to EF alignment.
9796// / \param vertices, faces: Assembled mesh.
98- void AssembleScene (const folly::dynamic &config,
97+ void AssembleScene (const Json::Value &config,
9998 const std::list<std::pair<std::string, Eigen::Matrix<double , 3 , 4 > > > &objects,
10099 const Eigen::Matrix<double , 3 , 4 > &alignment,
101100 std::vector<Eigen::Matrix<double , 3 , 1 >> &vertices,
102101 std::vector<Eigen::Matrix<int , 3 , 1 >> &faces);
103102// / \brief: Visualize semantic reconstruction with sparse point cloud from VIO.
104103// / \param V, F: optional output vertex and face arrays in ElasticFusion frame
105104// / \param G: optional output array of object poses aligned to ElasticFusion frame
106- void AssembleResult (const folly::dynamic &config,
105+ void AssembleResult (const Json::Value &config,
107106 Eigen::Matrix<double , Eigen::Dynamic, 3 > *V=nullptr ,
108107 Eigen::Matrix<int , Eigen::Dynamic, 3 > *F=nullptr ,
109108 std::vector<Eigen::Matrix<double , 3 , 4 >> *G=nullptr );
110- void VisualizeResult (const folly::dynamic &config);
109+ void VisualizeResult (const Json::Value &config);
111110// / \brief: Visualize ground truth with annotation.
112111// / \param V, F: optional output vertex and face arrays in ElasticFusion frame
113112// / \param G: optional output array of object poses aligned to ElasticFusion frame
114- void AssembleGroundTruth (const folly::dynamic &config,
113+ void AssembleGroundTruth (const Json::Value &config,
115114 Eigen::Matrix<double , Eigen::Dynamic, 3 > *V=nullptr ,
116115 Eigen::Matrix<int , Eigen::Dynamic, 3 > *F=nullptr ,
117116 std::vector<Eigen::Matrix<double , 3 , 4 >> *G=nullptr );
118117// / \brief: Entrance to quantitative evaluation of surface reconstruction.
119118// / MeasureSurfaceError is called internally to compute error measure.
120- void QuantitativeEvaluation (folly::dynamic config);
119+ void QuantitativeEvaluation (Json::Value config);
121120
122121}
0 commit comments