summaryrefslogtreecommitdiff
path: root/src/Gudhi_stat/utilities/persistence_heat_maps/create_persistence_heat_maps.cpp
diff options
context:
space:
mode:
authorpdlotko <pdlotko@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2017-04-12 13:07:58 +0000
committerpdlotko <pdlotko@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2017-04-12 13:07:58 +0000
commit8f4c961a93fe928d06c7776a9e8f5ecd00fab9ca (patch)
tree0222aa7a5db950b15e7b1adf9f75cec2204c55fa /src/Gudhi_stat/utilities/persistence_heat_maps/create_persistence_heat_maps.cpp
parente729d07cc53e4b6a189ebbfbfe4eb5db5449fbe0 (diff)
a few more correction. First of all, bottleneck distance is added (although there is something strange in the results, FG has been pinged about this). Second of all, all the programs in utylites should now read general files (and dimension of persistence to be read is one of the parameteds of files). This still need to be tested and will be tested soon.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/gudhi_stat@2339 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: e60d14f07db223646597230d7f0bd78dd090bc0b
Diffstat (limited to 'src/Gudhi_stat/utilities/persistence_heat_maps/create_persistence_heat_maps.cpp')
-rw-r--r--src/Gudhi_stat/utilities/persistence_heat_maps/create_persistence_heat_maps.cpp20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/Gudhi_stat/utilities/persistence_heat_maps/create_persistence_heat_maps.cpp b/src/Gudhi_stat/utilities/persistence_heat_maps/create_persistence_heat_maps.cpp
index 5d2100aa..d9c7aded 100644
--- a/src/Gudhi_stat/utilities/persistence_heat_maps/create_persistence_heat_maps.cpp
+++ b/src/Gudhi_stat/utilities/persistence_heat_maps/create_persistence_heat_maps.cpp
@@ -40,26 +40,32 @@ int main( int argc , char** argv )
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 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 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";
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] );
size_t stdiv = atof( argv[4] );
+ unsigned dimension = std::numeric_limits<unsigned>::max();
+ int dim = atoi( argv[5] );
+ if ( (dim != -1) && (dim >= 0) )
+ {
+ dimension = (unsigned)dim;
+ }
std::vector< const char* > filenames;
- for ( int i = 5 ; i < argc ; ++i )
+ for ( int i = 6 ; i < argc ; ++i )
{
filenames.push_back( argv[i] );
}
-
-
std::cout << "Creating persistence heat maps...\n";
std::vector< std::vector<double> > filter = create_Gaussian_filter(stdiv,1);
@@ -67,7 +73,7 @@ int main( int argc , char** argv )
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<constant_scaling_function> l( filenames[i] , filter, false , size_of_grid , min_ , max_ );
+ Persistence_heat_maps<constant_scaling_function> l( filenames[i] , filter, false , size_of_grid , min_ , max_ , dimension );
std::stringstream ss;
ss << filenames[i] << ".mps";