TTK
Loading...
Searching...
No Matches
PersistenceDiagramClustering.h
Go to the documentation of this file.
1
29
30#pragma once
31
32// base code includes
33#include <PDClustering.h>
35
36namespace ttk {
37
38 class PersistenceDiagramClustering : virtual public Debug {
39
40 public:
42 this->setDebugMsgPrefix("PersistenceDiagramClustering");
43 }
44
45 ~PersistenceDiagramClustering() override = default;
46
47 std::vector<int> execute(
48 std::vector<DiagramType> &intermediateDiagrams,
49 std::vector<DiagramType> &centroids,
50 std::vector<std::vector<std::vector<MatchingType>>> &all_matchings);
51
52 std::array<double, 3> getDistances() const {
53 return this->distances;
54 }
55
56 protected:
57 // Critical pairs used for clustering
58 // 0:min-saddles ; 1:saddles-saddles ; 2:sad-max ; else : all
59
60 // distance results per pair type
61 std::array<double, 3> distances{};
62
65 bool Deterministic{true};
67
68 bool UseProgressive{true};
69
71 bool UseInterruptible{true};
72 double Alpha{1.0};
74 double DeltaLim{0.01};
75 double Lambda{1.0};
76 double TimeLimit{999999};
77 double NonMatchingWeight = 1.0;
78
80 bool UseAccelerated{false};
81 bool UseKmeansppInit{false};
82
85 };
86
87} // namespace ttk
Minimalist debugging class.
Definition Debug.h:88
void setDebugMsgPrefix(const std::string &prefix)
Definition Debug.h:364
TTK processing package for the computation of Wasserstein barycenters and K-Means clusterings of a se...
std::array< double, 3 > getDistances() const
std::vector< int > execute(std::vector< DiagramType > &intermediateDiagrams, std::vector< DiagramType > &centroids, std::vector< std::vector< std::vector< MatchingType > > > &all_matchings)
~PersistenceDiagramClustering() override=default
The Topology ToolKit.