summaryrefslogtreecommitdiff
path: root/src/Persistence_representations/utilities/persistence_heat_maps
diff options
context:
space:
mode:
Diffstat (limited to 'src/Persistence_representations/utilities/persistence_heat_maps')
-rw-r--r--src/Persistence_representations/utilities/persistence_heat_maps/CMakeLists.txt72
-rw-r--r--src/Persistence_representations/utilities/persistence_heat_maps/average_persistence_heat_maps.cpp16
-rw-r--r--src/Persistence_representations/utilities/persistence_heat_maps/compute_distance_of_persistence_heat_maps.cpp13
-rw-r--r--src/Persistence_representations/utilities/persistence_heat_maps/compute_scalar_product_of_persistence_heat_maps.cpp14
-rw-r--r--src/Persistence_representations/utilities/persistence_heat_maps/create_p_h_m_weighted_by_arctan_of_their_persistence.cpp33
-rw-r--r--src/Persistence_representations/utilities/persistence_heat_maps/create_p_h_m_weighted_by_distance_from_diagonal.cpp34
-rw-r--r--src/Persistence_representations/utilities/persistence_heat_maps/create_p_h_m_weighted_by_squared_diag_distance.cpp34
-rw-r--r--src/Persistence_representations/utilities/persistence_heat_maps/create_persistence_heat_maps.cpp34
-rw-r--r--src/Persistence_representations/utilities/persistence_heat_maps/create_pssk.cpp34
-rw-r--r--src/Persistence_representations/utilities/persistence_heat_maps/plot_persistence_heat_map.cpp8
10 files changed, 121 insertions, 171 deletions
diff --git a/src/Persistence_representations/utilities/persistence_heat_maps/CMakeLists.txt b/src/Persistence_representations/utilities/persistence_heat_maps/CMakeLists.txt
index 0dd63852..386e9fa5 100644
--- a/src/Persistence_representations/utilities/persistence_heat_maps/CMakeLists.txt
+++ b/src/Persistence_representations/utilities/persistence_heat_maps/CMakeLists.txt
@@ -1,63 +1,15 @@
cmake_minimum_required(VERSION 2.6)
project(Persistence_representations_heat_maps_utilities)
-file(COPY "${CMAKE_SOURCE_DIR}/data/persistence_diagram/simple_diagram.txt" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/")
-
-add_executable ( create_persistence_heat_maps create_persistence_heat_maps.cpp )
-target_link_libraries(create_persistence_heat_maps ${Boost_SYSTEM_LIBRARY})
-
-add_test(NAME create_persistence_heat_maps COMMAND $<TARGET_FILE:create_persistence_heat_maps>
- "10" "-1" "-1" "4" "-1" "${CMAKE_CURRENT_BINARY_DIR}/simple_diagram.txt")
-
-
-add_executable ( create_pssk create_pssk.cpp )
-target_link_libraries(create_pssk ${Boost_SYSTEM_LIBRARY})
-
-add_test(NAME create_pssk COMMAND $<TARGET_FILE:create_pssk>
- "10" "-1" "-1" "4" "-1" "${CMAKE_CURRENT_BINARY_DIR}/simple_diagram.txt")
-
-add_executable ( create_p_h_m_weighted_by_distance_from_diagonal create_p_h_m_weighted_by_distance_from_diagonal.cpp )
-target_link_libraries(create_p_h_m_weighted_by_distance_from_diagonal ${Boost_SYSTEM_LIBRARY})
-
-add_test(NAME create_p_h_m_weighted_by_distance_from_diagonal COMMAND $<TARGET_FILE:create_p_h_m_weighted_by_distance_from_diagonal>
- "10" "-1" "-1" "4" "-1" "${CMAKE_CURRENT_BINARY_DIR}/simple_diagram.txt")
-
-add_executable ( create_p_h_m_weighted_by_squared_diag_distance create_p_h_m_weighted_by_squared_diag_distance.cpp )
-target_link_libraries(create_p_h_m_weighted_by_squared_diag_distance ${Boost_SYSTEM_LIBRARY})
-
-add_test(NAME create_p_h_m_weighted_by_squared_diag_distance COMMAND $<TARGET_FILE:create_p_h_m_weighted_by_squared_diag_distance>
- "10" "-1" "-1" "4" "-1" "${CMAKE_CURRENT_BINARY_DIR}/simple_diagram.txt")
-
-add_executable ( create_p_h_m_weighted_by_arctan_of_their_persistence create_p_h_m_weighted_by_arctan_of_their_persistence.cpp )
-target_link_libraries(create_p_h_m_weighted_by_arctan_of_their_persistence ${Boost_SYSTEM_LIBRARY})
-
-add_test(NAME create_p_h_m_weighted_by_arctan_of_their_persistence COMMAND $<TARGET_FILE:create_p_h_m_weighted_by_arctan_of_their_persistence>
- "10" "-1" "-1" "4" "-1" "${CMAKE_CURRENT_BINARY_DIR}/simple_diagram.txt")
-
-add_executable ( average_persistence_heat_maps average_persistence_heat_maps.cpp )
-target_link_libraries(average_persistence_heat_maps ${Boost_SYSTEM_LIBRARY})
-
-add_test(NAME average_persistence_heat_maps COMMAND $<TARGET_FILE:average_persistence_heat_maps>
- "${CMAKE_CURRENT_BINARY_DIR}/simple_diagram.txt"
- "${CMAKE_CURRENT_BINARY_DIR}/simple_diagram.txt")
-
-add_executable ( plot_persistence_heat_map plot_persistence_heat_map.cpp )
-target_link_libraries(plot_persistence_heat_map ${Boost_SYSTEM_LIBRARY})
-
-add_test(NAME plot_persistence_heat_map COMMAND $<TARGET_FILE:plot_persistence_heat_map>
- "${CMAKE_CURRENT_BINARY_DIR}/simple_diagram.txt")
-
-add_executable ( compute_distance_of_persistence_heat_maps compute_distance_of_persistence_heat_maps.cpp )
-target_link_libraries(compute_distance_of_persistence_heat_maps ${Boost_SYSTEM_LIBRARY})
-
-add_test(NAME compute_distance_of_persistence_heat_maps COMMAND $<TARGET_FILE:compute_distance_of_persistence_heat_maps>
- "1"
- "${CMAKE_CURRENT_BINARY_DIR}/simple_diagram.txt"
- "${CMAKE_CURRENT_BINARY_DIR}/simple_diagram.txt")
-
-add_executable ( compute_scalar_product_of_persistence_heat_maps compute_scalar_product_of_persistence_heat_maps.cpp )
-target_link_libraries(compute_scalar_product_of_persistence_heat_maps ${Boost_SYSTEM_LIBRARY})
-
-add_test(NAME compute_scalar_product_of_persistence_heat_maps COMMAND $<TARGET_FILE:compute_scalar_product_of_persistence_heat_maps>
- "${CMAKE_CURRENT_BINARY_DIR}/simple_diagram.txt"
- "${CMAKE_CURRENT_BINARY_DIR}/simple_diagram.txt")
+add_persistence_representation_creation_utility(create_pssk "10" "-1" "-1" "4" "-1")
+add_persistence_representation_creation_utility(create_p_h_m_weighted_by_arctan_of_their_persistence "10" "-1" "-1" "4" "-1")
+add_persistence_representation_creation_utility(create_p_h_m_weighted_by_distance_from_diagonal "10" "-1" "-1" "4" "-1")
+add_persistence_representation_creation_utility(create_p_h_m_weighted_by_squared_diag_distance "10" "-1" "-1" "4" "-1")
+# Need to set grid min and max for further average, distance and scalar_product
+add_persistence_representation_creation_utility(create_persistence_heat_maps "10" "0" "35" "10" "-1")
+
+add_persistence_representation_plot_utility(plot_persistence_heat_map ".mps")
+
+add_persistence_representation_function_utility(average_persistence_heat_maps ".mps")
+add_persistence_representation_function_utility(compute_distance_of_persistence_heat_maps ".mps" "1")
+add_persistence_representation_function_utility(compute_scalar_product_of_persistence_heat_maps ".mps")
diff --git a/src/Persistence_representations/utilities/persistence_heat_maps/average_persistence_heat_maps.cpp b/src/Persistence_representations/utilities/persistence_heat_maps/average_persistence_heat_maps.cpp
index 4e81375a..6739e0b6 100644
--- a/src/Persistence_representations/utilities/persistence_heat_maps/average_persistence_heat_maps.cpp
+++ b/src/Persistence_representations/utilities/persistence_heat_maps/average_persistence_heat_maps.cpp
@@ -29,21 +29,20 @@ using constant_scaling_function = Gudhi::Persistence_representations::constant_s
using Persistence_heat_maps = Gudhi::Persistence_representations::Persistence_heat_maps<constant_scaling_function>;
int main(int argc, char** argv) {
- std::cout << "This program computes average persistence landscape of persistence landscapes 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;
+ std::cout << "This program computes average of persistence heat maps stored in files (the files needs to be "
+ << "created beforehand).\n"
+ << "The parameters of this programs are names of files with persistence heat maps.\n";
- if (argc == 1) {
- std::cout << "No input files given, the program will now terminate \n";
+ 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 = 1; i < argc; ++i) {
filenames.push_back(argv[i]);
}
- std::cout << "Creating persistence landscapes...\n";
std::vector<Persistence_heat_maps*> maps;
for (size_t i = 0; i != filenames.size(); ++i) {
Persistence_heat_maps* l = new Persistence_heat_maps;
@@ -53,13 +52,12 @@ int main(int argc, char** argv) {
Persistence_heat_maps av;
av.compute_average(maps);
-
av.print_to_file("average.mps");
for (size_t i = 0; i != filenames.size(); ++i) {
delete maps[i];
}
- std::cout << "Done \n";
+ std::cout << "Average can be found in 'average.mps' file\n";
return 0;
}
diff --git a/src/Persistence_representations/utilities/persistence_heat_maps/compute_distance_of_persistence_heat_maps.cpp b/src/Persistence_representations/utilities/persistence_heat_maps/compute_distance_of_persistence_heat_maps.cpp
index befb0837..ed8278a2 100644
--- a/src/Persistence_representations/utilities/persistence_heat_maps/compute_distance_of_persistence_heat_maps.cpp
+++ b/src/Persistence_representations/utilities/persistence_heat_maps/compute_distance_of_persistence_heat_maps.cpp
@@ -31,11 +31,11 @@ using constant_scaling_function = Gudhi::Persistence_representations::constant_s
using Persistence_heat_maps = Gudhi::Persistence_representations::Persistence_heat_maps<constant_scaling_function>;
int main(int argc, char** argv) {
- std::cout << "This program computes distance of persistence heat maps 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 two heat "
- "maps. For L^infty distance choose p = -1. \n";
- std::cout << "The remaining parameters of this program are names of files with persistence heat maps.\n";
+ std::cout << "This program computes distance of persistence heat maps stored in files (the files needs to be "
+ << "created beforehand).\n"
+ << "The first parameter of a program is an integer p. The program compute L^p distance of the two heat "
+ << "maps. For L^infty distance choose p = -1. \n"
+ << "The remaining parameters of this program are names of files with persistence heat maps.\n";
if (argc < 3) {
std::cout << "Wrong number of parameters, the program will now terminate \n";
@@ -78,7 +78,7 @@ int main(int argc, char** argv) {
// and now output the result to the screen and a file:
std::ofstream out;
- out.open("distance");
+ out.open("distance.mps");
for (size_t i = 0; i != distance.size(); ++i) {
for (size_t j = 0; j != distance.size(); ++j) {
std::cout << distance[i][j] << " ";
@@ -89,5 +89,6 @@ int main(int argc, char** argv) {
}
out.close();
+ std::cout << "Distance can be found in 'distance.mps' file\n";
return 0;
}
diff --git a/src/Persistence_representations/utilities/persistence_heat_maps/compute_scalar_product_of_persistence_heat_maps.cpp b/src/Persistence_representations/utilities/persistence_heat_maps/compute_scalar_product_of_persistence_heat_maps.cpp
index c684a336..63626853 100644
--- a/src/Persistence_representations/utilities/persistence_heat_maps/compute_scalar_product_of_persistence_heat_maps.cpp
+++ b/src/Persistence_representations/utilities/persistence_heat_maps/compute_scalar_product_of_persistence_heat_maps.cpp
@@ -30,9 +30,14 @@ using constant_scaling_function = Gudhi::Persistence_representations::constant_s
using Persistence_heat_maps = Gudhi::Persistence_representations::Persistence_heat_maps<constant_scaling_function>;
int main(int argc, char** argv) {
- std::cout << "This program computes scalar product of persistence landscapes 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.\n";
+ std::cout << "This program computes scalar product of persistence heat maps stored in a file (the file needs to be "
+ << "created beforehand). \n"
+ << "The parameters of this programs are names of files with persistence heat maps.\n";
+
+ 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 = 1; i < argc; ++i) {
@@ -64,7 +69,7 @@ int main(int argc, char** argv) {
// and now output the result to the screen and a file:
std::ofstream out;
- out.open("scalar_product");
+ out.open("scalar_product.mps");
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] << " ";
@@ -75,5 +80,6 @@ int main(int argc, char** argv) {
}
out.close();
+ std::cout << "Distance can be found in 'scalar_product.mps' file\n";
return 0;
}
diff --git a/src/Persistence_representations/utilities/persistence_heat_maps/create_p_h_m_weighted_by_arctan_of_their_persistence.cpp b/src/Persistence_representations/utilities/persistence_heat_maps/create_p_h_m_weighted_by_arctan_of_their_persistence.cpp
index 2bf185a3..47c70484 100644
--- a/src/Persistence_representations/utilities/persistence_heat_maps/create_p_h_m_weighted_by_arctan_of_their_persistence.cpp
+++ b/src/Persistence_representations/utilities/persistence_heat_maps/create_p_h_m_weighted_by_arctan_of_their_persistence.cpp
@@ -32,22 +32,22 @@ using Persistence_heat_maps =
Gudhi::Persistence_representations::Persistence_heat_maps<arc_tan_of_persistence_of_point>;
int main(int argc, char** argv) {
- std::cout << "This program creates persistence heat map of diagrams provided as an input. The Gaussian kernels are "
- "weighted by the arc tangential of their persistence.\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::cerr << "The fourth parameter is an integer, the standard deviation of a Gaussian kernel expressed in a number "
- "of pixels \n";
- std::cout << "The fifth parameter of this program is a dimension of persistence that will be used in creation of the "
- "persistence heat maps.";
- std::cout << "If our input files contain persistence pairs of various dimension, as a fifth parameter of the "
- "procedure please provide the dimension of persistence you want to use.";
- std::cout << "If in your file there are only birth-death pairs of the same dimension, set the first parameter to -1."
- << std::endl;
- std::cout << "The remaining parameters are the names of files with persistence diagrams. \n";
+ std::cout << "This program creates persistence heat map files (*.mps) of persistence diagrams files (*.pers) "
+ << "provided as an input.The Gaussian kernels are weighted by the arc tangential of their persistence.\n"
+ << "The first parameter of a program is an integer, a size of a grid.\n"
+ << "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"
+ << "The fourth parameter is an integer, the standard deviation of a Gaussian kernel expressed in a number "
+ << "of pixels.\n"
+ << "The fifth parameter of this program is a dimension of persistence that will be used in creation of "
+ << "the persistence heat maps."
+ << "If your input files contains persistence pairs of various dimension, as a fifth parameter of the "
+ << "procedure please provide the dimension of persistence you want to use."
+ << "If in your files there are only birth-death pairs of the same dimension, set the fifth parameter to "
+ << "-1.\n"
+ << "The remaining parameters are the names of files with persistence diagrams. \n";
- if (argc < 5) {
+ if (argc < 7) {
std::cout << "Wrong parameter list, the program will now terminate \n";
return 1;
}
@@ -68,9 +68,7 @@ int main(int argc, char** argv) {
filenames.push_back(argv[i]);
}
- std::cout << "Creating persistence heat maps...\n";
std::vector<std::vector<double> > filter = Gudhi::Persistence_representations::create_Gaussian_filter(stdiv, 1);
-
for (size_t i = 0; i != filenames.size(); ++i) {
std::cout << "Creating a heat map based on a file : " << filenames[i] << std::endl;
Persistence_heat_maps l(filenames[i], filter, false, size_of_grid, min_, max_, dimension);
@@ -79,6 +77,5 @@ int main(int argc, char** argv) {
ss << filenames[i] << ".mps";
l.print_to_file(ss.str().c_str());
}
- std::cout << "Done \n";
return 0;
}
diff --git a/src/Persistence_representations/utilities/persistence_heat_maps/create_p_h_m_weighted_by_distance_from_diagonal.cpp b/src/Persistence_representations/utilities/persistence_heat_maps/create_p_h_m_weighted_by_distance_from_diagonal.cpp
index ec9477f1..659a5105 100644
--- a/src/Persistence_representations/utilities/persistence_heat_maps/create_p_h_m_weighted_by_distance_from_diagonal.cpp
+++ b/src/Persistence_representations/utilities/persistence_heat_maps/create_p_h_m_weighted_by_distance_from_diagonal.cpp
@@ -32,22 +32,23 @@ using Persistence_heat_maps =
Gudhi::Persistence_representations::Persistence_heat_maps<distance_from_diagonal_scaling>;
int main(int argc, char** argv) {
- std::cout << "This program creates persistence heat map of diagrams provided as an input. The Gaussian kernels are "
- "weighted by the distance of a center from the diagonal.\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::cerr << "The fourth parameter is an integer, the standard deviation of a Gaussian kernel expressed in a number "
- "of pixels \n";
- std::cout << "The fifth parameter of this program is a dimension of persistence that will be used in creation of the "
- "persistence heat maps.";
- std::cout << "If our input files contain persistence pairs of various dimension, as a fifth parameter of the "
- "procedure please provide the dimension of persistence you want to use.";
- std::cout << "If in your file there are only birth-death pairs of the same dimension, set the first parameter to -1."
- << std::endl;
- std::cout << "The remaining parameters are the names of files with persistence diagrams. \n";
+ std::cout << "This program creates persistence heat map files (*.mps) of persistence diagrams files (*.pers) "
+ << "provided as an input.The Gaussian kernels are weighted by the distance of a center from the "
+ << "diagonal.\n"
+ << "The first parameter of a program is an integer, a size of a grid.\n"
+ << "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"
+ << "The fourth parameter is an integer, the standard deviation of a Gaussian kernel expressed in a number "
+ << "of pixels.\n"
+ << "The fifth parameter of this program is a dimension of persistence that will be used in creation of "
+ << "the persistence heat maps."
+ << "If your input files contains persistence pairs of various dimension, as a fifth parameter of the "
+ << "procedure please provide the dimension of persistence you want to use."
+ << "If in your files there are only birth-death pairs of the same dimension, set the fifth parameter to "
+ << "-1.\n"
+ << "The remaining parameters are the names of files with persistence diagrams. \n";
- if (argc < 5) {
+ if (argc < 7) {
std::cout << "Wrong parameter list, the program will now terminate \n";
return 1;
}
@@ -68,9 +69,7 @@ int main(int argc, char** argv) {
filenames.push_back(argv[i]);
}
- std::cout << "Creating persistence heat maps...\n";
std::vector<std::vector<double> > filter = Gudhi::Persistence_representations::create_Gaussian_filter(stdiv, 1);
-
for (size_t i = 0; i != filenames.size(); ++i) {
std::cout << "Creating a heat map based on a file : " << filenames[i] << std::endl;
Persistence_heat_maps l(filenames[i], filter, false, size_of_grid, min_, max_, dimension);
@@ -79,6 +78,5 @@ int main(int argc, char** argv) {
ss << filenames[i] << ".mps";
l.print_to_file(ss.str().c_str());
}
- std::cout << "Done \n";
return 0;
}
diff --git a/src/Persistence_representations/utilities/persistence_heat_maps/create_p_h_m_weighted_by_squared_diag_distance.cpp b/src/Persistence_representations/utilities/persistence_heat_maps/create_p_h_m_weighted_by_squared_diag_distance.cpp
index ffec8b3d..9497b188 100644
--- a/src/Persistence_representations/utilities/persistence_heat_maps/create_p_h_m_weighted_by_squared_diag_distance.cpp
+++ b/src/Persistence_representations/utilities/persistence_heat_maps/create_p_h_m_weighted_by_squared_diag_distance.cpp
@@ -33,22 +33,23 @@ using Persistence_heat_maps =
Gudhi::Persistence_representations::Persistence_heat_maps<squared_distance_from_diagonal_scaling>;
int main(int argc, char** argv) {
- std::cout << "This program creates persistence heat map of diagrams provided as an input. The Gaussian kernels are "
- "weighted by the square of distance of a center from the diagonal.\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::cerr << "The fourth parameter is an integer, the standard deviation of a Gaussian kernel expressed in a number "
- "of pixels \n";
- std::cout << "The fifth parameter of this program is a dimension of persistence that will be used in creation of the "
- "persistence heat maps.";
- std::cout << "If our input files contain persistence pairs of various dimension, as a fifth parameter of the "
- "procedure please provide the dimension of persistence you want to use.";
- std::cout << "If in your file there are only birth-death pairs of the same dimension, set the first parameter to -1."
- << std::endl;
- std::cout << "The remaining parameters are the names of files with persistence diagrams. \n";
+ std::cout << "This program creates persistence heat map files (*.mps) of persistence diagrams files (*.pers) "
+ << "provided as an input.The Gaussian kernels are weighted by the square of distance of a center from the "
+ << "diagonal.\n"
+ << "The first parameter of a program is an integer, a size of a grid.\n"
+ << "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"
+ << "The fourth parameter is an integer, the standard deviation of a Gaussian kernel expressed in a number "
+ << "of pixels.\n"
+ << "The fifth parameter of this program is a dimension of persistence that will be used in creation of "
+ << "the persistence heat maps."
+ << "If your input files contains persistence pairs of various dimension, as a fifth parameter of the "
+ << "procedure please provide the dimension of persistence you want to use."
+ << "If in your files there are only birth-death pairs of the same dimension, set the fifth parameter to "
+ << "-1.\n"
+ << "The remaining parameters are the names of files with persistence diagrams. \n";
- if (argc < 5) {
+ if (argc < 7) {
std::cout << "Wrong parameter list, the program will now terminate \n";
return 1;
}
@@ -69,9 +70,7 @@ int main(int argc, char** argv) {
filenames.push_back(argv[i]);
}
- std::cout << "Creating persistence heat maps...\n";
std::vector<std::vector<double> > filter = Gudhi::Persistence_representations::create_Gaussian_filter(stdiv, 1);
-
for (size_t i = 0; i != filenames.size(); ++i) {
std::cout << "Creating a heat map based on a file : " << filenames[i] << std::endl;
Persistence_heat_maps l(filenames[i], filter, false, size_of_grid, min_, max_, dimension);
@@ -80,6 +79,5 @@ int main(int argc, char** argv) {
ss << filenames[i] << ".mps";
l.print_to_file(ss.str().c_str());
}
- std::cout << "Done \n";
return 0;
}
diff --git a/src/Persistence_representations/utilities/persistence_heat_maps/create_persistence_heat_maps.cpp b/src/Persistence_representations/utilities/persistence_heat_maps/create_persistence_heat_maps.cpp
index db2f0008..25cd1067 100644
--- a/src/Persistence_representations/utilities/persistence_heat_maps/create_persistence_heat_maps.cpp
+++ b/src/Persistence_representations/utilities/persistence_heat_maps/create_persistence_heat_maps.cpp
@@ -31,21 +31,22 @@ using constant_scaling_function = Gudhi::Persistence_representations::constant_s
using Persistence_heat_maps = Gudhi::Persistence_representations::Persistence_heat_maps<constant_scaling_function>;
int main(int argc, char** argv) {
- std::cout << "This program creates persistence heat map 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::cerr << "The fourth parameter is an integer, the standard deviation of a Gaussian kernel expressed in a number "
- "of pixels \n";
+ std::cout << "This program creates persistence heat map files (*.mps) of persistence diagrams files (*.pers) "
+ << "provided as an input.\n"
+ << "The first parameter of a program is an integer, a size of a grid.\n"
+ << "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"
+ << "The fourth parameter is an integer, the standard deviation of a Gaussian kernel expressed in a number "
+ << "of pixels.\n"
+ << "The fifth parameter of this program is a dimension of persistence that will be used in creation of "
+ << "the persistence heat maps."
+ << "If your input files contains persistence pairs of various dimension, as a fifth parameter of the "
+ << "procedure please provide the dimension of persistence you want to use."
+ << "If in your files there are only birth-death pairs of the same dimension, set the fifth parameter to "
+ << "-1.\n"
+ << "The remaining parameters are the names of files with persistence diagrams. \n";
- std::cout << "The fifth parameter of this program is a dimension of persistence that will be used in creation of the "
- "persistence heat maps.";
- std::cout << "If your input file contains persistence pairs of various dimension, as a fifth parameter of the "
- "procedure please provide the dimension of persistence you want to use.";
- std::cout << "If in your file there are only birth-death pairs of the same dimension, set the first parameter to -1."
- << std::endl;
- std::cout << "The remaining parameters are the names of files with persistence diagrams. \n";
- if (argc < 5) {
+ if (argc < 7) {
std::cout << "Wrong parameter list, the program will now terminate \n";
return 1;
}
@@ -64,17 +65,14 @@ int main(int argc, char** argv) {
filenames.push_back(argv[i]);
}
- std::cout << "Creating persistence heat maps...\n";
std::vector<std::vector<double> > filter = Gudhi::Persistence_representations::create_Gaussian_filter(stdiv, 1);
-
for (size_t i = 0; i != filenames.size(); ++i) {
- std::cout << "Creating a heat map based on a file : " << filenames[i] << std::endl;
+ std::cout << "Creating a heat map based on file : " << filenames[i] << std::endl;
Persistence_heat_maps l(filenames[i], filter, false, size_of_grid, min_, max_, dimension);
std::stringstream ss;
ss << filenames[i] << ".mps";
l.print_to_file(ss.str().c_str());
}
- std::cout << "Done \n";
return 0;
}
diff --git a/src/Persistence_representations/utilities/persistence_heat_maps/create_pssk.cpp b/src/Persistence_representations/utilities/persistence_heat_maps/create_pssk.cpp
index 6aefbb00..97ddb8f0 100644
--- a/src/Persistence_representations/utilities/persistence_heat_maps/create_pssk.cpp
+++ b/src/Persistence_representations/utilities/persistence_heat_maps/create_pssk.cpp
@@ -30,21 +30,22 @@
using PSSK = Gudhi::Persistence_representations::PSSK;
int main(int argc, char** argv) {
- std::cout << "This program creates PSSK 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::cerr << "The fourth parameter is an integer, the standard deviation of a Gaussian kernel expressed in a number "
- "of pixels \n";
- std::cout << "The fifth parameter of this program is a dimension of persistence that will be used in creation of the "
- "persistence heat maps.";
- std::cout << "If our input files contain persistence pairs of various dimension, as a fifth parameter of the "
- "procedure please provide the dimension of persistence you want to use.";
- std::cout << "If in your file there are only birth-death pairs of the same dimension, set the first parameter to -1."
- << std::endl;
- std::cout << "The remaining parameters are the names of files with persistence diagrams. \n";
+ std::cout << "This program creates PSSK files (*.pssk) of persistence diagrams files (*.pers) "
+ << "provided as an input.\n"
+ << "The first parameter of a program is an integer, a size of a grid.\n"
+ << "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"
+ << "The fourth parameter is an integer, the standard deviation of a Gaussian kernel expressed in a number "
+ << "of pixels.\n"
+ << "The fifth parameter of this program is a dimension of persistence that will be used in creation of "
+ << "the PSSK."
+ << "If your input files contains persistence pairs of various dimension, as a fifth parameter of the "
+ << "procedure please provide the dimension of persistence you want to use."
+ << "If in your files there are only birth-death pairs of the same dimension, set the first parameter to "
+ << "-1.\n"
+ << "The remaining parameters are the names of files with persistence diagrams. \n";
- if (argc < 5) {
+ if (argc < 7) {
std::cout << "Wrong parameter list, the program will now terminate \n";
return 1;
}
@@ -65,17 +66,14 @@ int main(int argc, char** argv) {
filenames.push_back(argv[i]);
}
- std::cout << "Creating persistence heat maps...\n";
std::vector<std::vector<double> > filter = Gudhi::Persistence_representations::create_Gaussian_filter(stdiv, 1);
-
for (size_t i = 0; i != filenames.size(); ++i) {
- std::cout << "Creating a heat map based on a file : " << filenames[i] << std::endl;
+ std::cout << "Creating a PSSK based on a file : " << filenames[i] << std::endl;
PSSK l(filenames[i], filter, size_of_grid, min_, max_, dimension);
std::stringstream ss;
ss << filenames[i] << ".pssk";
l.print_to_file(ss.str().c_str());
}
- std::cout << "Done \n";
return 0;
}
diff --git a/src/Persistence_representations/utilities/persistence_heat_maps/plot_persistence_heat_map.cpp b/src/Persistence_representations/utilities/persistence_heat_maps/plot_persistence_heat_map.cpp
index a7c9f2d8..63711d83 100644
--- a/src/Persistence_representations/utilities/persistence_heat_maps/plot_persistence_heat_map.cpp
+++ b/src/Persistence_representations/utilities/persistence_heat_maps/plot_persistence_heat_map.cpp
@@ -29,8 +29,12 @@ using constant_scaling_function = Gudhi::Persistence_representations::constant_s
using Persistence_heat_maps = Gudhi::Persistence_representations::Persistence_heat_maps<constant_scaling_function>;
int main(int argc, char** argv) {
- std::cout << "This program plot persistence landscape stored in a file (the file needs to be created beforehand). "
- "Please call the code with the name of a landscape file \n";
+ std::cout << "This program creates a gnuplot script from a persistence heat maps stored in a file (the file needs "
+ << "to be created beforehand). Please call the code with the name of a single heat maps file \n";
+ if (argc != 2) {
+ std::cout << "Wrong parameter list, the program will now terminate \n";
+ return 1;
+ }
Persistence_heat_maps l;
l.load_from_file(argv[1]);
l.plot(argv[1]);