summaryrefslogtreecommitdiff
path: root/cython/include
diff options
context:
space:
mode:
Diffstat (limited to 'cython/include')
-rw-r--r--cython/include/Alpha_complex_interface.h82
-rw-r--r--cython/include/Bottleneck_distance_interface.h53
-rw-r--r--cython/include/Cubical_complex_interface.h62
-rw-r--r--cython/include/Euclidean_strong_witness_complex_interface.h93
-rw-r--r--cython/include/Euclidean_witness_complex_interface.h92
-rw-r--r--cython/include/Nerve_gic_interface.h61
-rw-r--r--cython/include/Off_reader_interface.h42
-rw-r--r--cython/include/Persistent_cohomology_interface.h121
-rw-r--r--cython/include/Reader_utils_interface.h56
-rw-r--r--cython/include/Rips_complex_interface.h74
-rw-r--r--cython/include/Simplex_tree_interface.h158
-rw-r--r--cython/include/Strong_witness_complex_interface.h73
-rw-r--r--cython/include/Subsampling_interface.h119
-rw-r--r--cython/include/Tangential_complex_interface.h116
-rw-r--r--cython/include/Witness_complex_interface.h74
15 files changed, 0 insertions, 1276 deletions
diff --git a/cython/include/Alpha_complex_interface.h b/cython/include/Alpha_complex_interface.h
deleted file mode 100644
index 8cf527fc..00000000
--- a/cython/include/Alpha_complex_interface.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/* This file is part of the Gudhi Library. The Gudhi library
- * (Geometric Understanding in Higher Dimensions) is a generic C++
- * library for computational topology.
- *
- * Author(s): Vincent Rouvreau
- *
- * Copyright (C) 2016 Inria
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef INCLUDE_ALPHA_COMPLEX_INTERFACE_H_
-#define INCLUDE_ALPHA_COMPLEX_INTERFACE_H_
-
-#include <gudhi/Simplex_tree.h>
-#include <gudhi/Alpha_complex.h>
-#include <CGAL/Epick_d.h>
-
-#include "Simplex_tree_interface.h"
-
-#include <iostream>
-#include <vector>
-#include <string>
-
-namespace Gudhi {
-
-namespace alpha_complex {
-
-class Alpha_complex_interface {
- using Dynamic_kernel = CGAL::Epick_d< CGAL::Dynamic_dimension_tag >;
- using Point_d = Dynamic_kernel::Point_d;
-
- public:
- Alpha_complex_interface(const std::vector<std::vector<double>>& points) {
- alpha_complex_ = new Alpha_complex<Dynamic_kernel>(points);
- }
-
- Alpha_complex_interface(const std::string& off_file_name, bool from_file = true) {
- alpha_complex_ = new Alpha_complex<Dynamic_kernel>(off_file_name);
- }
-
- ~Alpha_complex_interface() {
- delete alpha_complex_;
- }
-
- std::vector<double> get_point(int vh) {
- std::vector<double> vd;
- try {
- Point_d ph = alpha_complex_->get_point(vh);
- for (auto coord = ph.cartesian_begin(); coord < ph.cartesian_end(); coord++)
- vd.push_back(*coord);
- } catch (std::out_of_range outofrange) {
- // std::out_of_range is thrown in case not found. Other exceptions must be re-thrown
- }
- return vd;
- }
-
- void create_simplex_tree(Simplex_tree_interface<>* simplex_tree, double max_alpha_square) {
- alpha_complex_->create_complex(*simplex_tree, max_alpha_square);
- simplex_tree->initialize_filtration();
- }
-
- private:
- Alpha_complex<Dynamic_kernel>* alpha_complex_;
-};
-
-} // namespace alpha_complex
-
-} // namespace Gudhi
-
-#endif // INCLUDE_ALPHA_COMPLEX_INTERFACE_H_
diff --git a/cython/include/Bottleneck_distance_interface.h b/cython/include/Bottleneck_distance_interface.h
deleted file mode 100644
index 5ad9d77d..00000000
--- a/cython/include/Bottleneck_distance_interface.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/* This file is part of the Gudhi Library. The Gudhi library
- * (Geometric Understanding in Higher Dimensions) is a generic C++
- * library for computational topology.
- *
- * Author(s): Vincent Rouvreau
- *
- * Copyright (C) 2016 Inria
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef INCLUDE_BOTTLENECK_DISTANCE_INTERFACE_H_
-#define INCLUDE_BOTTLENECK_DISTANCE_INTERFACE_H_
-
-#include <gudhi/Bottleneck.h>
-
-#include <iostream>
-#include <vector>
-#include <utility> // for std::pair
-
-namespace Gudhi {
-
-namespace persistence_diagram {
-
- // bottleneck_distance function renamed for the python function can be called bottleneck_dstance
- double bottleneck(const std::vector<std::pair<double, double>>& diag1,
- const std::vector<std::pair<double, double>>& diag2,
- double e) {
- return bottleneck_distance(diag1, diag2, e);
- }
-
- double bottleneck(const std::vector<std::pair<double, double>>& diag1,
- const std::vector<std::pair<double, double>>& diag2) {
- return bottleneck_distance(diag1, diag2);
- }
-
-} // namespace persistence_diagram
-
-} // namespace Gudhi
-
-
-#endif // INCLUDE_BOTTLENECK_DISTANCE_INTERFACE_H_
diff --git a/cython/include/Cubical_complex_interface.h b/cython/include/Cubical_complex_interface.h
deleted file mode 100644
index 85b717b3..00000000
--- a/cython/include/Cubical_complex_interface.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* This file is part of the Gudhi Library. The Gudhi library
- * (Geometric Understanding in Higher Dimensions) is a generic C++
- * library for computational topology.
- *
- * Author(s): Vincent Rouvreau
- *
- * Copyright (C) 2016 Inria
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef INCLUDE_CUBICAL_COMPLEX_INTERFACE_H_
-#define INCLUDE_CUBICAL_COMPLEX_INTERFACE_H_
-
-#include <gudhi/Bitmap_cubical_complex.h>
-#include <gudhi/Bitmap_cubical_complex_base.h>
-#include <gudhi/Bitmap_cubical_complex_periodic_boundary_conditions_base.h>
-
-#include <iostream>
-#include <vector>
-#include <string>
-
-namespace Gudhi {
-
-namespace cubical_complex {
-
-template<typename CubicalComplexOptions = Bitmap_cubical_complex_base<double>>
-class Cubical_complex_interface : public Bitmap_cubical_complex<CubicalComplexOptions> {
- public:
- Cubical_complex_interface(const std::vector<unsigned>& dimensions,
- const std::vector<double>& top_dimensional_cells)
- : Bitmap_cubical_complex<CubicalComplexOptions>(dimensions, top_dimensional_cells) {
- }
-
- Cubical_complex_interface(const std::vector<unsigned>& dimensions,
- const std::vector<double>& top_dimensional_cells,
- const std::vector<bool>& periodic_dimensions)
- : Bitmap_cubical_complex<CubicalComplexOptions>(dimensions, top_dimensional_cells, periodic_dimensions) {
- }
-
- Cubical_complex_interface(const std::string& perseus_file)
- : Bitmap_cubical_complex<CubicalComplexOptions>(perseus_file.c_str()) {
- }
-};
-
-} // namespace cubical_complex
-
-} // namespace Gudhi
-
-#endif // INCLUDE_CUBICAL_COMPLEX_INTERFACE_H_
-
diff --git a/cython/include/Euclidean_strong_witness_complex_interface.h b/cython/include/Euclidean_strong_witness_complex_interface.h
deleted file mode 100644
index d86355d6..00000000
--- a/cython/include/Euclidean_strong_witness_complex_interface.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/* This file is part of the Gudhi Library. The Gudhi library
- * (Geometric Understanding in Higher Dimensions) is a generic C++
- * library for computational topology.
- *
- * Author(s): Vincent Rouvreau
- *
- * Copyright (C) 2016 Inria
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef INCLUDE_EUCLIDEAN_STRONG_WITNESS_COMPLEX_INTERFACE_H_
-#define INCLUDE_EUCLIDEAN_STRONG_WITNESS_COMPLEX_INTERFACE_H_
-
-#include <gudhi/Simplex_tree.h>
-#include <gudhi/Euclidean_strong_witness_complex.h>
-
-#include "Simplex_tree_interface.h"
-
-#include <CGAL/Epick_d.h>
-
-#include <vector>
-#include <utility> // std::pair
-#include <iostream>
-#include <cstddef>
-
-namespace Gudhi {
-
-namespace witness_complex {
-
-
-class Euclidean_strong_witness_complex_interface {
- using Dynamic_kernel = CGAL::Epick_d< CGAL::Dynamic_dimension_tag >;
- using Point_d = Dynamic_kernel::Point_d;
-
- typedef typename Simplex_tree<>::Simplex_key Simplex_key;
-
- public:
- Euclidean_strong_witness_complex_interface(const std::vector<std::vector<double>>& landmarks,
- const std::vector<std::vector<double>>& witnesses) {
- landmarks_.reserve(landmarks.size());
- for (auto& landmark : landmarks)
- landmarks_.emplace_back(landmark.begin(), landmark.end());
- witness_complex_ = new Euclidean_strong_witness_complex<Dynamic_kernel>(landmarks_, witnesses);
- }
-
- ~Euclidean_strong_witness_complex_interface() {
- delete witness_complex_;
- }
-
- void create_simplex_tree(Gudhi::Simplex_tree<>* simplex_tree, double max_alpha_square,
- std::size_t limit_dimension) {
- witness_complex_->create_complex(*simplex_tree, max_alpha_square, limit_dimension);
- simplex_tree->initialize_filtration();
- }
-
- void create_simplex_tree(Gudhi::Simplex_tree<>* simplex_tree, double max_alpha_square) {
- witness_complex_->create_complex(*simplex_tree, max_alpha_square);
- simplex_tree->initialize_filtration();
- }
-
- std::vector<double> get_point(unsigned vh) {
- std::vector<double> vd;
- if (vh < landmarks_.size()) {
- Point_d ph = witness_complex_->get_point(vh);
- for (auto coord = ph.cartesian_begin(); coord < ph.cartesian_end(); coord++)
- vd.push_back(*coord);
- }
- return vd;
- }
-
- private:
- std::vector<Point_d> landmarks_;
- Euclidean_strong_witness_complex<Dynamic_kernel>* witness_complex_;
-};
-
-} // namespace witness_complex
-
-} // namespace Gudhi
-
-#endif // INCLUDE_EUCLIDEAN_STRONG_WITNESS_COMPLEX_INTERFACE_H_
-
diff --git a/cython/include/Euclidean_witness_complex_interface.h b/cython/include/Euclidean_witness_complex_interface.h
deleted file mode 100644
index dc303533..00000000
--- a/cython/include/Euclidean_witness_complex_interface.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/* This file is part of the Gudhi Library. The Gudhi library
- * (Geometric Understanding in Higher Dimensions) is a generic C++
- * library for computational topology.
- *
- * Author(s): Vincent Rouvreau
- *
- * Copyright (C) 2016 Inria
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef INCLUDE_EUCLIDEAN_WITNESS_COMPLEX_INTERFACE_H_
-#define INCLUDE_EUCLIDEAN_WITNESS_COMPLEX_INTERFACE_H_
-
-#include <gudhi/Simplex_tree.h>
-#include <gudhi/Euclidean_witness_complex.h>
-
-#include "Simplex_tree_interface.h"
-
-#include <CGAL/Epick_d.h>
-
-#include <vector>
-#include <utility> // std::pair
-#include <iostream>
-#include <cstddef>
-
-namespace Gudhi {
-
-namespace witness_complex {
-
-
-class Euclidean_witness_complex_interface {
- using Dynamic_kernel = CGAL::Epick_d< CGAL::Dynamic_dimension_tag >;
- using Point_d = Dynamic_kernel::Point_d;
-
- typedef typename Simplex_tree<>::Simplex_key Simplex_key;
-
- public:
- Euclidean_witness_complex_interface(const std::vector<std::vector<double>>& landmarks,
- const std::vector<std::vector<double>>& witnesses) {
- landmarks_.reserve(landmarks.size());
- for (auto& landmark : landmarks)
- landmarks_.emplace_back(landmark.begin(), landmark.end());
- witness_complex_ = new Euclidean_witness_complex<Dynamic_kernel>(landmarks_, witnesses);
- }
-
- ~Euclidean_witness_complex_interface() {
- delete witness_complex_;
- }
-
- void create_simplex_tree(Gudhi::Simplex_tree<>* simplex_tree, double max_alpha_square, std::size_t limit_dimension) {
- witness_complex_->create_complex(*simplex_tree, max_alpha_square, limit_dimension);
- simplex_tree->initialize_filtration();
- }
-
- void create_simplex_tree(Gudhi::Simplex_tree<>* simplex_tree, double max_alpha_square) {
- witness_complex_->create_complex(*simplex_tree, max_alpha_square);
- simplex_tree->initialize_filtration();
- }
-
- std::vector<double> get_point(unsigned vh) {
- std::vector<double> vd;
- if (vh < landmarks_.size()) {
- Point_d ph = witness_complex_->get_point(vh);
- for (auto coord = ph.cartesian_begin(); coord < ph.cartesian_end(); coord++)
- vd.push_back(*coord);
- }
- return vd;
- }
-
- private:
- std::vector<Point_d> landmarks_;
- Euclidean_witness_complex<Dynamic_kernel>* witness_complex_;
-};
-
-} // namespace witness_complex
-
-} // namespace Gudhi
-
-#endif // INCLUDE_EUCLIDEAN_WITNESS_COMPLEX_INTERFACE_H_
-
diff --git a/cython/include/Nerve_gic_interface.h b/cython/include/Nerve_gic_interface.h
deleted file mode 100644
index aa71e2a6..00000000
--- a/cython/include/Nerve_gic_interface.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/* This file is part of the Gudhi Library. The Gudhi library
- * (Geometric Understanding in Higher Dimensions) is a generic C++
- * library for computational topology.
- *
- * Author(s): Vincent Rouvreau
- *
- * Copyright (C) 2018 Inria
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef INCLUDE_NERVE_GIC_INTERFACE_H_
-#define INCLUDE_NERVE_GIC_INTERFACE_H_
-
-#include <gudhi/Simplex_tree.h>
-#include <gudhi/distance_functions.h>
-#include <gudhi/GIC.h>
-
-#include "Simplex_tree_interface.h"
-
-#include <iostream>
-#include <vector>
-#include <string>
-
-namespace Gudhi {
-
-namespace cover_complex {
-
-class Nerve_gic_interface : public Cover_complex<std::vector<double>> {
- public:
- void create_simplex_tree(Simplex_tree_interface<>* simplex_tree) {
- create_complex(*simplex_tree);
- simplex_tree->initialize_filtration();
- }
- void set_cover_from_Euclidean_Voronoi(int m) {
- set_cover_from_Voronoi(Gudhi::Euclidean_distance(), m);
- }
- double set_graph_from_automatic_euclidean_rips(int N) {
- return set_graph_from_automatic_rips(Gudhi::Euclidean_distance(), N);
- }
- void set_graph_from_euclidean_rips(double threshold) {
- set_graph_from_rips(threshold, Gudhi::Euclidean_distance());
- }
-};
-
-} // namespace cover_complex
-
-} // namespace Gudhi
-
-#endif // INCLUDE_NERVE_GIC_INTERFACE_H_
diff --git a/cython/include/Off_reader_interface.h b/cython/include/Off_reader_interface.h
deleted file mode 100644
index f6b14f38..00000000
--- a/cython/include/Off_reader_interface.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* This file is part of the Gudhi Library. The Gudhi library
- * (Geometric Understanding in Higher Dimensions) is a generic C++
- * library for computational topology.
- *
- * Author(s): Vincent Rouvreau
- *
- * Copyright (C) 2016 Inria
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef INCLUDE_OFF_READER_INTERFACE_H_
-#define INCLUDE_OFF_READER_INTERFACE_H_
-
-#include <gudhi/Points_off_io.h>
-
-#include <iostream>
-#include <vector>
-#include <string>
-
-namespace Gudhi {
-
-std::vector<std::vector<double>> read_points_from_OFF_file(const std::string& off_file) {
- Gudhi::Points_off_reader<std::vector<double>> off_reader(off_file);
- return off_reader.get_point_cloud();
-}
-
-} // namespace Gudhi
-
-#endif // INCLUDE_OFF_READER_INTERFACE_H_
-
diff --git a/cython/include/Persistent_cohomology_interface.h b/cython/include/Persistent_cohomology_interface.h
deleted file mode 100644
index 8cf71a4e..00000000
--- a/cython/include/Persistent_cohomology_interface.h
+++ /dev/null
@@ -1,121 +0,0 @@
-/* This file is part of the Gudhi Library. The Gudhi library
- * (Geometric Understanding in Higher Dimensions) is a generic C++
- * library for computational topology.
- *
- * Author(s): Vincent Rouvreau
- *
- * Copyright (C) 2016 Inria
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef INCLUDE_PERSISTENT_COHOMOLOGY_INTERFACE_H_
-#define INCLUDE_PERSISTENT_COHOMOLOGY_INTERFACE_H_
-
-#include <gudhi/Persistent_cohomology.h>
-
-#include <vector>
-#include <utility> // for std::pair
-#include <algorithm> // for sort
-
-namespace Gudhi {
-
-template<class FilteredComplex>
-class Persistent_cohomology_interface : public
-persistent_cohomology::Persistent_cohomology<FilteredComplex, persistent_cohomology::Field_Zp> {
- private:
- /*
- * Compare two intervals by dimension, then by length.
- */
- struct cmp_intervals_by_dim_then_length {
- explicit cmp_intervals_by_dim_then_length(FilteredComplex * sc)
- : sc_(sc) { }
-
- template<typename Persistent_interval>
- bool operator()(const Persistent_interval & p1, const Persistent_interval & p2) {
- if (sc_->dimension(get < 0 > (p1)) == sc_->dimension(get < 0 > (p2)))
- return (sc_->filtration(get < 1 > (p1)) - sc_->filtration(get < 0 > (p1))
- > sc_->filtration(get < 1 > (p2)) - sc_->filtration(get < 0 > (p2)));
- else
- return (sc_->dimension(get < 0 > (p1)) > sc_->dimension(get < 0 > (p2)));
- }
- FilteredComplex* sc_;
- };
-
- public:
- Persistent_cohomology_interface(FilteredComplex* stptr)
- : persistent_cohomology::Persistent_cohomology<FilteredComplex, persistent_cohomology::Field_Zp>(*stptr),
- stptr_(stptr) { }
-
- Persistent_cohomology_interface(FilteredComplex* stptr, bool persistence_dim_max)
- : persistent_cohomology::Persistent_cohomology<FilteredComplex,
- persistent_cohomology::Field_Zp>(*stptr, persistence_dim_max),
- stptr_(stptr) { }
-
- std::vector<std::pair<int, std::pair<double, double>>> get_persistence(int homology_coeff_field,
- double min_persistence) {
- persistent_cohomology::Persistent_cohomology<FilteredComplex,
- persistent_cohomology::Field_Zp>::init_coefficients(homology_coeff_field);
- persistent_cohomology::Persistent_cohomology<FilteredComplex,
- persistent_cohomology::Field_Zp>::compute_persistent_cohomology(min_persistence);
-
- // Custom sort and output persistence
- cmp_intervals_by_dim_then_length cmp(stptr_);
- auto persistent_pairs = persistent_cohomology::Persistent_cohomology<FilteredComplex,
- persistent_cohomology::Field_Zp>::get_persistent_pairs();
- std::sort(std::begin(persistent_pairs), std::end(persistent_pairs), cmp);
-
- std::vector<std::pair<int, std::pair<double, double>>> persistence;
- for (auto pair : persistent_pairs) {
- persistence.push_back(std::make_pair(stptr_->dimension(get<0>(pair)),
- std::make_pair(stptr_->filtration(get<0>(pair)),
- stptr_->filtration(get<1>(pair)))));
- }
- return persistence;
- }
-
- std::vector<std::pair<std::vector<int>, std::vector<int>>> persistence_pairs() {
- auto pairs = persistent_cohomology::Persistent_cohomology<FilteredComplex,
- persistent_cohomology::Field_Zp>::get_persistent_pairs();
-
- std::vector<std::pair<std::vector<int>, std::vector<int>>> persistence_pairs;
- persistence_pairs.reserve(pairs.size());
- for (auto pair : pairs) {
- std::vector<int> birth;
- if (get<0>(pair) != stptr_->null_simplex()) {
- for (auto vertex : stptr_->simplex_vertex_range(get<0>(pair))) {
- birth.push_back(vertex);
- }
- }
-
- std::vector<int> death;
- if (get<1>(pair) != stptr_->null_simplex()) {
- for (auto vertex : stptr_->simplex_vertex_range(get<1>(pair))) {
- death.push_back(vertex);
- }
- }
-
- persistence_pairs.push_back(std::make_pair(birth, death));
- }
- return persistence_pairs;
- }
-
- private:
- // A copy
- FilteredComplex* stptr_;
-};
-
-} // namespace Gudhi
-
-#endif // INCLUDE_PERSISTENT_COHOMOLOGY_INTERFACE_H_
diff --git a/cython/include/Reader_utils_interface.h b/cython/include/Reader_utils_interface.h
deleted file mode 100644
index 5f7527d9..00000000
--- a/cython/include/Reader_utils_interface.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/* This file is part of the Gudhi Library. The Gudhi library
- * (Geometric Understanding in Higher Dimensions) is a generic C++
- * library for computational topology.
- *
- * Author(s): Vincent Rouvreau
- *
- * Copyright (C) 2017 Inria
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef INCLUDE_READER_UTILS_INTERFACE_H_
-#define INCLUDE_READER_UTILS_INTERFACE_H_
-
-#include <gudhi/reader_utils.h>
-
-#include <iostream>
-#include <vector>
-#include <string>
-#include <map>
-#include <utility> // for pair<>
-
-namespace Gudhi {
-
-// Redefine functions with a different name in order the original name can be used in the Python version.
-std::vector<std::vector<double>> read_matrix_from_csv_file(const std::string& filename,
- const char separator = ';') {
- return read_lower_triangular_matrix_from_csv_file<double>(filename, separator);
-}
-
-inline std::map<int, std::vector<std::pair<double, double>>>
- read_pers_intervals_grouped_by_dimension(std::string const& filename) {
- return read_persistence_intervals_grouped_by_dimension(filename);
-}
-
-inline std::vector<std::pair<double, double>>
- read_pers_intervals_in_dimension(std::string const& filename, int only_this_dim = -1) {
- return read_persistence_intervals_in_dimension(filename, only_this_dim);
-}
-
-
-} // namespace Gudhi
-
-
-#endif // INCLUDE_READER_UTILS_INTERFACE_H_
diff --git a/cython/include/Rips_complex_interface.h b/cython/include/Rips_complex_interface.h
deleted file mode 100644
index 8b6c9c35..00000000
--- a/cython/include/Rips_complex_interface.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/* This file is part of the Gudhi Library. The Gudhi library
- * (Geometric Understanding in Higher Dimensions) is a generic C++
- * library for computational topology.
- *
- * Author(s): Vincent Rouvreau
- *
- * Copyright (C) 2016 Inria
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef INCLUDE_RIPS_COMPLEX_INTERFACE_H_
-#define INCLUDE_RIPS_COMPLEX_INTERFACE_H_
-
-#include <gudhi/Simplex_tree.h>
-#include <gudhi/Rips_complex.h>
-#include <gudhi/distance_functions.h>
-
-#include "Simplex_tree_interface.h"
-
-#include <iostream>
-#include <vector>
-#include <utility> // std::pair
-#include <string>
-
-namespace Gudhi {
-
-namespace rips_complex {
-
-class Rips_complex_interface {
- using Point_d = std::vector<double>;
- using Distance_matrix = std::vector<std::vector<Simplex_tree_interface<>::Filtration_value>>;
-
- public:
- Rips_complex_interface(const std::vector<std::vector<double>>& values, double threshold, bool euclidean) {
- if (euclidean) {
- // Rips construction where values is a vector of points
- rips_complex_ = new Rips_complex<Simplex_tree_interface<>::Filtration_value>(values, threshold,
- Gudhi::Euclidean_distance());
- } else {
- // Rips construction where values is a distance matrix
- rips_complex_ = new Rips_complex<Simplex_tree_interface<>::Filtration_value>(values, threshold);
- }
- }
-
- ~Rips_complex_interface() {
- delete rips_complex_;
- }
-
- void create_simplex_tree(Simplex_tree_interface<>* simplex_tree, int dim_max) {
- rips_complex_->create_complex(*simplex_tree, dim_max);
- simplex_tree->initialize_filtration();
- }
-
- private:
- Rips_complex<Simplex_tree_interface<>::Filtration_value>* rips_complex_;
-};
-
-} // namespace rips_complex
-
-} // namespace Gudhi
-
-#endif // INCLUDE_RIPS_COMPLEX_INTERFACE_H_
diff --git a/cython/include/Simplex_tree_interface.h b/cython/include/Simplex_tree_interface.h
deleted file mode 100644
index 3481eeff..00000000
--- a/cython/include/Simplex_tree_interface.h
+++ /dev/null
@@ -1,158 +0,0 @@
-/* This file is part of the Gudhi Library. The Gudhi library
- * (Geometric Understanding in Higher Dimensions) is a generic C++
- * library for computational topology.
- *
- * Author(s): Vincent Rouvreau
- *
- * Copyright (C) 2016 Inria
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef INCLUDE_SIMPLEX_TREE_INTERFACE_H_
-#define INCLUDE_SIMPLEX_TREE_INTERFACE_H_
-
-#include <gudhi/graph_simplicial_complex.h>
-#include <gudhi/distance_functions.h>
-#include <gudhi/Simplex_tree.h>
-#include <gudhi/Points_off_io.h>
-
-#include "Persistent_cohomology_interface.h"
-
-#include <iostream>
-#include <vector>
-#include <utility> // std::pair
-
-namespace Gudhi {
-
-template<typename SimplexTreeOptions = Simplex_tree_options_full_featured>
-class Simplex_tree_interface : public Simplex_tree<SimplexTreeOptions> {
- public:
- using Base = Simplex_tree<SimplexTreeOptions>;
- using Filtration_value = typename Base::Filtration_value;
- using Vertex_handle = typename Base::Vertex_handle;
- using Simplex_handle = typename Base::Simplex_handle;
- using Insertion_result = typename std::pair<Simplex_handle, bool>;
- using Simplex = std::vector<Vertex_handle>;
- using Complex = std::vector<std::pair<Simplex, Filtration_value>>;
-
- public:
- bool find_simplex(const Simplex& vh) {
- return (Base::find(vh) != Base::null_simplex());
- }
-
- void assign_simplex_filtration(const Simplex& vh, Filtration_value filtration) {
- Base::assign_filtration(Base::find(vh), filtration);
- }
-
- bool insert(const Simplex& simplex, Filtration_value filtration = 0) {
- Insertion_result result = Base::insert_simplex_and_subfaces(simplex, filtration);
- return (result.second);
- }
-
- // Do not interface this function, only used in alpha complex interface for complex creation
- bool insert_simplex(const Simplex& simplex, Filtration_value filtration = 0) {
- Insertion_result result = Base::insert_simplex(simplex, filtration);
- return (result.second);
- }
-
- // Do not interface this function, only used in interface for complex creation
- bool insert_simplex_and_subfaces(const Simplex& simplex, Filtration_value filtration = 0) {
- Insertion_result result = Base::insert_simplex_and_subfaces(simplex, filtration);
- return (result.second);
- }
-
- // Do not interface this function, only used in strong witness interface for complex creation
- bool insert_simplex(const std::vector<std::size_t>& simplex, Filtration_value filtration = 0) {
- Insertion_result result = Base::insert_simplex(simplex, filtration);
- return (result.second);
- }
-
- // Do not interface this function, only used in strong witness interface for complex creation
- bool insert_simplex_and_subfaces(const std::vector<std::size_t>& simplex, Filtration_value filtration = 0) {
- Insertion_result result = Base::insert_simplex_and_subfaces(simplex, filtration);
- return (result.second);
- }
-
- Filtration_value simplex_filtration(const Simplex& simplex) {
- return Base::filtration(Base::find(simplex));
- }
-
- void remove_maximal_simplex(const Simplex& simplex) {
- Base::remove_maximal_simplex(Base::find(simplex));
- Base::initialize_filtration();
- }
-
- Complex get_filtration() {
- Base::initialize_filtration();
- Complex filtrations;
- for (auto f_simplex : Base::filtration_simplex_range()) {
- Simplex simplex;
- for (auto vertex : Base::simplex_vertex_range(f_simplex)) {
- simplex.insert(simplex.begin(), vertex);
- }
- filtrations.push_back(std::make_pair(simplex, Base::filtration(f_simplex)));
- }
- return filtrations;
- }
-
- Complex get_skeleton(int dimension) {
- Complex skeletons;
- for (auto f_simplex : Base::skeleton_simplex_range(dimension)) {
- Simplex simplex;
- for (auto vertex : Base::simplex_vertex_range(f_simplex)) {
- simplex.insert(simplex.begin(), vertex);
- }
- skeletons.push_back(std::make_pair(simplex, Base::filtration(f_simplex)));
- }
- return skeletons;
- }
-
- Complex get_star(const Simplex& simplex) {
- Complex star;
- for (auto f_simplex : Base::star_simplex_range(Base::find(simplex))) {
- Simplex simplex_star;
- for (auto vertex : Base::simplex_vertex_range(f_simplex)) {
- std::cout << vertex << " ";
- simplex_star.insert(simplex_star.begin(), vertex);
- }
- std::cout << std::endl;
- star.push_back(std::make_pair(simplex_star, Base::filtration(f_simplex)));
- }
- return star;
- }
-
- Complex get_cofaces(const Simplex& simplex, int dimension) {
- Complex cofaces;
- for (auto f_simplex : Base::cofaces_simplex_range(Base::find(simplex), dimension)) {
- Simplex simplex_coface;
- for (auto vertex : Base::simplex_vertex_range(f_simplex)) {
- std::cout << vertex << " ";
- simplex_coface.insert(simplex_coface.begin(), vertex);
- }
- std::cout << std::endl;
- cofaces.push_back(std::make_pair(simplex_coface, Base::filtration(f_simplex)));
- }
- return cofaces;
- }
-
- void create_persistence(Gudhi::Persistent_cohomology_interface<Base>* pcoh) {
- Base::initialize_filtration();
- pcoh = new Gudhi::Persistent_cohomology_interface<Base>(*this);
- }
-};
-
-} // namespace Gudhi
-
-#endif // INCLUDE_SIMPLEX_TREE_INTERFACE_H_
diff --git a/cython/include/Strong_witness_complex_interface.h b/cython/include/Strong_witness_complex_interface.h
deleted file mode 100644
index 3c72c916..00000000
--- a/cython/include/Strong_witness_complex_interface.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/* This file is part of the Gudhi Library. The Gudhi library
- * (Geometric Understanding in Higher Dimensions) is a generic C++
- * library for computational topology.
- *
- * Author(s): Vincent Rouvreau
- *
- * Copyright (C) 2016 Inria
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef INCLUDE_STRONG_WITNESS_COMPLEX_INTERFACE_H_
-#define INCLUDE_STRONG_WITNESS_COMPLEX_INTERFACE_H_
-
-#include <gudhi/Simplex_tree.h>
-#include <gudhi/Strong_witness_complex.h>
-
-#include "Simplex_tree_interface.h"
-
-#include <vector>
-#include <utility> // std::pair
-#include <iostream>
-#include <cstddef>
-
-namespace Gudhi {
-
-namespace witness_complex {
-
-class Strong_witness_complex_interface {
- using Nearest_landmark_range = std::vector<std::pair<std::size_t, double>>;
- using Nearest_landmark_table = std::vector<Nearest_landmark_range>;
-
- public:
- Strong_witness_complex_interface(const Nearest_landmark_table& nlt) {
- witness_complex_ = new Strong_witness_complex<Nearest_landmark_table>(nlt);
- }
-
- ~Strong_witness_complex_interface() {
- delete witness_complex_;
- }
-
- void create_simplex_tree(Simplex_tree_interface<>* simplex_tree, double max_alpha_square,
- std::size_t limit_dimension) {
- witness_complex_->create_complex(*simplex_tree, max_alpha_square, limit_dimension);
- simplex_tree->initialize_filtration();
- }
-
- void create_simplex_tree(Simplex_tree_interface<>* simplex_tree,
- double max_alpha_square) {
- witness_complex_->create_complex(*simplex_tree, max_alpha_square);
- simplex_tree->initialize_filtration();
- }
-
- private:
- Strong_witness_complex<Nearest_landmark_table>* witness_complex_;
-};
-
-} // namespace witness_complex
-
-} // namespace Gudhi
-
-#endif // INCLUDE_STRONG_WITNESS_COMPLEX_INTERFACE_H_
diff --git a/cython/include/Subsampling_interface.h b/cython/include/Subsampling_interface.h
deleted file mode 100644
index f990da0c..00000000
--- a/cython/include/Subsampling_interface.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/* This file is part of the Gudhi Library. The Gudhi library
- * (Geometric Understanding in Higher Dimensions) is a generic C++
- * library for computational topology.
- *
- * Author(s): Vincent Rouvreau
- *
- * Copyright (C) 2016 Inria
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef INCLUDE_SUBSAMPLING_INTERFACE_H_
-#define INCLUDE_SUBSAMPLING_INTERFACE_H_
-
-#include <gudhi/choose_n_farthest_points.h>
-#include <gudhi/pick_n_random_points.h>
-#include <gudhi/sparsify_point_set.h>
-#include <gudhi/Points_off_io.h>
-#include <CGAL/Epick_d.h>
-
-#include <iostream>
-#include <vector>
-#include <string>
-
-namespace Gudhi {
-
-namespace subsampling {
-
-using Subsampling_dynamic_kernel = CGAL::Epick_d< CGAL::Dynamic_dimension_tag >;
-using Subsampling_point_d = Subsampling_dynamic_kernel::Point_d;
-using Subsampling_ft = Subsampling_dynamic_kernel::FT;
-
-// ------ choose_n_farthest_points ------
-std::vector<std::vector<double>> subsampling_n_farthest_points(const std::vector<std::vector<double>>& points,
- unsigned nb_points) {
- std::vector<std::vector<double>> landmarks;
- Subsampling_dynamic_kernel k;
- choose_n_farthest_points(k, points, nb_points, random_starting_point, std::back_inserter(landmarks));
-
- return landmarks;
-}
-
-std::vector<std::vector<double>> subsampling_n_farthest_points(const std::vector<std::vector<double>>& points,
- unsigned nb_points, unsigned starting_point) {
- std::vector<std::vector<double>> landmarks;
- Subsampling_dynamic_kernel k;
- choose_n_farthest_points(k, points, nb_points, starting_point, std::back_inserter(landmarks));
-
- return landmarks;
-}
-
-std::vector<std::vector<double>> subsampling_n_farthest_points_from_file(const std::string& off_file,
- unsigned nb_points) {
- Gudhi::Points_off_reader<std::vector<double>> off_reader(off_file);
- std::vector<std::vector<double>> points = off_reader.get_point_cloud();
- return subsampling_n_farthest_points(points, nb_points);
-}
-
-std::vector<std::vector<double>> subsampling_n_farthest_points_from_file(const std::string& off_file,
- unsigned nb_points, unsigned starting_point) {
- Gudhi::Points_off_reader<std::vector<double>> off_reader(off_file);
- std::vector<std::vector<double>> points = off_reader.get_point_cloud();
- return subsampling_n_farthest_points(points, nb_points, starting_point);
-}
-
-// ------ pick_n_random_points ------
-std::vector<std::vector<double>> subsampling_n_random_points(const std::vector<std::vector<double>>& points,
- unsigned nb_points) {
- std::vector<std::vector<double>> landmarks;
- pick_n_random_points(points, nb_points, std::back_inserter(landmarks));
-
- return landmarks;
-}
-
-std::vector<std::vector<double>> subsampling_n_random_points_from_file(const std::string& off_file,
- unsigned nb_points) {
- Gudhi::Points_off_reader<std::vector<double>> off_reader(off_file);
- std::vector<std::vector<double>> points = off_reader.get_point_cloud();
- return subsampling_n_random_points(points, nb_points);
-}
-
-// ------ sparsify_point_set ------
-std::vector<std::vector<double>> subsampling_sparsify_points(const std::vector<std::vector<double>>& points,
- double min_squared_dist) {
- std::vector<Subsampling_point_d> input, output;
- for (auto point : points)
- input.push_back(Subsampling_point_d(point.size(), point.begin(), point.end()));
- Subsampling_dynamic_kernel k;
- sparsify_point_set(k, input, min_squared_dist, std::back_inserter(output));
-
- std::vector<std::vector<double>> landmarks;
- for (auto point : output)
- landmarks.push_back(std::vector<double>(point.cartesian_begin(), point.cartesian_end()));
- return landmarks;
-}
-
-std::vector<std::vector<double>> subsampling_sparsify_points_from_file(const std::string& off_file,
- double min_squared_dist) {
- Gudhi::Points_off_reader<std::vector<double>> off_reader(off_file);
- std::vector<std::vector<double>> points = off_reader.get_point_cloud();
- return subsampling_sparsify_points(points, min_squared_dist);
-}
-
-} // namespace subsampling
-
-} // namespace Gudhi
-
-#endif // INCLUDE_SUBSAMPLING_INTERFACE_H_
diff --git a/cython/include/Tangential_complex_interface.h b/cython/include/Tangential_complex_interface.h
deleted file mode 100644
index 71418886..00000000
--- a/cython/include/Tangential_complex_interface.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/* This file is part of the Gudhi Library. The Gudhi library
- * (Geometric Understanding in Higher Dimensions) is a generic C++
- * library for computational topology.
- *
- * Author(s): Vincent Rouvreau
- *
- * Copyright (C) 2016 Inria
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef INCLUDE_TANGENTIAL_COMPLEX_INTERFACE_H_
-#define INCLUDE_TANGENTIAL_COMPLEX_INTERFACE_H_
-
-#include <gudhi/Simplex_tree.h>
-#include <gudhi/Tangential_complex.h>
-#include <gudhi/Points_off_io.h>
-#include <CGAL/Epick_d.h>
-
-#include "Simplex_tree_interface.h"
-
-#include <vector>
-#include <utility> // std::pair
-#include <iostream>
-#include <string>
-
-namespace Gudhi {
-
-namespace tangential_complex {
-
-class Tangential_complex_interface {
- using Dynamic_kernel = CGAL::Epick_d< CGAL::Dynamic_dimension_tag >;
- using Point_d = Dynamic_kernel::Point_d;
- using TC = Tangential_complex<Dynamic_kernel, CGAL::Dynamic_dimension_tag, CGAL::Parallel_tag>;
-
- public:
- Tangential_complex_interface(int intrisic_dim, const std::vector<std::vector<double>>& points) {
- Dynamic_kernel k;
-
- tangential_complex_ = new TC(points, intrisic_dim, k);
- tangential_complex_->compute_tangential_complex();
- num_inconsistencies_ = tangential_complex_->number_of_inconsistent_simplices();
- }
-
- Tangential_complex_interface(int intrisic_dim, const std::string& off_file_name, bool from_file = true) {
- Dynamic_kernel k;
-
- Gudhi::Points_off_reader<Point_d> off_reader(off_file_name);
- std::vector<Point_d> points = off_reader.get_point_cloud();
-
- tangential_complex_ = new TC(points, intrisic_dim, k);
- tangential_complex_->compute_tangential_complex();
- num_inconsistencies_ = tangential_complex_->number_of_inconsistent_simplices();
- }
-
- ~Tangential_complex_interface() {
- delete tangential_complex_;
- }
-
- std::vector<double> get_point(unsigned vh) {
- std::vector<double> vd;
- if (vh < tangential_complex_->number_of_vertices()) {
- Point_d ph = tangential_complex_->get_point(vh);
- for (auto coord = ph.cartesian_begin(); coord < ph.cartesian_end(); coord++)
- vd.push_back(*coord);
- }
- return vd;
- }
-
- unsigned number_of_vertices() {
- return tangential_complex_->number_of_vertices();
- }
-
- unsigned number_of_simplices() {
- return num_inconsistencies_.num_simplices;
- }
-
- unsigned number_of_inconsistent_simplices() {
- return num_inconsistencies_.num_inconsistent_simplices;
- }
-
- unsigned number_of_inconsistent_stars() {
- return num_inconsistencies_.num_inconsistent_stars;
- }
-
- void fix_inconsistencies_using_perturbation(double max_perturb, double time_limit) {
- tangential_complex_->fix_inconsistencies_using_perturbation(max_perturb, time_limit);
- num_inconsistencies_ = tangential_complex_->number_of_inconsistent_simplices();
- }
-
- void create_simplex_tree(Simplex_tree<>* simplex_tree) {
- tangential_complex_->create_complex<Gudhi::Simplex_tree<Gudhi::Simplex_tree_options_full_featured>>(*simplex_tree);
- simplex_tree->initialize_filtration();
- }
-
- private:
- TC* tangential_complex_;
- TC::Num_inconsistencies num_inconsistencies_;
-};
-
-} // namespace tangential_complex
-
-} // namespace Gudhi
-
-#endif // INCLUDE_TANGENTIAL_COMPLEX_INTERFACE_H_
diff --git a/cython/include/Witness_complex_interface.h b/cython/include/Witness_complex_interface.h
deleted file mode 100644
index 01b372e7..00000000
--- a/cython/include/Witness_complex_interface.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/* This file is part of the Gudhi Library. The Gudhi library
- * (Geometric Understanding in Higher Dimensions) is a generic C++
- * library for computational topology.
- *
- * Author(s): Vincent Rouvreau
- *
- * Copyright (C) 2016 Inria
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef INCLUDE_WITNESS_COMPLEX_INTERFACE_H_
-#define INCLUDE_WITNESS_COMPLEX_INTERFACE_H_
-
-#include <gudhi/Simplex_tree.h>
-#include <gudhi/Witness_complex.h>
-
-#include "Simplex_tree_interface.h"
-
-#include <vector>
-#include <utility> // std::pair
-#include <iostream>
-#include <cstddef>
-
-namespace Gudhi {
-
-namespace witness_complex {
-
-class Witness_complex_interface {
- using Nearest_landmark_range = std::vector<std::pair<std::size_t, double>>;
- using Nearest_landmark_table = std::vector<Nearest_landmark_range>;
-
- public:
- Witness_complex_interface(const Nearest_landmark_table& nlt) {
- witness_complex_ = new Witness_complex<Nearest_landmark_table>(nlt);
- }
-
- ~Witness_complex_interface() {
- delete witness_complex_;
- }
-
- void create_simplex_tree(Simplex_tree_interface<>* simplex_tree, double max_alpha_square,
- std::size_t limit_dimension) {
- witness_complex_->create_complex(*simplex_tree, max_alpha_square, limit_dimension);
- simplex_tree->initialize_filtration();
- }
-
- void create_simplex_tree(Simplex_tree_interface<>* simplex_tree,
- double max_alpha_square) {
- witness_complex_->create_complex(*simplex_tree, max_alpha_square);
- simplex_tree->initialize_filtration();
- }
-
- private:
- Witness_complex<Nearest_landmark_table>* witness_complex_;
-};
-
-} // namespace witness_complex
-
-} // namespace Gudhi
-
-#endif // INCLUDE_WITNESS_COMPLEX_INTERFACE_H_
-