From 599d68cd916f533bdb66dd9e684dd5703233b6bb Mon Sep 17 00:00:00 2001 From: Gard Spreemann Date: Wed, 25 Sep 2019 14:29:41 +0200 Subject: Delete all files in order to incorporate upstream's move to git. --- .../persistence_intervals/CMakeLists.txt | 37 --------- ...te_birth_death_range_in_persistence_diagram.cpp | 68 ---------------- .../compute_bottleneck_distance.cpp | 95 ---------------------- .../compute_number_of_dominant_intervals.cpp | 54 ------------ .../plot_histogram_of_intervals_lengths.cpp | 77 ------------------ .../plot_persistence_Betti_numbers.cpp | 87 -------------------- .../plot_persistence_intervals.cpp | 53 ------------ 7 files changed, 471 deletions(-) delete mode 100644 utilities/Persistence_representations/persistence_intervals/CMakeLists.txt delete mode 100644 utilities/Persistence_representations/persistence_intervals/compute_birth_death_range_in_persistence_diagram.cpp delete mode 100644 utilities/Persistence_representations/persistence_intervals/compute_bottleneck_distance.cpp delete mode 100644 utilities/Persistence_representations/persistence_intervals/compute_number_of_dominant_intervals.cpp delete mode 100644 utilities/Persistence_representations/persistence_intervals/plot_histogram_of_intervals_lengths.cpp delete mode 100644 utilities/Persistence_representations/persistence_intervals/plot_persistence_Betti_numbers.cpp delete mode 100644 utilities/Persistence_representations/persistence_intervals/plot_persistence_intervals.cpp (limited to 'utilities/Persistence_representations/persistence_intervals') diff --git a/utilities/Persistence_representations/persistence_intervals/CMakeLists.txt b/utilities/Persistence_representations/persistence_intervals/CMakeLists.txt deleted file mode 100644 index 649b72cb..00000000 --- a/utilities/Persistence_representations/persistence_intervals/CMakeLists.txt +++ /dev/null @@ -1,37 +0,0 @@ -project(Persistence_representations_intervals_utilities) - - -add_executable ( plot_histogram_of_intervals_lengths plot_histogram_of_intervals_lengths.cpp ) - -add_test(NAME plot_histogram_of_intervals_lengths COMMAND $ - "${CMAKE_CURRENT_BINARY_DIR}/../first.pers" "-1") - -install(TARGETS plot_histogram_of_intervals_lengths DESTINATION bin) - -add_persistence_representation_plot_utility(plot_persistence_intervals "") -add_persistence_representation_plot_utility(plot_persistence_Betti_numbers "") - -add_persistence_representation_creation_utility(compute_birth_death_range_in_persistence_diagram "-1") - - -add_executable ( compute_number_of_dominant_intervals compute_number_of_dominant_intervals.cpp ) -add_test(NAME Persistence_representation_utilities_compute_number_of_dominant_intervals - COMMAND $ - "${CMAKE_CURRENT_BINARY_DIR}/../first.pers" "-1" "2") - -install(TARGETS compute_number_of_dominant_intervals DESTINATION bin) - - -if (NOT CGAL_WITH_EIGEN3_VERSION VERSION_LESS 4.8.1) - add_executable ( compute_bottleneck_distance compute_bottleneck_distance.cpp ) - if (TBB_FOUND) - target_link_libraries(compute_bottleneck_distance ${TBB_LIBRARIES}) - endif(TBB_FOUND) - add_test(NAME Persistence_representation_utilities_compute_bottleneck_distance - COMMAND $ - "-1" - "${CMAKE_CURRENT_BINARY_DIR}/../first.pers" - "${CMAKE_CURRENT_BINARY_DIR}/../second.pers") - - install(TARGETS compute_bottleneck_distance DESTINATION bin) -endif (NOT CGAL_WITH_EIGEN3_VERSION VERSION_LESS 4.8.1) diff --git a/utilities/Persistence_representations/persistence_intervals/compute_birth_death_range_in_persistence_diagram.cpp b/utilities/Persistence_representations/persistence_intervals/compute_birth_death_range_in_persistence_diagram.cpp deleted file mode 100644 index 3be3de8f..00000000 --- a/utilities/Persistence_representations/persistence_intervals/compute_birth_death_range_in_persistence_diagram.cpp +++ /dev/null @@ -1,68 +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): Pawel Dlotko - * - * 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 . - */ - -#include - -#include -#include -#include -#include - -using Persistence_intervals = Gudhi::Persistence_representations::Persistence_intervals; - -int main(int argc, char** argv) { - std::cout << "This program computes the range of birth and death times of persistence pairs in diagrams provided as " - << "an input.\n" - << "The first parameter is the dimension of persistence to be used to create persistence intervals. " - << "If your file contains the information about dimension of persistence pairs, please provide here the " - << "dimension of persistence pairs you want to use. " - << "If your input files consist only of birth-death pairs, please set this first parameter to -1.\n" - << "The remaining parameters of the program are the names of files with persistence diagrams.\n"; - - if (argc < 3) { - std::cout << "Wrong parameter list, the program will now terminate \n"; - return 1; - } - - unsigned dimension = std::numeric_limits::max(); - int dim = atoi(argv[1]); - if (dim >= 0) { - dimension = (unsigned)dim; - } - std::vector filenames; - for (int i = 2; i < argc; ++i) { - filenames.push_back(argv[i]); - } - - double min_ = std::numeric_limits::max(); - double max_ = -std::numeric_limits::max(); - - for (size_t file_no = 0; file_no != filenames.size(); ++file_no) { - std::cout << "Creating diagram based on a file : " << filenames[file_no] << std::endl; - Persistence_intervals p(filenames[file_no], dimension); - std::pair min_max_ = p.get_x_range(); - if (min_max_.first < min_) min_ = min_max_.first; - if (min_max_.second > max_) max_ = min_max_.second; - } - std::cout << "Birth-death range : min: " << min_ << ", max: " << max_ << std::endl; - return 0; -} diff --git a/utilities/Persistence_representations/persistence_intervals/compute_bottleneck_distance.cpp b/utilities/Persistence_representations/persistence_intervals/compute_bottleneck_distance.cpp deleted file mode 100644 index a6953b98..00000000 --- a/utilities/Persistence_representations/persistence_intervals/compute_bottleneck_distance.cpp +++ /dev/null @@ -1,95 +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): Pawel Dlotko - * - * 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 . - */ - -#include - -#include -#include -#include -#include - -using Persistence_intervals_with_distances = Gudhi::Persistence_representations::Persistence_intervals_with_distances; - -int main(int argc, char** argv) { - std::cout << "This program computes the bottleneck distance of persistence pairs in diagrams provided as " - << "an input.\n" - << "The first parameter is the dimension of persistence to be used to create persistence intervals. " - << "If your file contains the information about dimension of persistence pairs, please provide here the " - << "dimension of persistence pairs you want to use. " - << "If your input files consist only of birth-death pairs, please set this first parameter to -1.\n" - << "The remaining parameters of the program are the names of files with persistence diagrams.\n"; - - if (argc < 3) { - std::cout << "Wrong number of parameters, the program will now terminate \n"; - return 1; - } - - unsigned dimension = std::numeric_limits::max(); - int dim = atoi(argv[1]); - if (dim >= 0) { - dimension = (unsigned)dim; - } - - std::vector filenames; - for (int i = 2; i < argc; ++i) { - filenames.push_back(argv[i]); - } - - // reading the persistence intervals: - std::vector persistence_intervals; - for (size_t i = 0; i != filenames.size(); ++i) { - Persistence_intervals_with_distances pers(filenames[i], dimension); - persistence_intervals.push_back(pers); - } - - // and now we will compute the scalar product of landscapes. - - // first we prepare an array: - std::vector > distance(filenames.size()); - for (size_t i = 0; i != filenames.size(); ++i) { - std::vector v(filenames.size(), 0); - distance[i] = v; - } - - // and now we can compute the distances: - for (size_t i = 0; i != persistence_intervals.size(); ++i) { - for (size_t j = i + 1; j != persistence_intervals.size(); ++j) { - distance[i][j] = distance[j][i] = persistence_intervals[i].distance(persistence_intervals[j]); - } - } - - // and now output the result to the screen and a file: - std::ofstream out; - out.open("distance.itv"); - for (size_t i = 0; i != distance.size(); ++i) { - for (size_t j = 0; j != distance.size(); ++j) { - std::cout << distance[i][j] << " "; - out << distance[i][j] << " "; - } - std::cout << std::endl; - out << std::endl; - } - out.close(); - - std::cout << "Distance can be found in 'distance.itv' file\n"; - return 0; -} diff --git a/utilities/Persistence_representations/persistence_intervals/compute_number_of_dominant_intervals.cpp b/utilities/Persistence_representations/persistence_intervals/compute_number_of_dominant_intervals.cpp deleted file mode 100644 index 4f052f42..00000000 --- a/utilities/Persistence_representations/persistence_intervals/compute_number_of_dominant_intervals.cpp +++ /dev/null @@ -1,54 +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): Pawel Dlotko - * - * 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 . - */ - -#include - -#include -#include -#include -#include - -using Persistence_intervals = Gudhi::Persistence_representations::Persistence_intervals; - -int main(int argc, char** argv) { - std::cout << "This program compute the dominant intervals. A number of intervals to be displayed is a parameter of " - "this program. \n"; - if (argc != 4) { - std::cout << "To run this program, please provide the name of a file with persistence diagram, dimension of " - "intervals that should be taken into account (if your file contains only persistence pairs in a " - "single dimension, set it up to -1) and number of dominant intervals you would like to get \n"; - return 1; - } - int dim = atoi(argv[2]); - unsigned dimension = std::numeric_limits::max(); - if (dim >= 0) { - dimension = (unsigned)dim; - } - Persistence_intervals p(argv[1], dimension); - std::vector > dominant_intervals = p.dominant_intervals(atoi(argv[3])); - std::cout << "Here are the dominant intervals : " << std::endl; - for (size_t i = 0; i != dominant_intervals.size(); ++i) { - std::cout << " " << dominant_intervals[i].first << "," << dominant_intervals[i].second << " " << std::endl; - } - - return 0; -} diff --git a/utilities/Persistence_representations/persistence_intervals/plot_histogram_of_intervals_lengths.cpp b/utilities/Persistence_representations/persistence_intervals/plot_histogram_of_intervals_lengths.cpp deleted file mode 100644 index f283971b..00000000 --- a/utilities/Persistence_representations/persistence_intervals/plot_histogram_of_intervals_lengths.cpp +++ /dev/null @@ -1,77 +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): Pawel Dlotko - * - * 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 . - */ - -#include - -#include -#include -#include -#include - -using Persistence_intervals = Gudhi::Persistence_representations::Persistence_intervals; - -int main(int argc, char** argv) { - std::cout << "This program computes a histogram of barcode's length. A number of bins in the histogram is a " - << "parameter of this program. \n"; - if ((argc != 3) && (argc != 4)) { - std::cout << "To run this program, please provide the name of a file with persistence diagram and number of " - << "dominant intervals you would like to get. Set a negative number dominant intervals value " - << "If your file contains only birth-death pairs.\n" - << "The third parameter is the dimension of the persistence that is to be used. If your " - << "file contains only birth-death pairs, you can skip this parameter\n"; - return 1; - } - - unsigned dominant_interval_number = std::numeric_limits::max(); - int nbr = atoi(argv[2]); - if (nbr >= 0) { - dominant_interval_number = static_cast(nbr); - } - - int persistence_dimension = -1; - if (argc == 4) { - persistence_dimension = atoi(argv[3]); - } - - Persistence_intervals p(argv[1], dominant_interval_number); - std::vector > dominant_intervals = p.dominant_intervals(persistence_dimension); - std::vector histogram = p.histogram_of_lengths(10); - - std::stringstream gnuplot_script; - gnuplot_script << argv[1] << "_GnuplotScript"; - std::ofstream out; - out.open(gnuplot_script.str().c_str()); - - out << "set style data histogram" << std::endl; - out << "set style histogram cluster gap 1" << std::endl; - out << "set style fill solid border -1" << std::endl; - out << "plot '-' notitle" << std::endl; - for (size_t i = 0; i != histogram.size(); ++i) { - out << histogram[i] << std::endl; - } - out << std::endl; - out.close(); - - std::cout << "To visualize, install gnuplot and type the command: gnuplot -persist -e \"load \'" - << gnuplot_script.str().c_str() << "\'\"" << std::endl; - return 0; -} diff --git a/utilities/Persistence_representations/persistence_intervals/plot_persistence_Betti_numbers.cpp b/utilities/Persistence_representations/persistence_intervals/plot_persistence_Betti_numbers.cpp deleted file mode 100644 index 1cacbcd0..00000000 --- a/utilities/Persistence_representations/persistence_intervals/plot_persistence_Betti_numbers.cpp +++ /dev/null @@ -1,87 +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): Pawel Dlotko - * - * 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 . - */ - -#include - -#include -#include -#include -#include - -using Persistence_intervals = Gudhi::Persistence_representations::Persistence_intervals; - -int main(int argc, char** argv) { - if ((argc != 3) && (argc != 2)) { - std::cout << "This program creates a gnuplot script of Betti numbers from a single persistence diagram file" - << "(*.pers).\n" - << "To run this program, please provide the name of a file with persistence diagram.\n" - << "The second optional parameter of a program is the dimension of the persistence that is to be used. " - << "If your file contains only birth-death pairs, you can skip this parameter.\n"; - return 1; - } - - unsigned dimension = std::numeric_limits::max(); - int dim = -1; - if (argc == 3) { - dim = atoi(argv[2]); - } - if (dim >= 0) { - dimension = (unsigned)dim; - } - - Persistence_intervals p(argv[1], dimension); - std::vector > pbns = p.compute_persistent_betti_numbers(); - - // set up the ranges so that we see the image well. - double xRangeBegin = pbns[0].first; - double xRangeEnd = pbns[pbns.size() - 1].first; - double yRangeBegin = 0; - double yRangeEnd = 0; - for (size_t i = 0; i != pbns.size(); ++i) { - if (pbns[i].second > yRangeEnd) yRangeEnd = pbns[i].second; - } - xRangeBegin -= (xRangeEnd - xRangeBegin) / 100.0; - xRangeEnd += (xRangeEnd - xRangeBegin) / 100.0; - yRangeEnd += yRangeEnd / 100; - - std::stringstream gnuplot_script; - gnuplot_script << argv[1] << "_GnuplotScript"; - std::ofstream out; - out.open(gnuplot_script.str().c_str()); - - out << "set xrange [" << xRangeBegin << " : " << xRangeEnd << "]" << std::endl; - out << "set yrange [" << yRangeBegin << " : " << yRangeEnd << "]" << std::endl; - out << "plot '-' using 1:2 notitle with lp " << std::endl; - double previous_y = 0; - for (size_t i = 0; i != pbns.size(); ++i) { - out << pbns[i].first << " " << previous_y << std::endl; - out << pbns[i].first << " " << pbns[i].second << std::endl; - previous_y = pbns[i].second; - } - out << std::endl; - out.close(); - - std::cout << "To visualize, install gnuplot and type the command: gnuplot -persist -e \"load \'" - << gnuplot_script.str().c_str() << "\'\"" << std::endl; - - return 0; -} diff --git a/utilities/Persistence_representations/persistence_intervals/plot_persistence_intervals.cpp b/utilities/Persistence_representations/persistence_intervals/plot_persistence_intervals.cpp deleted file mode 100644 index f92d5782..00000000 --- a/utilities/Persistence_representations/persistence_intervals/plot_persistence_intervals.cpp +++ /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): Pawel Dlotko - * - * 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 . - */ - -#include - -#include -#include -#include -#include - -using Persistence_intervals = Gudhi::Persistence_representations::Persistence_intervals; - -int main(int argc, char** argv) { - if ((argc != 3) && (argc != 2)) { - std::cout << "This program creates a gnuplot script from a single persistence diagram file (*.pers).\n" - << "To run this program, please provide the name of a file with persistence diagram.\n" - << "The second optional parameter of a program is the dimension of the persistence that is to be used. " - << "If your file contains only birth-death pairs, you can skip this parameter.\n"; - return 1; - } - unsigned dimension = std::numeric_limits::max(); - int dim = -1; - if (argc == 3) { - dim = atoi(argv[2]); - } - if (dim >= 0) { - dimension = (unsigned)dim; - } - std::vector > intervals = - Gudhi::Persistence_representations::read_persistence_intervals_in_one_dimension_from_file(argv[1], dimension); - Persistence_intervals b(intervals); - b.plot(argv[1]); - return 0; -} -- cgit v1.2.3