From 1f53f24b9a7d935350c9cfa8d57629c6fc2f2685 Mon Sep 17 00:00:00 2001
From: asantamaria <asantamaria@iri.upc.edu>
Date: Thu, 17 May 2018 16:17:21 +0200
Subject: [PATCH] FIX old match roi width and height

---
 src/algorithms/activesearch/alg_activesearch.cpp              | 2 +-
 src/algorithms/trackfeatures/alg_trackfeatures.cpp            | 2 +-
 src/algorithms/trackfeatures/alg_trackfeatures.h              | 4 +++-
 src/algorithms/trackfeatures/alg_trackfeatures_load_yaml.cpp  | 3 +++
 src/examples/yaml/ACTIVESEARCH.yaml                           | 3 ---
 src/examples/yaml/BRUTEFORCE.yaml                             | 4 ----
 src/examples/yaml/BRUTEFORCE_HAMMING.yaml                     | 3 ---
 src/examples/yaml/BRUTEFORCE_HAMMING_2.yaml                   | 3 ---
 src/examples/yaml/BRUTEFORCE_L1.yaml                          | 3 ---
 src/examples/yaml/TRACKFEATURES.yaml                          | 3 ---
 src/matchers/bruteforce/matcher_bruteforce_load_yaml.cpp      | 4 ----
 .../matcher_bruteforce_hamming_load_yaml.cpp                  | 4 ----
 .../matcher_bruteforce_hamming_2_load_yaml.cpp                | 4 ----
 .../bruteforce_l1/matcher_bruteforce_l1_load_yaml.cpp         | 4 ----
 src/matchers/flannbased/matcher_flannbased_load_yaml.cpp      | 4 ----
 src/matchers/matcher_base.h                                   | 2 --
 src/test/data/ACTIVESEARCH.yaml                               | 3 ---
 src/test/data/BRUTEFORCE.yaml                                 | 3 ---
 src/test/data/BRUTEFORCE_HAMMING.yaml                         | 3 ---
 src/test/data/BRUTEFORCE_HAMMING_2.yaml                       | 3 ---
 src/test/data/BRUTEFORCE_L1.yaml                              | 3 ---
 src/test/data/TRACKFEATURES.yaml                              | 3 ---
 src/test/data/base_classes.yaml                               | 3 ---
 23 files changed, 8 insertions(+), 65 deletions(-)

