From 9dd985c28657d501761914a6a8476332fb42f712 Mon Sep 17 00:00:00 2001 From: Arnau Ramisa Ayats <aramisa@iri.upc.edu> Date: Tue, 22 Apr 2014 11:00:55 +0000 Subject: [PATCH] fixes --- examples/xyz_centers13.txt | 13 +++++++++++++ src/CMakeLists.txt | 2 ++ src/finddd_descriptor.cpp | 1 - src/finddd_descriptor.hpp | 34 +++++++++++++++++++--------------- 4 files changed, 34 insertions(+), 16 deletions(-) create mode 100644 examples/xyz_centers13.txt diff --git a/examples/xyz_centers13.txt b/examples/xyz_centers13.txt new file mode 100644 index 0000000..26df025 --- /dev/null +++ b/examples/xyz_centers13.txt @@ -0,0 +1,13 @@ +-1.000000 -0.000000 -0.000000 +-0.707107 -0.707107 -0.000000 +-0.707107 -0.000000 -0.707107 +-0.707107 0.707107 0.000000 +-0.000000 -1.000000 -0.000000 +-0.000000 -0.707107 -0.707107 +-0.000000 -0.000000 -1.000000 +0.000000 0.707107 -0.707107 +0.000000 1.000000 0.000000 +0.707107 -0.707107 0.000000 +0.707107 0.000000 -0.707107 +0.707107 0.707107 0.000000 +1.000000 0.000000 0.000000 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 664c569..567fc3f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -8,6 +8,8 @@ include_directories(${PCL_INCLUDE_DIRS}) link_directories(${PCL_LIBRARY_DIRS}) add_definitions(${PCL_DEFINITIONS}) +SET(CMAKE_BUILD_TYPE "RELEASE") + # add the necessary include directories INCLUDE_DIRECTORIES(.) # application source files diff --git a/src/finddd_descriptor.cpp b/src/finddd_descriptor.cpp index eedbcfd..c4a52d7 100755 --- a/src/finddd_descriptor.cpp +++ b/src/finddd_descriptor.cpp @@ -279,7 +279,6 @@ FindddAlgorithm::FindddAlgorithm(FindddConfig new_cfg) // Main function to compute FINDDD descriptors void FindddAlgorithm::compute_ndescs_integral_spatial_interpolation(pcl::PointCloud<pcl::PointXYZ>& cloud, DescriptorSet &descriptor_set) { - clock_t start=clock(); if(this->verbose_level_>=2) { diff --git a/src/finddd_descriptor.hpp b/src/finddd_descriptor.hpp index ee4e2a8..258522b 100644 --- a/src/finddd_descriptor.hpp +++ b/src/finddd_descriptor.hpp @@ -306,42 +306,46 @@ protected: float num; getline(ifs, line); std::istringstream iss(line); + int i=0; do { iss >> num; this->pca_mean_.push_back(num); - }while(iss); + }while(!iss.eof()); } int dout=0; while (ifs.good()) { float num; - this->pca_matrix_.push_back(std::vector<float>()); getline(ifs, line); - std::istringstream iss(line); - do + //line.erase(line.find_last_not_of(" \n\r\t")+1); + if(line.size()>0) { - iss >> num; - this->pca_matrix_.back().push_back(num); - }while(iss); - if(dout==0) dout=this->pca_matrix_.back().size(); - else if(dout!=this->pca_matrix_.back().size()) - { - if(this->verbose_level_>=1) - std::cout<<"Not consistent PCA data."<<std::endl; - exit(-1); + this->pca_matrix_.push_back(std::vector<float>()); + std::istringstream iss(line); + do + { + iss >> num; + this->pca_matrix_.back().push_back(num); + }while(!iss.eof()); + if(dout==0) dout=this->pca_matrix_.back().size(); + else if(dout!=this->pca_matrix_.back().size()) + { + if(this->verbose_level_>=1) + std::cout<<"Not consistent PCA data. Previous PCA matrix row width: "<<dout<<". Current PCA matrix row width: "<<this->pca_matrix_.back().size()<<std::endl; + exit(-1); + } } } if(this->pca_mean_.size() != this->pca_matrix_.size()) { if (this->verbose_level_>=1) - std::cout<<"Not consistent PCA data."<<std::endl; + std::cout<<"Not consistent PCA data: mean vector size: "<<this->pca_mean_.size()<<" PCA matrix size: "<<this->pca_matrix_.size()<<"x"<<pca_matrix_[0].size()<<std::endl; exit(-1); } //matrix correctly loaded, transposing for ease of use later std::vector< std::vector<float> > PCA_t; PCA_t.resize(this->pca_matrix_[0].size(), std::vector<float>(this->pca_matrix_.size())); - for(int i=0;i<this->pca_matrix_[0].size();i++) for(int j=0;j<this->pca_matrix_.size();j++) { -- GitLab