23 #ifndef READ_PERSISTENCE_FROM_FILE_H_ 24 #define READ_PERSISTENCE_FROM_FILE_H_ 38 namespace Persistence_representations {
54 std::vector<std::pair<double, double> > read_persistence_intervals_in_one_dimension_from_file(
55 std::string
const& filename,
int dimension = -1,
double what_to_substitute_for_infinite_bar = -1) {
59 std::vector<std::pair<double, double> > barcode_initial =
61 std::vector<std::pair<double, double> > final_barcode;
62 final_barcode.reserve(barcode_initial.size());
65 std::cerr <<
"Here are the intervals that we read from the file : \n";
66 for (
size_t i = 0; i != barcode_initial.size(); ++i) {
67 std::cout << barcode_initial[i].first <<
" " << barcode_initial[i].second << std::endl;
72 for (
size_t i = 0; i != barcode_initial.size(); ++i) {
74 std::cout <<
"COnsidering interval : " << barcode_initial[i].first <<
" " << barcode_initial[i].second
78 if (barcode_initial[i].first > barcode_initial[i].second) {
80 if (dbg) std::cout <<
"Swap and enter \n";
82 final_barcode.push_back(std::pair<double, double>(barcode_initial[i].second, barcode_initial[i].first));
85 if (barcode_initial[i].second != std::numeric_limits<double>::infinity()) {
86 if (dbg) std::cout <<
"Simply enters\n";
89 final_barcode.push_back(std::pair<double, double>(barcode_initial[i].first, barcode_initial[i].second));
93 if ((barcode_initial[i].second == std::numeric_limits<double>::infinity()) &&
94 (what_to_substitute_for_infinite_bar != -1)) {
95 if (barcode_initial[i].first < what_to_substitute_for_infinite_bar) {
97 final_barcode.push_back(
98 std::pair<double, double>(barcode_initial[i].first, what_to_substitute_for_infinite_bar));
106 std::cerr <<
"Here are the final bars that we are sending further : \n";
107 for (
size_t i = 0; i != final_barcode.size(); ++i) {
108 std::cout << final_barcode[i].first <<
" " << final_barcode[i].second << std::endl;
110 std::cerr <<
"final_barcode.size() : " << final_barcode.size() << std::endl;
114 return final_barcode;
120 #endif // READ_PERSISTENCE_FROM_FILE_H_ Definition: SimplicialComplexForAlpha.h:26
std::vector< std::pair< double, double > > read_persistence_intervals_in_dimension(std::string const &filename, int only_this_dim=-1)
Definition: reader_utils.h:357
This file includes common file reader for GUDHI.