summaryrefslogtreecommitdiff
path: root/src/Gudhi_stat/example/utilities/persistence_vectors
diff options
context:
space:
mode:
Diffstat (limited to 'src/Gudhi_stat/example/utilities/persistence_vectors')
-rw-r--r--src/Gudhi_stat/example/utilities/persistence_vectors/average_persistence_vectors.cpp75
-rw-r--r--src/Gudhi_stat/example/utilities/persistence_vectors/compute_distance_of_persistence_vectors.cpp108
-rw-r--r--src/Gudhi_stat/example/utilities/persistence_vectors/compute_scalar_product_of_persistence_vectors.cpp97
-rw-r--r--src/Gudhi_stat/example/utilities/persistence_vectors/create_persistence_vectors.cpp57
-rw-r--r--src/Gudhi_stat/example/utilities/persistence_vectors/plot_persistence_vectors.cpp51
5 files changed, 0 insertions, 388 deletions
diff --git a/src/Gudhi_stat/example/utilities/persistence_vectors/average_persistence_vectors.cpp b/src/Gudhi_stat/example/utilities/persistence_vectors/average_persistence_vectors.cpp
deleted file mode 100644
index 1b269e9c..00000000
--- a/src/Gudhi_stat/example/utilities/persistence_vectors/average_persistence_vectors.cpp
+++ /dev/null
@@ -1,75 +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) 2015 INRIA Sophia-Saclay (France)
- *
- * 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/>.
- */
-
-
-
-#include <gudhi/abstract_classes/Abs_Topological_data.h>
-#include <gudhi/concretizations/Vector_distances_in_diagram.h>
-
-
-
-using namespace Gudhi;
-using namespace Gudhi::Gudhi_stat;
-
-#include <iostream>
-
-
-int main( int argc , char** argv )
-{
- std::cout << "This program computes average persistence vector of persistence vectors created based on persistence diagrams provided as an input. \n";
- std::cout << "Please call this program with the names of files with persistence diagrams \n";
- std::vector< const char* > filenames;
-
- if ( argc == 1 )
- {
- std::cout << "No input files given, the program will now terminate \n";
- return 1;
- }
-
- for ( int i = 1 ; i < argc ; ++i )
- {
- filenames.push_back( argv[i] );
- }
-
- std::cout << "Reading persistence vectors...\n";
- std::vector< Abs_Topological_data_with_averages* > lands;
- for ( size_t i = 0 ; i != filenames.size() ; ++i )
- {
- Vector_distances_in_diagram< euclidean_distance<double> >* l = new Vector_distances_in_diagram< euclidean_distance<double> >;
- l->load_from_file( filenames[i] );
- lands.push_back( (Abs_Topological_data_with_averages*)l );
- }
-
- Vector_distances_in_diagram< euclidean_distance<double> > av;
- av.compute_average( lands );
-
- av.print_to_file( "average.vect" );
-
- for ( size_t i = 0 ; i != filenames.size() ; ++i )
- {
- delete lands[i];
- }
-
- std::cout << "Done \n";
-
- return 0;
-}
diff --git a/src/Gudhi_stat/example/utilities/persistence_vectors/compute_distance_of_persistence_vectors.cpp b/src/Gudhi_stat/example/utilities/persistence_vectors/compute_distance_of_persistence_vectors.cpp
deleted file mode 100644
index 72026497..00000000
--- a/src/Gudhi_stat/example/utilities/persistence_vectors/compute_distance_of_persistence_vectors.cpp
+++ /dev/null
@@ -1,108 +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) 2015 INRIA Sophia-Saclay (France)
- *
- * 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/>.
- */
-
-
-
-#include <gudhi/abstract_classes/Abs_Topological_data.h>
-#include <gudhi/concretizations/Vector_distances_in_diagram.h>
-
-
-
-using namespace Gudhi;
-using namespace Gudhi::Gudhi_stat;
-
-#include <iostream>
-#include <sstream>
-
-
-int main( int argc , char** argv )
-{
- std::cout << "This program compute distance of persistence vectors stored in a file (the file needs to be created beforehand). \n";
- std::cout << "The first parameter of a program is an interger p. The program compute l^p distance of the vectors. For l^infty distance choose p = -1. \n";
- std::cout << "The remaining parameters of this programs are names of files with persistence vectors.\n";
-
- if ( argc < 3 )
- {
- std::cout << "Wrong number of parameters, the program will now terminate \n";
- return 1;
- }
-
- int p = atoi( argv[1] );
-
- std::vector< const char* > filenames;
- for ( int i = 2 ; i < argc ; ++i )
- {
- filenames.push_back( argv[i] );
- }
- std::vector< Vector_distances_in_diagram< euclidean_distance<double> >* > vectors;
- vectors.reserve( filenames.size() );
- for ( size_t file_no = 0 ; file_no != filenames.size() ; ++file_no )
- {
- //cerr << filenames[file_no] << endl;
- Vector_distances_in_diagram< euclidean_distance<double> >* l = new Vector_distances_in_diagram< euclidean_distance<double> >;
- l->load_from_file( filenames[file_no] );
- vectors.push_back( l );
- }
-
- //and now we will compute the scalar product of landscapes.
-
- //first we prepare an array:
- std::vector< std::vector< double > > distance( filenames.size() );
- for ( size_t i = 0 ; i != filenames.size() ; ++i )
- {
- std::vector< double > v( filenames.size() , 0 );
- distance[i] = v;
- }
-
- //and now we can compute the distances:
- for ( size_t i = 0 ; i != vectors.size() ; ++i )
- {
- for ( size_t j = i+1 ; j != vectors.size() ; ++j )
- {
- distance[i][j] = distance[j][i] = ((Vector_distances_in_diagram< euclidean_distance<double> >*)vectors[i])->distance( vectors[j] , p ) ;
- }
- }
-
- //and now output the result to the screen and a file:
- ofstream out;
- out.open( "distance" );
- for ( size_t i = 0 ; i != distance.size() ; ++i )
- {
- for ( size_t j = 0 ; j != distance.size() ; ++j )
- {
- cout << distance[i][j] << " ";
- out << distance[i][j] << " ";
- }
- cout << endl;
- out << endl;
- }
- out.close();
-
- return 0;
-}
-
-
-
-
-
-
-
diff --git a/src/Gudhi_stat/example/utilities/persistence_vectors/compute_scalar_product_of_persistence_vectors.cpp b/src/Gudhi_stat/example/utilities/persistence_vectors/compute_scalar_product_of_persistence_vectors.cpp
deleted file mode 100644
index 16192d52..00000000
--- a/src/Gudhi_stat/example/utilities/persistence_vectors/compute_scalar_product_of_persistence_vectors.cpp
+++ /dev/null
@@ -1,97 +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) 2015 INRIA Sophia-Saclay (France)
- *
- * 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/>.
- */
-
-
-
-#include <gudhi/abstract_classes/Abs_Topological_data.h>
-#include <gudhi/concretizations/Vector_distances_in_diagram.h>
-
-
-
-using namespace Gudhi;
-using namespace Gudhi::Gudhi_stat;
-
-#include <iostream>
-#include <sstream>
-
-
-int main( int argc , char** argv )
-{
- std::cout << "This program compute scalar product of persistence vectors stored in a file (the file needs to be created beforehand). \n";
- std::cout << "The parameters of this programs are names of files with persistence vectors.\n";
-
- std::vector< const char* > filenames;
- for ( int i = 1 ; i < argc ; ++i )
- {
- filenames.push_back( argv[i] );
- }
- std::vector< Vector_distances_in_diagram< euclidean_distance<double> >* > vectors;
- vectors.reserve( filenames.size() );
- for ( size_t file_no = 0 ; file_no != filenames.size() ; ++file_no )
- {
- Vector_distances_in_diagram< euclidean_distance<double> >* l = new Vector_distances_in_diagram< euclidean_distance<double> >;
- l->load_from_file( filenames[file_no] );
- vectors.push_back( l );
- }
-
- //and now we will compute the scalar product of landscapes.
-
- //first we prepare an array:
- std::vector< std::vector< double > > scalar_product( filenames.size() );
- for ( size_t i = 0 ; i != filenames.size() ; ++i )
- {
- std::vector< double > v( filenames.size() , 0 );
- scalar_product[i] = v;
- }
-
- //and now we can compute the scalar product:
- for ( size_t i = 0 ; i != vectors.size() ; ++i )
- {
- for ( size_t j = i ; j != vectors.size() ; ++j )
- {
- scalar_product[i][j] = scalar_product[j][i] = ((Vector_distances_in_diagram< euclidean_distance<double> >*)vectors[i])->compute_scalar_product( vectors[j] ) ;
- }
- }
-
- //and now output the result to the screen and a file:
- ofstream out;
- out.open( "scalar_product" );
- for ( size_t i = 0 ; i != scalar_product.size() ; ++i )
- {
- for ( size_t j = 0 ; j != scalar_product.size() ; ++j )
- {
- cout << scalar_product[i][j] << " ";
- out << scalar_product[i][j] << " ";
- }
- cout << endl;
- out << endl;
- }
- out.close();
-
- //cleaning up
- for ( size_t i = 0 ; i != vectors.size() ; ++i )
- {
- delete vectors[i];
- }
-
- return 0;
-}
diff --git a/src/Gudhi_stat/example/utilities/persistence_vectors/create_persistence_vectors.cpp b/src/Gudhi_stat/example/utilities/persistence_vectors/create_persistence_vectors.cpp
deleted file mode 100644
index 99015e41..00000000
--- a/src/Gudhi_stat/example/utilities/persistence_vectors/create_persistence_vectors.cpp
+++ /dev/null
@@ -1,57 +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) 2015 INRIA Sophia-Saclay (France)
- *
- * 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/>.
- */
-
-
-
-#include <gudhi/abstract_classes/Abs_Topological_data.h>
-#include <gudhi/concretizations/Vector_distances_in_diagram.h>
-
-
-
-using namespace Gudhi;
-using namespace Gudhi::Gudhi_stat;
-
-#include <iostream>
-#include <sstream>
-
-
-int main( int argc , char** argv )
-{
- std::cout << "This program creates persistence vectors of diagrams provided as an input. Please call this program with the names of files with persistence diagrams \n";
- std::vector< const char* > filenames;
- for ( int i = 1 ; i < argc ; ++i )
- {
- filenames.push_back( argv[i] );
- }
-
- for ( size_t i = 0 ; i != filenames.size() ; ++i )
- {
- std::cerr << "Creatign persistence vectors based on a file : " << filenames[i] << std::endl;
- Vector_distances_in_diagram< euclidean_distance<double> > l( filenames[i] , -1 );
- std::stringstream ss;
- ss << filenames[i] << ".vect";
- l.print_to_file( ss.str().c_str() );
- }
- std::cout << "Done \n";
- return 0;
-}
-
diff --git a/src/Gudhi_stat/example/utilities/persistence_vectors/plot_persistence_vectors.cpp b/src/Gudhi_stat/example/utilities/persistence_vectors/plot_persistence_vectors.cpp
deleted file mode 100644
index ad6c06e2..00000000
--- a/src/Gudhi_stat/example/utilities/persistence_vectors/plot_persistence_vectors.cpp
+++ /dev/null
@@ -1,51 +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) 2015 INRIA Sophia-Saclay (France)
- *
- * 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/>.
- */
-
-
-
-#include <gudhi/abstract_classes/Abs_Topological_data.h>
-#include <gudhi/concretizations/Vector_distances_in_diagram.h>
-
-
-
-using namespace Gudhi;
-using namespace Gudhi::Gudhi_stat;
-
-#include <iostream>
-#include <sstream>
-
-
-int main( int argc , char** argv )
-{
- std::cout << "This program create a Gnuplot script to plot persistence vector. Please call this program with the name of file with persistence vector. \n";
- if ( argc != 2 )
- {
- std::cout << "Wrong number of parameters, the program will now terminate. \n";
- return 1;
- }
- Vector_distances_in_diagram< euclidean_distance<double> > l;
- l.load_from_file( argv[1] );
- l.plot( argv[1] );
-
- return 0;
-}
-