diff --git a/src/algorithms/activesearch/alg_activesearch.cpp b/src/algorithms/activesearch/alg_activesearch.cpp
index 80ca5a6..243d15e 100644
--- a/src/algorithms/activesearch/alg_activesearch.cpp
+++ b/src/algorithms/activesearch/alg_activesearch.cpp
@@ -242,7 +242,7 @@ void AlgorithmACTIVESEARCH::trackFrame(const FramePtr& _frame_old, FramePtr& _tr
 		hitCell(target_feature[ii]);
 
 		// Set ROI
-		cv::Rect roi = setRoi(target_feature[ii].pt.x,target_feature[ii].pt.y, _mat_ptr->getParams()->roi_width, _mat_ptr->getParams()->roi_height);
+		cv::Rect roi = setRoi(target_feature[ii].pt.x,target_feature[ii].pt.y, cell_size_(0), cell_size_(1));
 
 //        // draw ROI
 //		if (params_ptr_->draw_results)
diff --git a/src/algorithms/trackfeatures/alg_trackfeatures.cpp b/src/algorithms/trackfeatures/alg_trackfeatures.cpp
index aefc578..add44d8 100644
--- a/src/algorithms/trackfeatures/alg_trackfeatures.cpp
+++ b/src/algorithms/trackfeatures/alg_trackfeatures.cpp
@@ -96,7 +96,7 @@ void AlgorithmTRACKFEATURES::trackFrame(const FramePtr& _frame_old, FramePtr& _t
 	for(int ii = 1; ii < target_kps.size(); ++ii)
     {
         // Set a candidate ROI around the target feature
-		cv::Rect roi = setRoi(target_kps[ii].pt.x, target_kps[ii].pt.y, _mat_ptr->getParams()->roi_width, _mat_ptr->getParams()->roi_width);
+		cv::Rect roi = setRoi(target_kps[ii].pt.x, target_kps[ii].pt.y, params_ptr_->target_roi_height, params_ptr_->target_roi_width);
 
 //        // draw ROI
 //       	if (params_ptr_->draw_results)
diff --git a/src/algorithms/trackfeatures/alg_trackfeatures.h b/src/algorithms/trackfeatures/alg_trackfeatures.h
index 334bbe5..477e3b7 100644
--- a/src/algorithms/trackfeatures/alg_trackfeatures.h
+++ b/src/algorithms/trackfeatures/alg_trackfeatures.h
@@ -21,7 +21,9 @@ VU_STRUCT_PTR_TYPEDEFS(AlgorithmParamsTRACKFEATURES);
  */
 struct AlgorithmParamsTRACKFEATURES: public AlgorithmParamsBase
 {
-	int min_feat_track;				// Minimum features to track. With less than this number a new detection is called.
+	int min_feat_track;	   // Minimum features to track. With less than this number a new detection is called.
+	int target_roi_width;  // ROI width to search for a target match
+	int target_roi_height; // ROI width to search for a target match
 	~AlgorithmParamsTRACKFEATURES(){}
 };
 
diff --git a/src/algorithms/trackfeatures/alg_trackfeatures_load_yaml.cpp b/src/algorithms/trackfeatures/alg_trackfeatures_load_yaml.cpp
index ab2b832..dc6315e 100644
--- a/src/algorithms/trackfeatures/alg_trackfeatures_load_yaml.cpp
+++ b/src/algorithms/trackfeatures/alg_trackfeatures_load_yaml.cpp
@@ -25,6 +25,9 @@ static ParamsBasePtr createParamsTRACKFEATURESAlgorithm(const std::string & _fil
         {
         	params_ptr->draw_results = d_yaml["draw results"].as<bool>();
         	params_ptr->min_feat_track = d_yaml["min features to track"].as<int>();
+        	Node troi_yaml = yaml_params["target roi"];
+        	params_ptr->target_roi_width = troi_yaml["width"].as<int>();
+        	params_ptr->target_roi_width = troi_yaml["height"].as<int>();
         }else
         {
             std::cerr << "Bad configuration file. Wrong type " << d_yaml["type"].as<string>() << std::endl;
diff --git a/src/examples/yaml/ACTIVESEARCH.yaml b/src/examples/yaml/ACTIVESEARCH.yaml
index 4ff33b3..1f6a692 100644
--- a/src/examples/yaml/ACTIVESEARCH.yaml
+++ b/src/examples/yaml/ACTIVESEARCH.yaml
@@ -26,9 +26,6 @@ descriptor:
 matcher:
   type: "FLANNBASED"
   match type: 1     #  Match type. MATCH = 1, KNNMATCH = 2, RADIUSMATCH = 3
-  roi:
-    width: 20
-    height: 20
   min normalized score: 0.85 
     
 algorithm:
diff --git a/src/examples/yaml/BRUTEFORCE.yaml b/src/examples/yaml/BRUTEFORCE.yaml
index e438cc9..5edfa46 100644
--- a/src/examples/yaml/BRUTEFORCE.yaml
+++ b/src/examples/yaml/BRUTEFORCE.yaml
@@ -3,7 +3,3 @@ sensor:
   
 matcher:
   type: "BRUTEFORCE"
-  match type: 1     #  Match type. MATCH = 1, KNNMATCH = 2, RADIUSMATCH = 3
-  roi:
-    width: 20
-    height: 20    
\ No newline at end of file
diff --git a/src/examples/yaml/BRUTEFORCE_HAMMING.yaml b/src/examples/yaml/BRUTEFORCE_HAMMING.yaml
index c4531d2..42e63bc 100644
--- a/src/examples/yaml/BRUTEFORCE_HAMMING.yaml
+++ b/src/examples/yaml/BRUTEFORCE_HAMMING.yaml
@@ -4,6 +4,3 @@ sensor:
 matcher:
   type: "BRUTEFORCE_HAMMING"
   match type: 1     #  Match type. MATCH = 1, KNNMATCH = 2, RADIUSMATCH = 3
-  roi:
-    width: 20
-    height: 20  
\ No newline at end of file
diff --git a/src/examples/yaml/BRUTEFORCE_HAMMING_2.yaml b/src/examples/yaml/BRUTEFORCE_HAMMING_2.yaml
index 4f7bbef..fb95ed6 100644
--- a/src/examples/yaml/BRUTEFORCE_HAMMING_2.yaml
+++ b/src/examples/yaml/BRUTEFORCE_HAMMING_2.yaml
@@ -4,6 +4,3 @@ sensor:
 matcher:
   type: "BRUTEFORCE_HAMMING_2"
   match type: 1     #  Match type. MATCH = 1, KNNMATCH = 2, RADIUSMATCH = 3
-  roi:
-    width: 20
-    height: 20  
\ No newline at end of file
diff --git a/src/examples/yaml/BRUTEFORCE_L1.yaml b/src/examples/yaml/BRUTEFORCE_L1.yaml
index ae97d2d..73ebe11 100644
--- a/src/examples/yaml/BRUTEFORCE_L1.yaml
+++ b/src/examples/yaml/BRUTEFORCE_L1.yaml
@@ -4,6 +4,3 @@ sensor:
 matcher:
   type: "BRUTEFORCE_L1"
   match type: 1     #  Match type. MATCH = 1, KNNMATCH = 2, RADIUSMATCH = 3
-  roi:
-    width: 20
-    height: 20    
\ No newline at end of file
diff --git a/src/examples/yaml/TRACKFEATURES.yaml b/src/examples/yaml/TRACKFEATURES.yaml
index 6d2802e..378bf04 100644
--- a/src/examples/yaml/TRACKFEATURES.yaml
+++ b/src/examples/yaml/TRACKFEATURES.yaml
@@ -23,9 +23,6 @@ descriptor:
 matcher:
   type: "FLANNBASED"
   match type: 1     #  Match type. MATCH = 1, KNNMATCH = 2, RADIUSMATCH = 3
-  roi:
-    width: 20
-    height: 20  
   min normalized score: 0.85  
 
 algorithm:
diff --git a/src/matchers/bruteforce/matcher_bruteforce_load_yaml.cpp b/src/matchers/bruteforce/matcher_bruteforce_load_yaml.cpp
index 3b4dfc0..3dd4bd1 100644
--- a/src/matchers/bruteforce/matcher_bruteforce_load_yaml.cpp
+++ b/src/matchers/bruteforce/matcher_bruteforce_load_yaml.cpp
@@ -27,10 +27,6 @@ static ParamsBasePtr createParamsBRUTEFORCEMatcher(const std::string & _filename
                 params_ptr->match_type  = d_yaml["match type"].as<int>();
             if (d_yaml["min normalized score"])
                 params_ptr->min_norm_score = d_yaml["min normalized score"].as<double>();
-            if (d_yaml["roi"]["width"])
-                params_ptr->roi_width   = d_yaml["roi"]["width"].as<unsigned int>();
-            if (d_yaml["roi"]["height"])
-                params_ptr->roi_height  = d_yaml["roi"]["height"].as<unsigned int>();
         }else
         {
             std::cerr << "Bad configuration file. Wrong type " << d_yaml["type"].as<string>() << std::endl;
diff --git a/src/matchers/bruteforce_hamming/matcher_bruteforce_hamming_load_yaml.cpp b/src/matchers/bruteforce_hamming/matcher_bruteforce_hamming_load_yaml.cpp
index 002b3bd..09184f6 100644
--- a/src/matchers/bruteforce_hamming/matcher_bruteforce_hamming_load_yaml.cpp
+++ b/src/matchers/bruteforce_hamming/matcher_bruteforce_hamming_load_yaml.cpp
@@ -27,10 +27,6 @@ static ParamsBasePtr createParamsBRUTEFORCE_HAMMINGMatcher(const std::string & _
                 params_ptr->match_type  = d_yaml["match type"].as<int>();
             if (d_yaml["min normalized score"])
                 params_ptr->min_norm_score = d_yaml["min normalized score"].as<double>();
-            if (d_yaml["roi"]["width"])
-                params_ptr->roi_width   = d_yaml["roi"]["width"].as<unsigned int>();
-            if (d_yaml["roi"]["height"])
-                params_ptr->roi_height  = d_yaml["roi"]["height"].as<unsigned int>();
         }else
         {
             std::cerr << "Bad configuration file. Wrong type " << d_yaml["type"].as<string>() << std::endl;
diff --git a/src/matchers/bruteforce_hamming_2/matcher_bruteforce_hamming_2_load_yaml.cpp b/src/matchers/bruteforce_hamming_2/matcher_bruteforce_hamming_2_load_yaml.cpp
index 0d8c913..72fd5e9 100644
--- a/src/matchers/bruteforce_hamming_2/matcher_bruteforce_hamming_2_load_yaml.cpp
+++ b/src/matchers/bruteforce_hamming_2/matcher_bruteforce_hamming_2_load_yaml.cpp
@@ -27,10 +27,6 @@ static ParamsBasePtr createParamsBRUTEFORCE_HAMMING_2Matcher(const std::string &
                 params_ptr->match_type  = d_yaml["match type"].as<int>();
             if (d_yaml["min normalized score"])
                 params_ptr->min_norm_score = d_yaml["min normalized score"].as<double>();
-            if (d_yaml["roi"]["width"])
-                params_ptr->roi_width   = d_yaml["roi"]["width"].as<unsigned int>();
-            if (d_yaml["roi"]["height"])
-                params_ptr->roi_height  = d_yaml["roi"]["height"].as<unsigned int>();
         }else
         {
             std::cerr << "Bad configuration file. Wrong type " << d_yaml["type"].as<string>() << std::endl;
diff --git a/src/matchers/bruteforce_l1/matcher_bruteforce_l1_load_yaml.cpp b/src/matchers/bruteforce_l1/matcher_bruteforce_l1_load_yaml.cpp
index bd10edb..6786d77 100644
--- a/src/matchers/bruteforce_l1/matcher_bruteforce_l1_load_yaml.cpp
+++ b/src/matchers/bruteforce_l1/matcher_bruteforce_l1_load_yaml.cpp
@@ -27,10 +27,6 @@ static ParamsBasePtr createParamsBRUTEFORCE_L1Matcher(const std::string & _filen
                 params_ptr->match_type  = d_yaml["match type"].as<int>();
             if (d_yaml["min normalized score"])
                 params_ptr->min_norm_score = d_yaml["min normalized score"].as<double>();
-            if (d_yaml["roi"]["width"])
-                params_ptr->roi_width   = d_yaml["roi"]["width"].as<unsigned int>();
-            if (d_yaml["roi"]["height"])
-                params_ptr->roi_height  = d_yaml["roi"]["height"].as<unsigned int>();
         }else
         {
             std::cerr << "Bad configuration file. Wrong type " << d_yaml["type"].as<string>() << std::endl;
diff --git a/src/matchers/flannbased/matcher_flannbased_load_yaml.cpp b/src/matchers/flannbased/matcher_flannbased_load_yaml.cpp
index 1c6f8dd..1b06f3d 100644
--- a/src/matchers/flannbased/matcher_flannbased_load_yaml.cpp
+++ b/src/matchers/flannbased/matcher_flannbased_load_yaml.cpp
@@ -27,10 +27,6 @@ static ParamsBasePtr createParamsFLANNBASEDMatcher(const std::string & _filename
                 params_ptr->match_type	= d_yaml["match type"].as<int>();
             if (d_yaml["min normalized score"])
                 params_ptr->min_norm_score = d_yaml["min normalized score"].as<double>();
-        	if (d_yaml["roi"]["width"])
-        	    params_ptr->roi_width   = d_yaml["roi"]["width"].as<unsigned int>();
-        	if (d_yaml["roi"]["height"])
-        	    params_ptr->roi_height  = d_yaml["roi"]["height"].as<unsigned int>();
         }else
         {
             std::cerr << "Bad configuration file. Wrong type " << d_yaml["type"].as<string>() << std::endl;
diff --git a/src/matchers/matcher_base.h b/src/matchers/matcher_base.h
index ca30b60..39c7350 100644
--- a/src/matchers/matcher_base.h
+++ b/src/matchers/matcher_base.h
@@ -37,8 +37,6 @@ struct MatcherParamsBase: public ParamsBase
 {
         std::string type;
         int match_type = MATCH; 		// Type of Match. MATCH = 1, KNNMATCH = 2, RADIUSMATCH = 3
-        int roi_width = 20;				// ROI width around a keypoint to search for a match.
-        int roi_height = 20;			// ROI height around a keypoint to search for a match.
         double min_norm_score;    		//< [-1..0]: awful match; 1: perfect match; out of [-1,1]: error
         MatcherParamsBase(const std::string& _type): type(_type){}
         virtual ~MatcherParamsBase(){}
diff --git a/src/test/data/ACTIVESEARCH.yaml b/src/test/data/ACTIVESEARCH.yaml
index 8a4ba93..04333b0 100644
--- a/src/test/data/ACTIVESEARCH.yaml
+++ b/src/test/data/ACTIVESEARCH.yaml
@@ -26,9 +26,6 @@ descriptor:
 matcher:
   type: "FLANNBASED"
   match type: 1     #  Match type. MATCH = 1, KNNMATCH = 2, RADIUSMATCH = 3
-  roi:
-    width: 20
-    height: 20
   min normalized score: 0.85 
       
 algorithm:
diff --git a/src/test/data/BRUTEFORCE.yaml b/src/test/data/BRUTEFORCE.yaml
index 45e9e5f..3af86a3 100644
--- a/src/test/data/BRUTEFORCE.yaml
+++ b/src/test/data/BRUTEFORCE.yaml
@@ -3,6 +3,3 @@ sensor:
 matcher:
   type: "BRUTEFORCE"
   match type: 1     #  Match type. MATCH = 1, KNNMATCH = 2, RADIUSMATCH = 3
-  roi:
-    width: 20
-    height: 20  
\ No newline at end of file
diff --git a/src/test/data/BRUTEFORCE_HAMMING.yaml b/src/test/data/BRUTEFORCE_HAMMING.yaml
index f3f90f6..081dd31 100644
--- a/src/test/data/BRUTEFORCE_HAMMING.yaml
+++ b/src/test/data/BRUTEFORCE_HAMMING.yaml
@@ -3,6 +3,3 @@ sensor:
 matcher:
   type: "BRUTEFORCE_HAMMING"
   match type: 1     #  Match type. MATCH = 1, KNNMATCH = 2, RADIUSMATCH = 3
-  roi:
-    width: 20
-    height: 20  
\ No newline at end of file
diff --git a/src/test/data/BRUTEFORCE_HAMMING_2.yaml b/src/test/data/BRUTEFORCE_HAMMING_2.yaml
index 6b18c84..0da3073 100644
--- a/src/test/data/BRUTEFORCE_HAMMING_2.yaml
+++ b/src/test/data/BRUTEFORCE_HAMMING_2.yaml
@@ -3,6 +3,3 @@ sensor:
 matcher:
   type: "BRUTEFORCE_HAMMING_2"
   match type: 1     #  Match type. MATCH = 1, KNNMATCH = 2, RADIUSMATCH = 3
-  roi:
-    width: 20
-    height: 20
\ No newline at end of file
diff --git a/src/test/data/BRUTEFORCE_L1.yaml b/src/test/data/BRUTEFORCE_L1.yaml
index 383b75b..128fcf4 100644
--- a/src/test/data/BRUTEFORCE_L1.yaml
+++ b/src/test/data/BRUTEFORCE_L1.yaml
@@ -3,6 +3,3 @@ sensor:
 matcher:
   type: "BRUTEFORCE_L1"
   match type: 1     #  Match type. MATCH = 1, KNNMATCH = 2, RADIUSMATCH = 3
-  roi:
-    width: 20
-    height: 20  
\ No newline at end of file
diff --git a/src/test/data/TRACKFEATURES.yaml b/src/test/data/TRACKFEATURES.yaml
index 4742d0e..43d5a68 100644
--- a/src/test/data/TRACKFEATURES.yaml
+++ b/src/test/data/TRACKFEATURES.yaml
@@ -23,9 +23,6 @@ descriptor:
 matcher:
   type: "FLANNBASED"
   match type: 1     #  Match type. MATCH = 1, KNNMATCH = 2, RADIUSMATCH = 3
-  roi:
-    width: 20
-    height: 20
   min normalized score: 0.85     
       
 algorithm:
diff --git a/src/test/data/base_classes.yaml b/src/test/data/base_classes.yaml
index ad1fecc..9f8fabd 100644
--- a/src/test/data/base_classes.yaml
+++ b/src/test/data/base_classes.yaml
@@ -26,9 +26,6 @@ descriptor:
 matcher:
   type: "BRUTEFORCE"
   match type: 1     #  Match type. MATCH = 1, KNNMATCH = 2, RADIUSMATCH = 3
-  roi:
-    width: 20
-    height: 20
   min normalized score: 0.85
       
 algorithm:
-- 
GitLab