diff --git a/src/matchers/bruteforce/matcher_bruteforce_load_yaml.cpp b/src/matchers/bruteforce/matcher_bruteforce_load_yaml.cpp index 994843b1326ddc559656d15804f1c60565ddc9d6..3b4dfc040e920cef97670cb5ea6d5f991cf3717b 100644 --- a/src/matchers/bruteforce/matcher_bruteforce_load_yaml.cpp +++ b/src/matchers/bruteforce/matcher_bruteforce_load_yaml.cpp @@ -21,13 +21,16 @@ static ParamsBasePtr createParamsBRUTEFORCEMatcher(const std::string & _filename if (!yaml_params.IsNull()) { Node d_yaml = yaml_params["matcher"]; - if(d_yaml["type"].as<string>() == "BRUTEFORCE") { - params_ptr->match_type = d_yaml["match type"].as<int>(); - params_ptr->roi_width = d_yaml["roi"]["width"].as<unsigned int>(); - params_ptr->roi_height = d_yaml["roi"]["height"].as<unsigned int>(); - params_ptr->min_norm_score = d_yaml["min normalized score"].as<double>(); + if (d_yaml["match type"]) + 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 3b59654239a52ce0a5153d045ad596fd63485010..002b3bde11080991cd812a556ababffeeb69ff37 100644 --- a/src/matchers/bruteforce_hamming/matcher_bruteforce_hamming_load_yaml.cpp +++ b/src/matchers/bruteforce_hamming/matcher_bruteforce_hamming_load_yaml.cpp @@ -23,10 +23,14 @@ static ParamsBasePtr createParamsBRUTEFORCE_HAMMINGMatcher(const std::string & _ Node d_yaml = yaml_params["matcher"]; if(d_yaml["type"].as<string>() == "BRUTEFORCE_HAMMING") { - params_ptr->match_type = d_yaml["match type"].as<int>(); - params_ptr->roi_width = d_yaml["roi"]["width"].as<unsigned int>(); - params_ptr->roi_height = d_yaml["roi"]["height"].as<unsigned int>(); - params_ptr->min_norm_score = d_yaml["min normalized score"].as<double>(); + if (d_yaml["match type"]) + 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 a5b878f04bc6bba3b59cd840b7332cbdcbae01dc..0d8c913c6d5ecfe18e6768c0e0cea0bf0dedba25 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 @@ -23,10 +23,14 @@ static ParamsBasePtr createParamsBRUTEFORCE_HAMMING_2Matcher(const std::string & Node d_yaml = yaml_params["matcher"]; if(d_yaml["type"].as<string>() == "BRUTEFORCE_HAMMING_2") { - params_ptr->match_type = d_yaml["match type"].as<int>(); - params_ptr->roi_width = d_yaml["roi"]["width"].as<unsigned int>(); - params_ptr->roi_height = d_yaml["roi"]["height"].as<unsigned int>(); - params_ptr->min_norm_score = d_yaml["min normalized score"].as<double>(); + if (d_yaml["match type"]) + 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 8d8b5576aa6a9cdc2ed1e1f47a230671e1f12f9e..bd10edb030611e926a957d632dfe2a0718bf8be4 100644 --- a/src/matchers/bruteforce_l1/matcher_bruteforce_l1_load_yaml.cpp +++ b/src/matchers/bruteforce_l1/matcher_bruteforce_l1_load_yaml.cpp @@ -23,10 +23,14 @@ static ParamsBasePtr createParamsBRUTEFORCE_L1Matcher(const std::string & _filen Node d_yaml = yaml_params["matcher"]; if(d_yaml["type"].as<string>() == "BRUTEFORCE_L1") { - params_ptr->match_type = d_yaml["match type"].as<int>(); - params_ptr->roi_width = d_yaml["roi"]["width"].as<unsigned int>(); - params_ptr->roi_height = d_yaml["roi"]["height"].as<unsigned int>(); - params_ptr->min_norm_score = d_yaml["min normalized score"].as<double>(); + if (d_yaml["match type"]) + 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 d17c0482b79bee6fe53aafbd7a863dfa6f209986..1c6f8dd3d038c9c5eca01d3d24610cfdd80deccf 100644 --- a/src/matchers/flannbased/matcher_flannbased_load_yaml.cpp +++ b/src/matchers/flannbased/matcher_flannbased_load_yaml.cpp @@ -23,10 +23,14 @@ static ParamsBasePtr createParamsFLANNBASEDMatcher(const std::string & _filename Node d_yaml = yaml_params["matcher"]; if(d_yaml["type"].as<string>() == "FLANNBASED") { - params_ptr->match_type = d_yaml["match type"].as<int>(); - params_ptr->roi_width = d_yaml["roi"]["width"].as<unsigned int>(); - params_ptr->roi_height = d_yaml["roi"]["height"].as<unsigned int>(); - params_ptr->min_norm_score = d_yaml["min normalized score"].as<double>(); + if (d_yaml["match type"]) + 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;