diff options
author | Gard Spreemann <gspr@nonempty.org> | 2019-09-25 14:53:36 +0200 |
---|---|---|
committer | Gard Spreemann <gspr@nonempty.org> | 2019-09-25 14:53:36 +0200 |
commit | 70ad5fc411b0e0a3d590ad281fc97d488994062b (patch) | |
tree | b0ddd84d7ee935936787eee2b75f78f2e21c41f0 /src/Persistence_representations/utilities/persistence_intervals/compute_number_of_dominant_intervals.cpp | |
parent | b50046e487ab42cdef19b02128a9f498d6a36482 (diff) | |
parent | 5ccee32ec2ba38743c6b96867db3e1b5151e45e4 (diff) |
Merge branch 'dfsg/latest' into debian/sid
Diffstat (limited to 'src/Persistence_representations/utilities/persistence_intervals/compute_number_of_dominant_intervals.cpp')
-rw-r--r-- | src/Persistence_representations/utilities/persistence_intervals/compute_number_of_dominant_intervals.cpp | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/Persistence_representations/utilities/persistence_intervals/compute_number_of_dominant_intervals.cpp b/src/Persistence_representations/utilities/persistence_intervals/compute_number_of_dominant_intervals.cpp new file mode 100644 index 00000000..dd6e1a5b --- /dev/null +++ b/src/Persistence_representations/utilities/persistence_intervals/compute_number_of_dominant_intervals.cpp @@ -0,0 +1,42 @@ +/* This file is part of the Gudhi Library - https://gudhi.inria.fr/ - which is released under MIT. + * See file LICENSE or go to https://gudhi.inria.fr/licensing/ for full license details. + * Author(s): Pawel Dlotko + * + * Copyright (C) 2016 Inria + * + * Modification(s): + * - YYYY/MM Author: Description of the modification + */ + +#include <gudhi/Persistence_intervals.h> + +#include <iostream> +#include <limits> +#include <vector> +#include <utility> + +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<unsigned>::max(); + if (dim >= 0) { + dimension = (unsigned)dim; + } + Persistence_intervals p(argv[1], dimension); + std::vector<std::pair<double, double> > 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; +} |