summaryrefslogtreecommitdiff
path: root/src/Collapse/utilities/point_cloud_edge_collapse_rips_persistence.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Collapse/utilities/point_cloud_edge_collapse_rips_persistence.cpp')
-rw-r--r--src/Collapse/utilities/point_cloud_edge_collapse_rips_persistence.cpp31
1 files changed, 6 insertions, 25 deletions
diff --git a/src/Collapse/utilities/point_cloud_edge_collapse_rips_persistence.cpp b/src/Collapse/utilities/point_cloud_edge_collapse_rips_persistence.cpp
index 5fa24306..4b52e4c6 100644
--- a/src/Collapse/utilities/point_cloud_edge_collapse_rips_persistence.cpp
+++ b/src/Collapse/utilities/point_cloud_edge_collapse_rips_persistence.cpp
@@ -16,10 +16,11 @@
using Simplex_tree = Gudhi::Simplex_tree<>;
using Filtration_value = Simplex_tree::Filtration_value;
-using Vertex_handle = std::size_t; /*Simplex_tree::Vertex_handle;*/
+using Vertex_handle = Simplex_tree::Vertex_handle;
using Point = std::vector<Filtration_value>;
using Vector_of_points = std::vector<Point>;
+using Flag_complex_sparse_matrix = Gudhi::collapse::Flag_complex_sparse_matrix<Vertex_handle, Filtration_value>;
using Field_Zp = Gudhi::persistent_cohomology::Field_Zp;
using Persistent_cohomology = Gudhi::persistent_cohomology::Persistent_cohomology<Simplex_tree, Field_Zp>;
@@ -33,12 +34,6 @@ void program_options(int argc, char* argv[], std::string& off_file_points, std::
Filtration_value& threshold, int& dim_max, int& p, Filtration_value& min_persistence);
int main(int argc, char* argv[]) {
- typedef std::vector<std::tuple<Filtration_value, Vertex_handle, Vertex_handle>> Filtered_sorted_edge_list;
-
- auto the_begin = std::chrono::high_resolution_clock::now();
- std::size_t number_of_points;
-
-
std::string off_file_points;
std::string filediag;
double threshold;
@@ -68,12 +63,8 @@ int main(int argc, char* argv[]) {
exit(-1); // ----- >>
}
- //int dimension = point_vector[0].dimension();
- number_of_points = point_vector.size();
- std::cout << "Successfully read " << number_of_points << " point_vector.\n";
- //std::cout << "Ambient dimension is " << dimension << ".\n";
-
- std::cout << "Point Set Generated." << std::endl;
+ std::cout << "Successfully read " << point_vector.size() << " point_vector.\n";
+ std::cout << "Ambient dimension is " << point_vector[0].size() << ".\n";
Adjacency_list proximity_graph = Gudhi::compute_proximity_graph<Simplex_tree>(off_reader.get_point_cloud(),
threshold,
@@ -84,16 +75,11 @@ int main(int argc, char* argv[]) {
exit(-1);
}
- std::cout << "Filtered edge collapse begins" << std::endl;
- Gudhi::collapse::Flag_complex_sparse_matrix mat_filt_edge_coll(proximity_graph);
-
- std::cout << "Computing the one-skeleton for threshold: " << threshold << std::endl;
-
- std::cout << "Matrix instansiated" << std::endl;
+ Flag_complex_sparse_matrix mat_filt_edge_coll(proximity_graph);
Simplex_tree stree;
mat_filt_edge_coll.filtered_edge_collapse(
- [&stree](std::vector<std::size_t> edge, double filtration) {
+ [&stree](std::vector<Vertex_handle> edge, Filtration_value filtration) {
// insert the 2 vertices with a 0. filtration value just like a Rips
stree.insert_simplex({edge[0]}, 0.);
stree.insert_simplex({edge[1]}, 0.);
@@ -122,11 +108,6 @@ int main(int argc, char* argv[]) {
out.close();
}
- auto the_end = std::chrono::high_resolution_clock::now();
-
- std::cout << "Total computation time : " << std::chrono::duration<double, std::milli>(the_end - the_begin).count()
- << " ms\n"
- << std::endl;
return 0;
}