summaryrefslogtreecommitdiff
path: root/src/Subsampling/test
diff options
context:
space:
mode:
authorcjamin <cjamin@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2016-05-31 16:09:46 +0000
committercjamin <cjamin@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2016-05-31 16:09:46 +0000
commitbb56631552ff8cf431d2286470223f7394cb2846 (patch)
treebf45bcc0cc2d4813fb5c59f6e0c44fb7a72e267a /src/Subsampling/test
parent29cf10daf5e6f2674ccb1491716754a4e5f98cc2 (diff)
Farthest points (from Siargey)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/subsampling_and_spatialsearching@1230 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: 3093bfd41948fecf5f6ccb2d1d77546c12e628f4
Diffstat (limited to 'src/Subsampling/test')
-rw-r--r--src/Subsampling/test/CMakeLists.txt22
-rw-r--r--src/Subsampling/test/landmarking.cpp47
2 files changed, 69 insertions, 0 deletions
diff --git a/src/Subsampling/test/CMakeLists.txt b/src/Subsampling/test/CMakeLists.txt
new file mode 100644
index 00000000..3a45c685
--- /dev/null
+++ b/src/Subsampling/test/CMakeLists.txt
@@ -0,0 +1,22 @@
+cmake_minimum_required(VERSION 2.6)
+project(GUDHILandmarkingTest)
+
+# Landmarking test
+if(CGAL_FOUND)
+ if (NOT CGAL_VERSION VERSION_LESS 4.8.0)
+ message(STATUS "CGAL version: ${CGAL_VERSION}.")
+
+ find_package(Eigen3 3.1.0)
+ if (EIGEN3_FOUND)
+ message(STATUS "Eigen3 version: ${EIGEN3_VERSION}.")
+ include( ${EIGEN3_USE_FILE} )
+ include_directories (BEFORE "../../include")
+
+ add_executable( landmarking_UT landmarking.cpp )
+ else()
+ message(WARNING "Eigen3 not found. Version 3.1.0 is required for Landmarking feature.")
+ endif()
+ else()
+ message(WARNING "CGAL version: ${CGAL_VERSION} is too old to compile Landmarking feature. Version 4.8.0 is required.")
+ endif ()
+endif()
diff --git a/src/Subsampling/test/landmarking.cpp b/src/Subsampling/test/landmarking.cpp
new file mode 100644
index 00000000..3131c798
--- /dev/null
+++ b/src/Subsampling/test/landmarking.cpp
@@ -0,0 +1,47 @@
+// #ifdef _DEBUG
+// # define TBB_USE_THREADING_TOOL
+// #endif
+
+#include <gudhi/Landmark_choice_by_random_point.h>
+#include <gudhi/Landmark_choice_by_farthest_point.h>
+#include <vector>
+#include <iterator>
+
+#include <CGAL/Epick_d.h>
+
+
+int main() {
+ typedef CGAL::Epick_d<CGAL::Dynamic_dimension_tag> K;
+ typedef typename K::FT FT;
+ typedef typename K::Point_d Point_d;
+
+ std::vector<Point_d> vect;
+ vect.push_back(Point_d(std::vector<FT>({0,0,0,0})));
+ vect.push_back(Point_d(std::vector<FT>({0,0,0,1})));
+ vect.push_back(Point_d(std::vector<FT>({0,0,1,0})));
+ vect.push_back(Point_d(std::vector<FT>({0,0,1,1})));
+ vect.push_back(Point_d(std::vector<FT>({0,1,0,0})));
+ vect.push_back(Point_d(std::vector<FT>({0,1,0,1})));
+ vect.push_back(Point_d(std::vector<FT>({0,1,1,0})));
+ vect.push_back(Point_d(std::vector<FT>({0,1,1,1})));
+ vect.push_back(Point_d(std::vector<FT>({1,0,0,0})));
+ vect.push_back(Point_d(std::vector<FT>({1,0,0,1})));
+ vect.push_back(Point_d(std::vector<FT>({1,0,1,0})));
+ vect.push_back(Point_d(std::vector<FT>({1,0,1,1})));
+ vect.push_back(Point_d(std::vector<FT>({1,1,0,0})));
+ vect.push_back(Point_d(std::vector<FT>({1,1,0,1})));
+ vect.push_back(Point_d(std::vector<FT>({1,1,1,0})));
+ vect.push_back(Point_d(std::vector<FT>({1,1,1,1})));
+
+
+ std::vector<Point_d> landmarks;
+ Gudhi::landmark_choice_by_random_point(vect, 5, std::back_inserter(landmarks));
+ std::cout << "landmark vector contains: ";
+ for (auto l: landmarks)
+ std::cout << l << "\n";
+
+ landmarks.clear();
+ K k;
+ Gudhi::landmark_choice_by_farthest_point(k, vect, 16, std::back_inserter(landmarks));
+
+}