summaryrefslogtreecommitdiff
path: root/src/cython/include/Simplex_tree_interface.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/cython/include/Simplex_tree_interface.h')
-rw-r--r--src/cython/include/Simplex_tree_interface.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/cython/include/Simplex_tree_interface.h b/src/cython/include/Simplex_tree_interface.h
index 9aee630b..ad7be1a8 100644
--- a/src/cython/include/Simplex_tree_interface.h
+++ b/src/cython/include/Simplex_tree_interface.h
@@ -26,6 +26,7 @@
#include <gudhi/graph_simplicial_complex.h>
#include <gudhi/distance_functions.h>
#include <gudhi/Simplex_tree.h>
+#include <gudhi/Points_off_io.h>
#include <vector>
#include <utility> // std::pair
@@ -116,6 +117,21 @@ class Simplex_tree_interface : public Simplex_tree<SimplexTreeOptions> {
Simplex_tree<SimplexTreeOptions>::initialize_filtration();
}
+ void graph_expansion(std::string& off_file_name, int max_dimension, double max_edge_length, bool from_file=true) {
+ Gudhi::Points_off_reader<std::vector <double>> off_reader(off_file_name);
+ // Check the read operation was correct
+ if (!off_reader.is_valid()) {
+ std::cerr << "Unable to read file " << off_file_name << std::endl;
+ } else {
+ std::vector<std::vector <double>> points = off_reader.get_point_cloud();
+ Graph_t prox_graph = compute_proximity_graph(points, max_edge_length,
+ euclidean_distance<std::vector<double>>);
+ Simplex_tree<SimplexTreeOptions>::insert_graph(prox_graph);
+ Simplex_tree<SimplexTreeOptions>::expansion(max_dimension);
+ Simplex_tree<SimplexTreeOptions>::initialize_filtration();
+ }
+ }
+
};
struct Simplex_tree_options_mini : Simplex_tree_options_full_featured {