summaryrefslogtreecommitdiff
path: root/src/Persistence_representations/utilities/persistence_landscapes_on_grid
diff options
context:
space:
mode:
authorvrouvrea <vrouvrea@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2017-05-30 15:52:00 +0000
committervrouvrea <vrouvrea@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2017-05-30 15:52:00 +0000
commit9d1a526de85694b5f075bb88dbd7097a40abf10a (patch)
treebbcd0cef32610d2f5e9c0209b48c58f73fbf379a /src/Persistence_representations/utilities/persistence_landscapes_on_grid
parent2bcb3d7cb47ce71803f2464cc822346ed2e1b039 (diff)
clang format all sources
git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/persistence_representation_integration@2477 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: 326d664483d6700f82be824f79a0bf5c082b4945
Diffstat (limited to 'src/Persistence_representations/utilities/persistence_landscapes_on_grid')
-rw-r--r--src/Persistence_representations/utilities/persistence_landscapes_on_grid/average_landscapes_on_grid.cpp72
-rw-r--r--src/Persistence_representations/utilities/persistence_landscapes_on_grid/compute_distance_of_landscapes_on_grid.cpp125
-rw-r--r--src/Persistence_representations/utilities/persistence_landscapes_on_grid/compute_scalar_product_of_landscapes_on_grid.cpp101
-rw-r--r--src/Persistence_representations/utilities/persistence_landscapes_on_grid/create_landscapes_on_grid.cpp100
-rw-r--r--src/Persistence_representations/utilities/persistence_landscapes_on_grid/plot_landscapes_on_grid.cpp36
5 files changed, 194 insertions, 240 deletions
diff --git a/src/Persistence_representations/utilities/persistence_landscapes_on_grid/average_landscapes_on_grid.cpp b/src/Persistence_representations/utilities/persistence_landscapes_on_grid/average_landscapes_on_grid.cpp
index 10d9e7ac..87512212 100644
--- a/src/Persistence_representations/utilities/persistence_landscapes_on_grid/average_landscapes_on_grid.cpp
+++ b/src/Persistence_representations/utilities/persistence_landscapes_on_grid/average_landscapes_on_grid.cpp
@@ -22,50 +22,44 @@
#include <gudhi/Persistence_landscape_on_grid.h>
-
-
using namespace Gudhi;
using namespace Gudhi::Persistence_representations;
#include <iostream>
+int main(int argc, char** argv) {
+ std::cout << "This program computes average persistence landscape on grid of persistence landscapes on grid created "
+ "based on persistence diagrams provided as an input. 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 << "Creating persistence landscapes...\n";
+ std::vector<Persistence_landscape_on_grid*> lands;
+ for (size_t i = 0; i != filenames.size(); ++i) {
+ Persistence_landscape_on_grid* l = new Persistence_landscape_on_grid;
+ l->load_landscape_from_file(filenames[i]);
+ lands.push_back(l);
+ }
+
+ Persistence_landscape_on_grid av;
+ av.compute_average(lands);
+
+ av.print_to_file("average.g_land");
+
+ for (size_t i = 0; i != filenames.size(); ++i) {
+ delete lands[i];
+ }
-int main( int argc , char** argv )
-{
- std::cout << "This program computes average persistence landscape on grid of persistence landscapes on grid created based on persistence diagrams provided as an input. 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 << "Creating persistence landscapes...\n";
- std::vector< Persistence_landscape_on_grid* > lands;
- for ( size_t i = 0 ; i != filenames.size() ; ++i )
- {
- Persistence_landscape_on_grid* l = new Persistence_landscape_on_grid;
- l->load_landscape_from_file( filenames[i] );
- lands.push_back( l );
- }
-
- Persistence_landscape_on_grid av;
- av.compute_average( lands );
-
- av.print_to_file( "average.g_land" );
-
- for ( size_t i = 0 ; i != filenames.size() ; ++i )
- {
- delete lands[i];
- }
-
- std::cout << "Done \n";
+ std::cout << "Done \n";
- return 0;
+ return 0;
}
diff --git a/src/Persistence_representations/utilities/persistence_landscapes_on_grid/compute_distance_of_landscapes_on_grid.cpp b/src/Persistence_representations/utilities/persistence_landscapes_on_grid/compute_distance_of_landscapes_on_grid.cpp
index 3065b52c..db920c82 100644
--- a/src/Persistence_representations/utilities/persistence_landscapes_on_grid/compute_distance_of_landscapes_on_grid.cpp
+++ b/src/Persistence_representations/utilities/persistence_landscapes_on_grid/compute_distance_of_landscapes_on_grid.cpp
@@ -22,87 +22,70 @@
#include <gudhi/Persistence_landscape_on_grid.h>
-
-
using namespace Gudhi;
using namespace Gudhi::Persistence_representations;
#include <iostream>
#include <sstream>
+int main(int argc, char** argv) {
+ std::cout << "This program compute distance of persistence landscapes on grid stored in a file (the file needs to be "
+ "created beforehand). \n";
+ std::cout << "The first parameter of a program is an integer p. The program compute L^p distance of the landscapes "
+ "on grid. For L^infty distance choose p = -1. \n";
+ std::cout << "The remaining parameters of this programs are names of files with persistence landscapes on grid.\n";
-int main( int argc , char** argv )
-{
- std::cout << "This program compute distance of persistence landscapes on grid stored in a file (the file needs to be created beforehand). \n";
- std::cout << "The first parameter of a program is an integer p. The program compute L^p distance of the landscapes on grid. For L^infty distance choose p = -1. \n";
- std::cout << "The remaining parameters of this programs are names of files with persistence landscapes on grid.\n";
-
- if ( argc < 3 )
- {
- std::cout << "Wrong number of parameters, the program will now terminate \n";
- return 1;
- }
-
- int pp = atoi( argv[1] );
- double p = std::numeric_limits<double>::max();
- if ( pp != -1 )
- {
- p = pp;
- }
-
+ if (argc < 3) {
+ std::cout << "Wrong number of parameters, the program will now terminate \n";
+ return 1;
+ }
- std::vector< const char* > filenames;
- for ( int i = 2 ; i < argc ; ++i )
- {
- filenames.push_back( argv[i] );
- }
- std::vector< Persistence_landscape_on_grid > landscaspes;
- landscaspes.reserve( filenames.size() );
- for ( size_t file_no = 0 ; file_no != filenames.size() ; ++file_no )
- {
- Persistence_landscape_on_grid l;
- l.load_landscape_from_file( filenames[file_no] );
- landscaspes.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 scalar product:
- for ( size_t i = 0 ; i != landscaspes.size() ; ++i )
- {
- for ( size_t j = i ; j != landscaspes.size() ; ++j )
- {
- distance[i][j] = distance[j][i] = compute_distance_of_landscapes_on_grid( landscaspes[i], landscaspes[j] , p ) ;
- }
- }
-
- //and now output the result to the screen and a file:
- std::ofstream out;
- out.open( "distance" );
- 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();
-
- return 0;
-}
+ int pp = atoi(argv[1]);
+ double p = std::numeric_limits<double>::max();
+ if (pp != -1) {
+ p = pp;
+ }
+ std::vector<const char*> filenames;
+ for (int i = 2; i < argc; ++i) {
+ filenames.push_back(argv[i]);
+ }
+ std::vector<Persistence_landscape_on_grid> landscaspes;
+ landscaspes.reserve(filenames.size());
+ for (size_t file_no = 0; file_no != filenames.size(); ++file_no) {
+ Persistence_landscape_on_grid l;
+ l.load_landscape_from_file(filenames[file_no]);
+ landscaspes.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 scalar product:
+ for (size_t i = 0; i != landscaspes.size(); ++i) {
+ for (size_t j = i; j != landscaspes.size(); ++j) {
+ distance[i][j] = distance[j][i] = compute_distance_of_landscapes_on_grid(landscaspes[i], landscaspes[j], p);
+ }
+ }
+ // and now output the result to the screen and a file:
+ std::ofstream out;
+ out.open("distance");
+ 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();
+
+ return 0;
+}
diff --git a/src/Persistence_representations/utilities/persistence_landscapes_on_grid/compute_scalar_product_of_landscapes_on_grid.cpp b/src/Persistence_representations/utilities/persistence_landscapes_on_grid/compute_scalar_product_of_landscapes_on_grid.cpp
index 342613b4..9bbba7cf 100644
--- a/src/Persistence_representations/utilities/persistence_landscapes_on_grid/compute_scalar_product_of_landscapes_on_grid.cpp
+++ b/src/Persistence_representations/utilities/persistence_landscapes_on_grid/compute_scalar_product_of_landscapes_on_grid.cpp
@@ -20,70 +20,59 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-
#include <gudhi/Persistence_landscape_on_grid.h>
-
-
using namespace Gudhi;
using namespace Gudhi::Persistence_representations;
#include <iostream>
#include <sstream>
+int main(int argc, char** argv) {
+ std::cout << "This program compute scalar product of persistence landscapes on grid 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 landscapes on grid.\n";
+
+ std::vector<const char*> filenames;
+ for (int i = 1; i < argc; ++i) {
+ filenames.push_back(argv[i]);
+ }
+ std::vector<Persistence_landscape_on_grid> landscaspes;
+ landscaspes.reserve(filenames.size());
+ for (size_t file_no = 0; file_no != filenames.size(); ++file_no) {
+ Persistence_landscape_on_grid l;
+ l.load_landscape_from_file(filenames[file_no]);
+ landscaspes.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 != landscaspes.size(); ++i) {
+ for (size_t j = i; j != landscaspes.size(); ++j) {
+ scalar_product[i][j] = scalar_product[j][i] = compute_inner_product(landscaspes[i], landscaspes[j]);
+ }
+ }
-int main( int argc , char** argv )
-{
- std::cout << "This program compute scalar product of persistence landscapes on grid 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 landscapes on grid.\n";
+ // and now output the result to the screen and a file:
+ std::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) {
+ std::cout << scalar_product[i][j] << " ";
+ out << scalar_product[i][j] << " ";
+ }
+ std::cout << std::endl;
+ out << std::endl;
+ }
+ out.close();
- std::vector< const char* > filenames;
- for ( int i = 1 ; i < argc ; ++i )
- {
- filenames.push_back( argv[i] );
- }
- std::vector< Persistence_landscape_on_grid > landscaspes;
- landscaspes.reserve( filenames.size() );
- for ( size_t file_no = 0 ; file_no != filenames.size() ; ++file_no )
- {
- Persistence_landscape_on_grid l;
- l.load_landscape_from_file( filenames[file_no] );
- landscaspes.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 != landscaspes.size() ; ++i )
- {
- for ( size_t j = i ; j != landscaspes.size() ; ++j )
- {
- scalar_product[i][j] = scalar_product[j][i] = compute_inner_product( landscaspes[i], landscaspes[j] ) ;
- }
- }
-
- //and now output the result to the screen and a file:
- std::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 )
- {
- std::cout << scalar_product[i][j] << " ";
- out << scalar_product[i][j] << " ";
- }
- std::cout << std::endl;
- out << std::endl;
- }
- out.close();
-
- return 0;
+ return 0;
}
diff --git a/src/Persistence_representations/utilities/persistence_landscapes_on_grid/create_landscapes_on_grid.cpp b/src/Persistence_representations/utilities/persistence_landscapes_on_grid/create_landscapes_on_grid.cpp
index a033362c..e135896c 100644
--- a/src/Persistence_representations/utilities/persistence_landscapes_on_grid/create_landscapes_on_grid.cpp
+++ b/src/Persistence_representations/utilities/persistence_landscapes_on_grid/create_landscapes_on_grid.cpp
@@ -22,65 +22,57 @@
#include <gudhi/Persistence_landscape_on_grid.h>
-
-
using namespace Gudhi;
using namespace Gudhi::Persistence_representations;
#include <iostream>
#include <sstream>
+int main(int argc, char** argv) {
+ std::cout << "This program creates persistence landscape on grid of diagrams provided as an input.\n";
+ std::cout << "The first parameter of a program is an integer, a size of a grid.\n";
+ std::cout << "The second and third parameters are min and max of the grid. If you want those numbers to be computed "
+ "based on the data, set them both to -1 \n";
+ std::cout << "The fourth parameter of the program is the dimension of persistence to be used to construct "
+ "persistence landscape on a grid. If your file contains ";
+ std::cout << "the information about dimension of birth-death pairs, please provide here the dimension of intervals "
+ "you want to use. If your input files consist only ";
+ std::cout << "of birth-death pairs, please set the fourth parameter to -1 \n";
+ std::cout << "The remaining parameters are the names of files with persistence diagrams. \n";
+
+ if (argc < 5) {
+ std::cout << "Wrong parameter list, the program will now terminate \n";
+ return 1;
+ }
+
+ size_t size_of_grid = (size_t)atoi(argv[1]);
+ double min_ = atof(argv[2]);
+ double max_ = atof(argv[3]);
+ int dim = atoi(argv[4]);
+ unsigned dimension = std::numeric_limits<unsigned>::max();
+ if (dim >= 0) {
+ dimension = (unsigned)dim;
+ }
+
+ std::vector<const char*> filenames;
+ for (int i = 5; i < argc; ++i) {
+ filenames.push_back(argv[i]);
+ }
-int main( int argc , char** argv )
-{
- std::cout << "This program creates persistence landscape on grid of diagrams provided as an input.\n";
- std::cout << "The first parameter of a program is an integer, a size of a grid.\n";
- std::cout << "The second and third parameters are min and max of the grid. If you want those numbers to be computed based on the data, set them both to -1 \n";
- std::cout << "The fourth parameter of the program is the dimension of persistence to be used to construct persistence landscape on a grid. If your file contains ";
- std::cout << "the information about dimension of birth-death pairs, please provide here the dimension of intervals you want to use. If your input files consist only ";
- std::cout << "of birth-death pairs, please set the fourth parameter to -1 \n";
- std::cout << "The remaining parameters are the names of files with persistence diagrams. \n";
-
- if ( argc < 5 )
- {
- std::cout << "Wrong parameter list, the program will now terminate \n";
- return 1;
- }
-
- size_t size_of_grid = (size_t)atoi( argv[1] );
- double min_ = atof( argv[2] );
- double max_ = atof( argv[3] );
- int dim = atoi( argv[4] );
- unsigned dimension = std::numeric_limits<unsigned>::max();
- if ( dim >= 0 )
- {
- dimension = (unsigned)dim;
- }
-
- std::vector< const char* > filenames;
- for ( int i = 5 ; i < argc ; ++i )
- {
- filenames.push_back( argv[i] );
- }
-
- std::cout << "Creating persistence landscapes...\n";
- for ( size_t i = 0 ; i != filenames.size() ; ++i )
- {
- std::cout << "Creating persistence landscape on a grid based on a file : " << filenames[i] << std::endl;
- Persistence_landscape_on_grid l;
- if ( (min_ != -1) || (max_ != -1) )
- {
- l = Persistence_landscape_on_grid( filenames[i] , min_ , max_ , size_of_grid , dimension );
- }
- else
- {
- //(min_ == -1) && (max_ == -1), in this case the program will find min_ and max_ based on the data.
- l = Persistence_landscape_on_grid( filenames[i] , size_of_grid , dimension );
- }
- std::stringstream ss;
- ss << filenames[i] << ".g_land";
- l.print_to_file( ss.str().c_str() );
- }
- std::cout << "Done \n";
- return 0;
+ std::cout << "Creating persistence landscapes...\n";
+ for (size_t i = 0; i != filenames.size(); ++i) {
+ std::cout << "Creating persistence landscape on a grid based on a file : " << filenames[i] << std::endl;
+ Persistence_landscape_on_grid l;
+ if ((min_ != -1) || (max_ != -1)) {
+ l = Persistence_landscape_on_grid(filenames[i], min_, max_, size_of_grid, dimension);
+ } else {
+ //(min_ == -1) && (max_ == -1), in this case the program will find min_ and max_ based on the data.
+ l = Persistence_landscape_on_grid(filenames[i], size_of_grid, dimension);
+ }
+ std::stringstream ss;
+ ss << filenames[i] << ".g_land";
+ l.print_to_file(ss.str().c_str());
+ }
+ std::cout << "Done \n";
+ return 0;
}
diff --git a/src/Persistence_representations/utilities/persistence_landscapes_on_grid/plot_landscapes_on_grid.cpp b/src/Persistence_representations/utilities/persistence_landscapes_on_grid/plot_landscapes_on_grid.cpp
index b4fa3046..d9d7d7af 100644
--- a/src/Persistence_representations/utilities/persistence_landscapes_on_grid/plot_landscapes_on_grid.cpp
+++ b/src/Persistence_representations/utilities/persistence_landscapes_on_grid/plot_landscapes_on_grid.cpp
@@ -22,31 +22,27 @@
#include <gudhi/Persistence_landscape_on_grid.h>
-
-
using namespace Gudhi;
using namespace Gudhi::Persistence_representations;
#include <iostream>
#include <sstream>
+int main(int argc, char** argv) {
+ std::cout << "This program plot persistence landscape on grid stored in a file (the file needs to be created "
+ "beforehand). Please call the code with the name of a landscape on grid file \n";
+ if (argc == 1) {
+ std::cout << "Wrong parameters of a program call, the program will now terminate \n";
+ return 1;
+ }
+ Persistence_landscape_on_grid l;
+ l.load_landscape_from_file(argv[1]);
+
+ std::stringstream ss;
+ ss << argv[1] << "_gnuplot_script";
+ l.plot(ss.str().c_str());
+
+ std::cout << "Done \n";
-int main( int argc , char** argv )
-{
- std::cout << "This program plot persistence landscape on grid stored in a file (the file needs to be created beforehand). Please call the code with the name of a landscape on grid file \n";
- if ( argc == 1 )
- {
- std::cout << "Wrong parameters of a program call, the program will now terminate \n";
- return 1;
- }
- Persistence_landscape_on_grid l;
- l.load_landscape_from_file( argv[1] );
-
- std::stringstream ss;
- ss << argv[1] << "_gnuplot_script";
- l.plot( ss.str().c_str() );
-
- std::cout << "Done \n";
-
- return 0;
+ return 0;
}