47 #ifndef _vpXmlConfigParserKeyPoint_h_
48 #define _vpXmlConfigParserKeyPoint_h_
50 #include <visp3/core/vpConfig.h>
57 #include <libxml/xmlmemory.h>
59 #include <visp3/core/vpXmlParser.h>
82 constant_factor_distance_threshold,
85 std_distance_threshold,
87 ratio_distance_threshold,
89 std_and_ratio_distance_threshold,
94 matching_factor_threshold,
96 matching_ratio_threshold,
100 use_ransac_consensus_percentage,
103 nb_ransac_iterations,
105 ransac_reprojection_error,
107 nb_ransac_min_inlier_count,
111 ransac_consensus_percentage
119 stdDistanceThreshold,
121 ratioDistanceThreshold,
125 } vpMatchingMethodEnum;
129 std::string m_detectorName;
131 std::string m_extractorName;
133 std::string m_matcherName;
135 double m_matchingFactorThreshold;
137 vpMatchingMethodEnum m_matchingMethod;
139 double m_matchingRatioThreshold;
141 int m_nbRansacIterations;
143 int m_nbRansacMinInlierCount;
145 double m_ransacConsensusPercentage;
148 double m_ransacReprojectionError;
151 double m_ransacThreshold;
155 bool m_useRansacConsensusPercentage;
170 inline std::string getDetectorName()
const {
return m_detectorName; }
177 inline std::string getExtractorName()
const {
return m_extractorName; }
183 inline std::string getMatcherName()
const {
return m_matcherName; }
190 inline double getMatchingFactorThreshold()
const {
return m_matchingFactorThreshold; }
197 inline vpMatchingMethodEnum getMatchingMethod()
const {
return m_matchingMethod; }
204 inline double getMatchingRatioThreshold()
const {
return m_matchingRatioThreshold; }
211 inline int getNbRansacIterations()
const {
return m_nbRansacIterations; }
218 inline int getNbRansacMinInlierCount()
const {
return m_nbRansacMinInlierCount; }
225 inline double getRansacConsensusPercentage()
const {
return m_ransacConsensusPercentage; }
233 inline double getRansacReprojectionError()
const {
return m_ransacReprojectionError; }
240 inline double getRansacThreshold()
const {
return m_ransacThreshold; }
248 inline bool getUseRansacConsensusPercentage()
const {
return m_useRansacConsensusPercentage; }
256 inline bool getUseRansacVVSPoseEstimation()
const {
return m_useRansacVVS; }
263 void parse(
const std::string &filename);
267 void read_detector(xmlDocPtr doc, xmlNodePtr node);
268 void read_extractor(xmlDocPtr doc, xmlNodePtr node);
269 void read_matcher(xmlDocPtr doc, xmlNodePtr node);
271 void read_ransac(xmlDocPtr doc, xmlNodePtr node);
274 #endif // VISP_HAVE_XML2