From f7247f89265e33e605f476d7197c5d73e56418b3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joan=20Sol=C3=A0?= <jsola@iri.upc.edu>
Date: Thu, 7 Feb 2019 11:05:08 +0100
Subject: [PATCH] Remove name and type from ProcParams and Intrinsics structs

---
 src/processor_base.cpp                        |  2 +-
 src/processor_base.h                          |  9 +-------
 .../processor_tracker_feature_trifocal.cpp    |  1 -
 src/sensor_base.h                             |  3 ---
 ...est_processor_tracker_feature_trifocal.cpp |  2 +-
 src/yaml/processor_IMU_yaml.cpp               |  8 -------
 src/yaml/processor_odom_3D_yaml.cpp           |  8 -------
 ...rocessor_tracker_feature_trifocal_yaml.cpp |  3 ---
 src/yaml/sensor_IMU_yaml.cpp                  | 22 +++++++------------
 src/yaml/sensor_camera_yaml.cpp               |  9 +++-----
 src/yaml/sensor_laser_2D_yaml.cpp             |  4 ++--
 src/yaml/sensor_odom_3D_yaml.cpp              |  7 ------
 12 files changed, 16 insertions(+), 62 deletions(-)

diff --git a/src/processor_base.cpp b/src/processor_base.cpp
index ea4bdc4e8..90943540e 100644
--- a/src/processor_base.cpp
+++ b/src/processor_base.cpp
@@ -8,7 +8,7 @@ namespace wolf {
 unsigned int ProcessorBase::processor_id_count_ = 0;
 
 ProcessorBase::ProcessorBase(const std::string& _type, ProcessorParamsBasePtr _params) :
-        NodeBase("PROCESSOR", _type, _params->name),
+        NodeBase("PROCESSOR", _type),
         processor_id_(++processor_id_count_),
         params_(_params),
         sensor_ptr_()
diff --git a/src/processor_base.h b/src/processor_base.h
index bcf5c46b6..2b996e17f 100644
--- a/src/processor_base.h
+++ b/src/processor_base.h
@@ -112,13 +112,9 @@ struct ProcessorParamsBase
     ProcessorParamsBase() = default;
 
     ProcessorParamsBase(bool _voting_active,
-                        Scalar _time_tolerance,
-                        const std::string& _type,
-                        const std::string& _name)
+                        Scalar _time_tolerance)
       : voting_active(_voting_active)
       , time_tolerance(_time_tolerance)
-      , type(_type)
-      , name(_name)
     {
       //
     }
@@ -131,9 +127,6 @@ struct ProcessorParamsBase
     /// a particular Capture of this processor to allow assigning
     /// this Capture to the Keyframe.
     Scalar time_tolerance = Scalar(0);
-
-    std::string type;
-    std::string name;
 };
 
 //class ProcessorBase
