Skip to content
Snippets Groups Projects
Commit 8c173a88 authored by Sergi Pujol's avatar Sergi Pujol
Browse files

modified loopClosureFalko constructor

parent 0656f5e6
No related branches found
No related tags found
1 merge request!4Resolve "Implementation of Falko lib"
......@@ -28,12 +28,17 @@
namespace laserscanutils
{
template <typename D>
struct cornerScene{
std::vector<falkolib::FALKO> keypointsList;
std::vector<D> descriptorsList;
};
typedef std::shared_ptr<cornerScene<falkolib::BSC>> cornerSceneBSCPtr;
} /* namespace laserscanutils */
#endif /* CORNER_SCENE_H_ */
......@@ -10,8 +10,13 @@
namespace laserscanutils{
//CONSTRUCTOR
template <typename D,typename E, typename M>
loopClosureFalko<D,E, M>::loopClosureFalko(){
template <typename D,typename Extr, typename M>
loopClosureFalko<D,Extr, M>::loopClosureFalko(int _circularSectorNumber, int _radialRingNumber) :
loopClosureBase2d(),
falkolib::FALKOExtractor(),
extractor_(_circularSectorNumber, _radialRingNumber),
matcher_()
{
// FALKO Extractor Parameters
setMinExtractionRange(0.1);
setMaxExtractionRange(25);
......@@ -28,15 +33,21 @@ namespace laserscanutils{
// DESTRUCTOR
template <typename D,typename E, typename M>
loopClosureFalko<D,E,M>::~loopClosureFalko(){}
template <typename D,typename Extr, typename M>
loopClosureFalko<D,Extr,M>::~loopClosureFalko(){}
template <typename D,typename E, typename M>
std::shared_ptr<cornerScene<D>> loopClosureFalko<D,E, M>::extractScene(LaserScan &scan,LaserScanParams &scanParams){
template <typename D,typename Extr, typename M>
std::shared_ptr<cornerScene<D>> loopClosureFalko<D,Extr, M>::extractScene(LaserScan &scan,LaserScanParams &scanParams){
auto newScene=std::make_shared<cornerScene<D>>();
auto scanFALKO =loopClosureFalko<D,E,M>::convert2LaserScanFALKO(scan, scanParams);
auto scanFALKO =loopClosureFalko<D,Extr,M>::convert2LaserScanFALKO(scan, scanParams);
// Extract keypoints
extract((*scanFALKO), ((*newScene).keypointsList));
extract((*scanFALKO), (newScene->keypointsList));
// Compute descriptors
//loopClosureFalko<D,Extr,M>::extractor:
extractor_.compute(*scanFALKO,newScene->keypointsList, newScene->descriptorsList);
//extractor.compute((*scanFALKO),((*newScene).keypointsList), ((*newScene).descriptorsList));
//loopClosureFalko<D,Extr,M>::extractor::compute((*scanFALKO),((*newScene).keypointsList), ((*newScene).descriptorsList));
return newScene;
}
......
......@@ -44,14 +44,18 @@ typedef falkolib::NNMatcher<falkolib::FALKO> NNMatcher;
/** \brief A base class for loop closure using falko library
**/
template <typename D, typename E, typename M>
template <typename D, typename Extr, typename M>
class loopClosureFalko : public loopClosureBase2d, public falkolib::FALKOExtractor{
private:
public:
Extr extractor_;
M matcher_;
int test=1;
/** \brief Constructor
**/
loopClosureFalko();
loopClosureFalko(int _circularSectorNumber=16, int _radialRingNumber=8);
/** \brief Destructor
**/
......@@ -65,8 +69,7 @@ public:
**/
std::shared_ptr<cornerScene<D>> extractScene(LaserScan &scan,LaserScanParams &scanParams);
//E extractor;
//M matcher;
};
} /* namespace laserscanutils */
......
......@@ -7,7 +7,7 @@
using namespace laserscanutils;
TEST(loop_closure_fako, extractScene)
TEST(loop_closure_falko, extractScene)
{
int scanSize = 1440;
......@@ -27,12 +27,12 @@ TEST(loop_closure_fako, extractScene)
int detectedKeypoints =((*newScene).keypointsList).size();
EXPECT_FALSE(false);
ASSERT_TRUE(true);
int detectedDescriptors =newScene->descriptorsList.size();
ASSERT_EQ(detectedKeypoints, 18);
ASSERT_EQ(detectedDescriptors, 18);
// PRINTF("All good at TestTest::DummyTestExample !\n");
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment