|
struct | Gudhi::persistence_diagram::DiagramPoint |
| Concept of point in a persistence diagram. std::get<0>(point) must return the birth of the corresponding component and std::get<1>(point) its death. Both should be convertible to double . A valid implementation of this concept is std::pair<double,double>. Death should be larger than birth, death can be std::numeric_limits<double>::infinity() for components which stay alive. More...
|
|
struct | Gudhi::persistence_diagram::PersistenceDiagram |
| Concept of persistence diagram. It is a range of DiagramPoint . std::begin(diagram) and std::end(diagram) must return corresponding iterators. More...
|
|
|
template<typename Persistence_diagram1 , typename Persistence_diagram2 > |
double | Gudhi::persistence_diagram::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. More...
|
|
- Author
- François Godi
Definition
The bottleneck distance measures the similarity between two persistence diagrams. It is the shortest distance b for which there exists a perfect matching between the points of the two diagrams (completed with all the points on the diagonal in order to ignore cardinality mismatchs) such that any couple of matched points are at distance at most b.
On this picture, the red edges represent the matching. The bottleneck distance is the length of the longest edge.
◆ bottleneck_distance()
template<typename Persistence_diagram1 , typename Persistence_diagram2 >
double Gudhi::persistence_diagram::bottleneck_distance |
( |
const Persistence_diagram1 & |
diag1, |
|
|
const Persistence_diagram2 & |
diag2, |
|
|
double |
e = (std::numeric_limits<double>::min)() |
|
) |
| |