diff --git a/src/processors/processor_tracker_feature_trifocal.cpp b/src/processors/processor_tracker_feature_trifocal.cpp
index 7ffb99375..8c6426377 100644
--- a/src/processors/processor_tracker_feature_trifocal.cpp
+++ b/src/processors/processor_tracker_feature_trifocal.cpp
@@ -39,7 +39,6 @@ ProcessorTrackerFeatureTrifocal::ProcessorTrackerFeatureTrifocal(ProcessorParams
         prev_origin_ptr_(nullptr),
         initialized_(false)
 {
-    setName(_params_tracker_feature_trifocal->name);
     assert(!(params_tracker_feature_trifocal_->yaml_file_params_vision_utils.empty()) && "Missing YAML file with vision_utils parameters!");
     assert(file_exists(params_tracker_feature_trifocal_->yaml_file_params_vision_utils) && "Cannot setup processor: vision_utils' YAML file does not exist.");
 
diff --git a/src/sensor_base.h b/src/sensor_base.h
index b52e8816e..98a95e2c5 100644
--- a/src/sensor_base.h
+++ b/src/sensor_base.h
@@ -25,9 +25,6 @@ namespace wolf {
 struct IntrinsicsBase
 {
         virtual ~IntrinsicsBase() = default;
-
-        std::string type;
-        std::string name;
 };
 
 class SensorBase : public NodeBase, public std::enable_shared_from_this<SensorBase>
diff --git a/src/test/gtest_processor_tracker_feature_trifocal.cpp b/src/test/gtest_processor_tracker_feature_trifocal.cpp
index 71a8e7f46..28346689f 100644
--- a/src/test/gtest_processor_tracker_feature_trifocal.cpp
+++ b/src/test/gtest_processor_tracker_feature_trifocal.cpp
@@ -82,7 +82,7 @@ TEST(ProcessorTrackerFeatureTrifocal, KeyFrameCallback)
                                                          intr);
 
     ProcessorParamsTrackerFeatureTrifocalPtr params_tracker_feature_trifocal = std::make_shared<ProcessorParamsTrackerFeatureTrifocal>();
-    params_tracker_feature_trifocal->name                           = "trifocal";
+//    params_tracker_feature_trifocal->name                           = "trifocal";
     params_tracker_feature_trifocal->pixel_noise_std                = 1.0;
     params_tracker_feature_trifocal->voting_active                  = true;
     params_tracker_feature_trifocal->min_features_for_keyframe      = 5;
diff --git a/src/yaml/processor_IMU_yaml.cpp b/src/yaml/processor_IMU_yaml.cpp
index 0e6587e29..e31c957f8 100644
--- a/src/yaml/processor_IMU_yaml.cpp
+++ b/src/yaml/processor_IMU_yaml.cpp
@@ -26,18 +26,10 @@ static ProcessorParamsBasePtr createProcessorIMUParams(const std::string & _file
 
     if (config["processor type"].as<std::string>() == "IMU")
     {
-
-        // YAML:: to Eigen::
-        using namespace Eigen;
-        std::string processor_type = config["processor type"]     .as<std::string>();
-        std::string processor_name = config["processor name"]     .as<std::string>();
-
         YAML::Node kf_vote = config["keyframe vote"];
 
         ProcessorParamsIMUPtr params = std::make_shared<ProcessorParamsIMU>();
 
-        params->type                = processor_type;
-        params->name                = processor_name;
         params->max_time_span       = kf_vote["max time span"]      .as<Scalar>();
         params->max_buff_length     = kf_vote["max buffer length"]  .as<SizeEigen  >();
         params->dist_traveled       = kf_vote["dist traveled"]      .as<Scalar>();
diff --git a/src/yaml/processor_odom_3D_yaml.cpp b/src/yaml/processor_odom_3D_yaml.cpp
index 1b5a3f40d..047e42463 100644
--- a/src/yaml/processor_odom_3D_yaml.cpp
+++ b/src/yaml/processor_odom_3D_yaml.cpp
@@ -26,18 +26,10 @@ static ProcessorParamsBasePtr createProcessorOdom3DParams(const std::string & _f
 
     if (config["processor type"].as<std::string>() == "ODOM 3D")
     {
-
-        // YAML:: to Eigen::
-        using namespace Eigen;
-        std::string processor_type = config["processor type"]     .as<std::string>();
-        std::string processor_name = config["processor name"]     .as<std::string>();
-
         YAML::Node kf_vote = config["keyframe vote"];
 
         ProcessorParamsOdom3DPtr params = std::make_shared<ProcessorParamsOdom3D>();
 
-        params->type                = processor_type;
-        params->name                = processor_name;
         params->max_time_span       = kf_vote["max time span"]      .as<Scalar>();
         params->max_buff_length     = kf_vote["max buffer length"]  .as<SizeEigen  >();
         params->dist_traveled       = kf_vote["dist traveled"]      .as<Scalar>();
diff --git a/src/yaml/processor_tracker_feature_trifocal_yaml.cpp b/src/yaml/processor_tracker_feature_trifocal_yaml.cpp
index 9e339d41a..05605b3ef 100644
--- a/src/yaml/processor_tracker_feature_trifocal_yaml.cpp
+++ b/src/yaml/processor_tracker_feature_trifocal_yaml.cpp
@@ -34,9 +34,6 @@ static ProcessorParamsBasePtr createProcessorParamsTrackerFeatureTrifocal(const
     {
         ProcessorParamsTrackerFeatureTrifocalPtr params = std::make_shared<ProcessorParamsTrackerFeatureTrifocal>();
 
-        params->type                          = config["processor type"].as<std::string>();
-        params->name                          = config["processor name"].as<std::string>();
-
         YAML::Node vision_utils               = config      ["vision_utils"];
         params->yaml_file_params_vision_utils = vision_utils["YAML file params"].as<std::string>();
 
diff --git a/src/yaml/sensor_IMU_yaml.cpp b/src/yaml/sensor_IMU_yaml.cpp
index 658becb6b..a29331bec 100644
--- a/src/yaml/sensor_IMU_yaml.cpp
+++ b/src/yaml/sensor_IMU_yaml.cpp
@@ -27,23 +27,17 @@ static IntrinsicsBasePtr createIntrinsicsIMU(const std::string & _filename_dot_y
 
     if (config["sensor type"].as<std::string>() == "IMU")
     {
-
-        // YAML:: to Eigen::
-        using namespace Eigen;
-        std::string sensor_type = config["sensor type"]     .as<std::string>();
-        std::string sensor_name = config["sensor name"]     .as<std::string>();
-
-        YAML::Node variances    = config["motion variances"];
-        YAML::Node kf_vote      = config["keyframe vote"];
+        YAML::Node variances        = config["motion variances"];
+        YAML::Node kf_vote          = config["keyframe vote"];
 
         IntrinsicsIMUPtr params = std::make_shared<IntrinsicsIMU>();
 
-        params->a_noise     = variances["a_noise"]  .as<Scalar>();
-        params->w_noise      = variances["w_noise"]   .as<Scalar>();
-        params->ab_initial_stdev     = variances["ab_initial_stdev"]     .as<Scalar>();
-        params->wb_initial_stdev     = variances["wb_initial_stdev"]     .as<Scalar>();
-        params->ab_rate_stdev        = variances["ab_rate_stdev"]     .as<Scalar>();
-        params->wb_rate_stdev        = variances["wb_rate_stdev"]     .as<Scalar>();
+        params->a_noise             = variances["a_noise"]          .as<Scalar>();
+        params->w_noise             = variances["w_noise"]          .as<Scalar>();
+        params->ab_initial_stdev    = variances["ab_initial_stdev"] .as<Scalar>();
+        params->wb_initial_stdev    = variances["wb_initial_stdev"] .as<Scalar>();
+        params->ab_rate_stdev       = variances["ab_rate_stdev"]    .as<Scalar>();
+        params->wb_rate_stdev       = variances["wb_rate_stdev"]    .as<Scalar>();
 
         return params;
     }
diff --git a/src/yaml/sensor_camera_yaml.cpp b/src/yaml/sensor_camera_yaml.cpp
index 852adc977..583ecef95 100644
--- a/src/yaml/sensor_camera_yaml.cpp
+++ b/src/yaml/sensor_camera_yaml.cpp
@@ -24,13 +24,12 @@ static IntrinsicsBasePtr createIntrinsicsCamera(const std::string & _filename_do
 {
     YAML::Node camera_config = YAML::LoadFile(_filename_dot_yaml);
 
-    if ("CAMERA") //camera_config["sensor type"])
+    //    if (camera_config["sensor type"].as<std::string>() == "CAMERA") // this does not work: camera YAML files are ROS-styled
+    if (camera_config["camera_matrix"]) // check that at least this field exists to validate YAML file of the correct type
     {
 
         // YAML:: to Eigen::
         using namespace Eigen;
-        std::string sensor_type = "CAMERA"; //camera_config["sensor type"]                  .as<std::string>();
-        std::string sensor_name = camera_config["camera_name"]                      .as<std::string>();
         unsigned int width      = camera_config["image_width"]                      .as<unsigned int>();
         unsigned int height     = camera_config["image_height"]                     .as<unsigned int>();
         VectorXd intrinsic      = camera_config["camera_matrix"]["data"]            .as<VectorXd>();
@@ -38,8 +37,6 @@ static IntrinsicsBasePtr createIntrinsicsCamera(const std::string & _filename_do
 
         // Eigen:: to wolf::
         std::shared_ptr<IntrinsicsCamera> intrinsics_cam = std::make_shared<IntrinsicsCamera>();
-        intrinsics_cam->type = sensor_type;
-        intrinsics_cam->name = sensor_name;
         intrinsics_cam->pinhole_model[0] = intrinsic[2];
         intrinsics_cam->pinhole_model[1] = intrinsic[5];
         intrinsics_cam->pinhole_model[2] = intrinsic[0];
@@ -87,7 +84,7 @@ static IntrinsicsBasePtr createIntrinsicsCamera(const std::string & _filename_do
         return intrinsics_cam;
     }
 
-    std::cout << "Bad configuration file. No sensor type found." << std::endl;
+    std::cout << "Bad configuration file. No or bad sensor type found." << std::endl;
     return nullptr;
 }
 
diff --git a/src/yaml/sensor_laser_2D_yaml.cpp b/src/yaml/sensor_laser_2D_yaml.cpp
index 160386e6e..110c3aa95 100644
--- a/src/yaml/sensor_laser_2D_yaml.cpp
+++ b/src/yaml/sensor_laser_2D_yaml.cpp
@@ -23,9 +23,9 @@ namespace {
 // intrinsics creator
 IntrinsicsBasePtr createIntrinsicsLaser2D(const std::string& _filename_dot_yaml)
 {
-    // TODO: Parse YAML <-- maybe we want this out of this file?
+    // If required: Parse YAML
+
     IntrinsicsLaser2DPtr params; // dummy
-    params->type = "LASER 2D"; // fill this one just for the fun of it
     return params;
 }
 
diff --git a/src/yaml/sensor_odom_3D_yaml.cpp b/src/yaml/sensor_odom_3D_yaml.cpp
index a6012aeef..8d1e391c2 100644
--- a/src/yaml/sensor_odom_3D_yaml.cpp
+++ b/src/yaml/sensor_odom_3D_yaml.cpp
@@ -26,14 +26,7 @@ static IntrinsicsBasePtr createIntrinsicsOdom3D(const std::string & _filename_do
 
     if (config["sensor type"].as<std::string>() == "ODOM 3D")
     {
-
-        // YAML:: to Eigen::
-        using namespace Eigen;
-        std::string sensor_type = config["sensor type"]     .as<std::string>();
-        std::string sensor_name = config["sensor name"]     .as<std::string>();
-
         YAML::Node variances = config["motion variances"];
-        YAML::Node kf_vote = config["keyframe vote"];
 
         IntrinsicsOdom3DPtr params = std::make_shared<IntrinsicsOdom3D>();
 
-- 
GitLab