Loading...
Searching...
No Matches
Persistence_intervals_with_distances.h
/* 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
*/
#ifndef PERSISTENCE_INTERVALS_WITH_DISTANCES_H_
#define PERSISTENCE_INTERVALS_WITH_DISTANCES_H_
#include <gudhi/Persistence_intervals.h>
#include <gudhi/Bottleneck.h>
#include <limits>
namespace Gudhi {
namespace Persistence_representations {
class Persistence_intervals_with_distances : public Persistence_intervals {
public:
using Persistence_intervals::Persistence_intervals;
double distance(const Persistence_intervals_with_distances& second, double power = std::numeric_limits<double>::max(),
double tolerance = (std::numeric_limits<double>::min)()) const {
if (power >= std::numeric_limits<double>::max()) {
return Gudhi::persistence_diagram::bottleneck_distance(this->intervals, second.intervals, tolerance);
} else {
std::cerr << "At the moment Gudhi do not support Wasserstein distances. We only support Bottleneck distance."
<< std::endl;
throw "At the moment Gudhi do not support Wasserstein distances. We only support Bottleneck distance.";
}
}
};
} // namespace Persistence_representations
} // namespace Gudhi
#endif // PERSISTENCE_INTERVALS_WITH_DISTANCES_H_
Gudhi::Persistence_representations::Persistence_intervals
Definition Persistence_intervals.h:37
Gudhi::persistence_diagram::bottleneck_distance
double bottleneck_distance(const Persistence_diagram1 &diag1, const Persistence_diagram2 &diag2, double e=(std::numeric_limits< double >::min)())
Function to compute the Bottleneck distance between two persistence diagrams.
Definition Bottleneck.h:116
Gudhi
Gudhi namespace.
Definition SimplicialComplexForAlpha.h:14