|
TTK
|
#include <PDClustering.h>
Public Member Functions | |
| PDClustering () | |
| ~PDClustering () override=default | |
| std::vector< int > | execute (std::vector< DiagramType > &final_centroids, std::vector< std::vector< std::vector< std::vector< MatchingType > > > > &all_matchings) |
| std::array< double, 3 > | getDistances () const |
| double | getMostPersistent (int type=-1) |
| std::vector< std::vector< int > > | get_centroids_sizes () |
| double | getLessPersistent (int type=-1) |
| std::vector< std::vector< double > > | getMinDiagonalPrices () |
| std::vector< std::vector< double > > | getMinPrices () |
| void | correctMatchings (std::vector< std::vector< std::vector< std::vector< MatchingType > > > > &previous_matchings) |
| double | computeDistance (const BidderDiagram &D1, const BidderDiagram &D2, const double delta_lim) |
| double | computeDistance (const BidderDiagram &D1, const GoodDiagram &D2, const double delta_lim) |
| double | computeDistance (BidderDiagram *const D1, const GoodDiagram *const D2, const double delta_lim) |
| double | computeDistance (const GoodDiagram &D1, const GoodDiagram &D2, const double delta_lim) |
| GoodDiagram | centroidWithZeroPrices (const GoodDiagram ¢roid) |
| BidderDiagram | centroidToDiagram (const GoodDiagram ¢roid) |
| GoodDiagram | diagramToCentroid (const BidderDiagram &diagram) |
| BidderDiagram | diagramWithZeroPrices (const BidderDiagram &diagram) |
| void | setBidderDiagrams () |
| void | initializeEmptyClusters () |
| void | initializeCentroids () |
| void | initializeCentroidsKMeanspp () |
| void | initializeAcceleratedKMeans () |
| void | initializeBarycenterComputers (std::vector< double > &min_persistence) |
| void | printDistancesToFile () |
| void | printMatchings (std::vector< std::vector< std::vector< MatchingType > > >) |
| void | printRealDistancesToFile () |
| void | printPricesToFile (int) |
| double | computeRealCost () |
| std::vector< double > | enrichCurrentBidderDiagrams (std::vector< double > &previous_min_persistence, std::vector< double > &min_persistence, std::vector< std::vector< double > > &initial_diagonal_prices, std::vector< std::vector< double > > &initial_off_diagonal_prices, std::vector< int > &min_points_to_add, bool add_points_to_barycenter, bool first_enrichment) |
| std::vector< std::vector< double > > | getDistanceMatrix () |
| void | getCentroidDistanceMatrix () |
| void | computeDistanceToCentroid () |
| void | updateClusters () |
| void | invertClusters () |
| void | invertInverseClusters () |
| void | computeBarycenterForTwoGlobal (std::vector< std::vector< std::vector< std::vector< MatchingType > > > > &) |
| void | computeBarycenterForTwo (std::vector< std::vector< MatchingType > > &matchings, std::vector< std::vector< int > > &bidders_ids, std::vector< BidderDiagram > ¤t_bidder_diagrams, std::vector< BidderDiagram > &bidder_diagrams, GoodDiagram &barycenter) |
| void | acceleratedUpdateClusters () |
| std::vector< double > | updateCentroidsPosition (std::vector< std::vector< double > > *min_price, std::vector< std::vector< double > > *min_diag_price, std::vector< std::vector< std::vector< std::vector< MatchingType > > > > &all_matchings, int only_matchings) |
| void | resetDosToOriginalValues () |
| int | setDiagrams (std::vector< DiagramType > *data_min, std::vector< DiagramType > *data_saddle, std::vector< DiagramType > *data_max) |
| int | setDos (bool doMin, bool doSad, bool doMax) |
| int | setNumberOfInputs (int numberOfInputs) |
| int | setK (const int k) |
| void | setWasserstein (const int &wasserstein) |
| void | setUseProgressive (const bool use_progressive) |
| void | setKMeanspp (const bool use_kmeanspp) |
| void | setUseKDTree (const bool use_kdtree) |
| void | setAccelerated (const bool use_accelerated) |
| void | setTimeLimit (const double time_limit) |
| void | setGeometricalFactor (const double geometrical_factor) |
| void | setLambda (const double lambda) |
| void | setForceUseOfAlgorithm (const bool forceUseOfAlgorithm) |
| void | setDeterministic (const bool deterministic) |
| void | setUseDeltaLim (const bool UseDeltaLim) |
| void | setDistanceWritingOptions (const int distanceWritingOptions) |
| void | setDeltaLim (const double deltaLim) |
| void | setNonMatchingWeight (double nonMatchingWeight) |
| void | printClustering () |
| void | printOldClustering () |
Public Member Functions inherited from ttk::Debug | |
| Debug () | |
| ~Debug () override | |
| virtual int | setDebugLevel (const int &debugLevel) |
| int | setWrapper (const Wrapper *wrapper) override |
| int | printMsg (const std::string &msg, const debug::Priority &priority=debug::Priority::INFO, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
| int | printMsg (const std::vector< std::string > &msgs, const debug::Priority &priority=debug::Priority::INFO, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
| int | printErr (const std::string &msg, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cerr) const |
| int | printWrn (const std::string &msg, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cerr) const |
| int | printMsg (const std::string &msg, const double &progress, const double &time, const int &threads, const double &memory, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::PERFORMANCE, std::ostream &stream=std::cout) const |
| int | printMsg (const std::string &msg, const double &progress, const double &time, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::PERFORMANCE, std::ostream &stream=std::cout) const |
| int | printMsg (const std::string &msg, const double &progress, const double &time, const int &threads, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::PERFORMANCE, std::ostream &stream=std::cout) const |
| int | printMsg (const std::string &msg, const double &progress, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::PERFORMANCE, std::ostream &stream=std::cout) const |
| int | printMsg (const std::string &msg, const double &progress, const debug::Priority &priority, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
| int | printMsg (const std::vector< std::vector< std::string > > &rows, const debug::Priority &priority=debug::Priority::INFO, const bool hasHeader=true, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
| int | printMsg (const debug::Separator &separator, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::INFO, std::ostream &stream=std::cout) const |
| int | printMsg (const debug::Separator &separator, const debug::Priority &priority, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
| int | printMsg (const std::string &msg, const debug::Separator &separator, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::INFO, std::ostream &stream=std::cout) const |
| void | setDebugMsgPrefix (const std::string &prefix) |
Public Member Functions inherited from ttk::BaseClass | |
| BaseClass () | |
| virtual | ~BaseClass ()=default |
| int | getThreadNumber () const |
| virtual int | setThreadNumber (const int threadNumber) |
Additional Inherited Members | |
Protected Member Functions inherited from ttk::Debug | |
| int | printMsgInternal (const std::string &msg, const std::string &right, const std::string &filler, const debug::Priority &priority=debug::Priority::INFO, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
| int | printMsgInternal (const std::string &msg, const debug::Priority &priority, const debug::LineMode &lineMode, std::ostream &stream=std::cout) const |
| int | welcomeMsg (std::ostream &stream) |
Static Protected Attributes inherited from ttk::Debug | |
| static COMMON_EXPORTS debug::LineMode | lastLineMode = ttk::debug::LineMode::NEW |
Related publication
"Progressive Wasserstein Barycenters of Persistence Diagrams"
Jules Vidal, Joseph Budin and Julien Tierny
Proc. of IEEE VIS 2019.
IEEE Transactions on Visualization and Computer Graphics, 2019.
Definition at line 26 of file PDClustering.h.
|
inline |
Definition at line 29 of file PDClustering.h.
|
overridedefault |
| void ttk::PDClustering::acceleratedUpdateClusters | ( | ) |
Definition at line 1279 of file PDClustering.cpp.
| ttk::BidderDiagram ttk::PDClustering::centroidToDiagram | ( | const GoodDiagram & | centroid | ) |
Definition at line 887 of file PDClustering.cpp.
| ttk::GoodDiagram ttk::PDClustering::centroidWithZeroPrices | ( | const GoodDiagram & | centroid | ) |
Definition at line 865 of file PDClustering.cpp.
| void ttk::PDClustering::computeBarycenterForTwo | ( | std::vector< std::vector< MatchingType > > & | matchings, |
| std::vector< std::vector< int > > & | bidders_ids, | ||
| std::vector< BidderDiagram > & | current_bidder_diagrams, | ||
| std::vector< BidderDiagram > & | bidder_diagrams, | ||
| GoodDiagram & | barycenter ) |
Definition at line 2580 of file PDClustering.cpp.
| void ttk::PDClustering::computeBarycenterForTwoGlobal | ( | std::vector< std::vector< std::vector< std::vector< MatchingType > > > > & | all_matchings_per_type_and_cluster | ) |
Definition at line 2558 of file PDClustering.cpp.
| double ttk::PDClustering::computeDistance | ( | BidderDiagram *const | D1, |
| const GoodDiagram *const | D2, | ||
| const double | delta_lim ) |
Definition at line 842 of file PDClustering.cpp.
| double ttk::PDClustering::computeDistance | ( | const BidderDiagram & | D1, |
| const BidderDiagram & | D2, | ||
| const double | delta_lim ) |
Definition at line 823 of file PDClustering.cpp.
| double ttk::PDClustering::computeDistance | ( | const BidderDiagram & | D1, |
| const GoodDiagram & | D2, | ||
| const double | delta_lim ) |
Definition at line 830 of file PDClustering.cpp.
| double ttk::PDClustering::computeDistance | ( | const GoodDiagram & | D1, |
| const GoodDiagram & | D2, | ||
| const double | delta_lim ) |
Definition at line 857 of file PDClustering.cpp.
| void ttk::PDClustering::computeDistanceToCentroid | ( | ) |
Definition at line 1151 of file PDClustering.cpp.
| double ttk::PDClustering::computeRealCost | ( | ) |
Definition at line 2511 of file PDClustering.cpp.
| void ttk::PDClustering::correctMatchings | ( | std::vector< std::vector< std::vector< std::vector< MatchingType > > > > & | previous_matchings | ) |
Definition at line 508 of file PDClustering.cpp.
| ttk::GoodDiagram ttk::PDClustering::diagramToCentroid | ( | const BidderDiagram & | diagram | ) |
Definition at line 901 of file PDClustering.cpp.
| ttk::BidderDiagram ttk::PDClustering::diagramWithZeroPrices | ( | const BidderDiagram & | diagram | ) |
Definition at line 876 of file PDClustering.cpp.
| std::vector< double > ttk::PDClustering::enrichCurrentBidderDiagrams | ( | std::vector< double > & | previous_min_persistence, |
| std::vector< double > & | min_persistence, | ||
| std::vector< std::vector< double > > & | initial_diagonal_prices, | ||
| std::vector< std::vector< double > > & | initial_off_diagonal_prices, | ||
| std::vector< int > & | min_points_to_add, | ||
| bool | add_points_to_barycenter, | ||
| bool | first_enrichment ) |
Definition at line 2009 of file PDClustering.cpp.
| std::vector< int > ttk::PDClustering::execute | ( | std::vector< DiagramType > & | final_centroids, |
| std::vector< std::vector< std::vector< std::vector< MatchingType > > > > & | all_matchings ) |
Definition at line 24 of file PDClustering.cpp.
| std::vector< std::vector< int > > ttk::PDClustering::get_centroids_sizes | ( | ) |
Definition at line 638 of file PDClustering.cpp.
| void ttk::PDClustering::getCentroidDistanceMatrix | ( | ) |
Definition at line 1117 of file PDClustering.cpp.
| std::vector< std::vector< double > > ttk::PDClustering::getDistanceMatrix | ( | ) |
Definition at line 1082 of file PDClustering.cpp.
|
inline |
Definition at line 41 of file PDClustering.h.
| double ttk::PDClustering::getLessPersistent | ( | int | type = -1 | ) |
Definition at line 683 of file PDClustering.cpp.
| std::vector< std::vector< double > > ttk::PDClustering::getMinDiagonalPrices | ( | ) |
Definition at line 771 of file PDClustering.cpp.
| std::vector< std::vector< double > > ttk::PDClustering::getMinPrices | ( | ) |
Definition at line 726 of file PDClustering.cpp.
| double ttk::PDClustering::getMostPersistent | ( | int | type = -1 | ) |
Definition at line 642 of file PDClustering.cpp.
| void ttk::PDClustering::initializeAcceleratedKMeans | ( | ) |
Definition at line 1051 of file PDClustering.cpp.
| void ttk::PDClustering::initializeBarycenterComputers | ( | std::vector< double > & | min_persistence | ) |
Definition at line 2371 of file PDClustering.cpp.
| void ttk::PDClustering::initializeCentroids | ( | ) |
Definition at line 917 of file PDClustering.cpp.
| void ttk::PDClustering::initializeCentroidsKMeanspp | ( | ) |
Definition at line 947 of file PDClustering.cpp.
| void ttk::PDClustering::initializeEmptyClusters | ( | ) |
Definition at line 913 of file PDClustering.cpp.
| void ttk::PDClustering::invertClusters | ( | ) |
Converts the clustering (vector of vector of diagram's id) into a vector of size numberOfInputs_ containing the cluster of each input diagram.
Definition at line 1247 of file PDClustering.cpp.
| void ttk::PDClustering::invertInverseClusters | ( | ) |
Definition at line 1264 of file PDClustering.cpp.
|
inline |
Definition at line 211 of file PDClustering.h.
| void ttk::PDClustering::printDistancesToFile | ( | ) |
Definition at line 2453 of file PDClustering.cpp.
| void ttk::PDClustering::printMatchings | ( | std::vector< std::vector< std::vector< MatchingType > > > | matchings | ) |
Definition at line 619 of file PDClustering.cpp.
|
inline |
Definition at line 230 of file PDClustering.h.
| void ttk::PDClustering::printPricesToFile | ( | int | iteration | ) |
Definition at line 2494 of file PDClustering.cpp.
| void ttk::PDClustering::printRealDistancesToFile | ( | ) |
Definition at line 2478 of file PDClustering.cpp.
|
inline |
Definition at line 119 of file PDClustering.h.
|
inline |
Definition at line 170 of file PDClustering.h.
| void ttk::PDClustering::setBidderDiagrams | ( | ) |
Definition at line 1943 of file PDClustering.cpp.
|
inline |
Definition at line 203 of file PDClustering.h.
|
inline |
Definition at line 187 of file PDClustering.h.
|
inline |
Definition at line 124 of file PDClustering.h.
|
inline |
Definition at line 200 of file PDClustering.h.
|
inline |
Definition at line 133 of file PDClustering.h.
|
inline |
Definition at line 184 of file PDClustering.h.
|
inline |
Definition at line 178 of file PDClustering.h.
|
inline |
Definition at line 149 of file PDClustering.h.
|
inline |
Definition at line 162 of file PDClustering.h.
|
inline |
Definition at line 181 of file PDClustering.h.
|
inline |
Definition at line 207 of file PDClustering.h.
|
inline |
Definition at line 144 of file PDClustering.h.
|
inline |
Definition at line 174 of file PDClustering.h.
|
inline |
Definition at line 191 of file PDClustering.h.
|
inline |
Definition at line 166 of file PDClustering.h.
|
inline |
Definition at line 158 of file PDClustering.h.
|
inline |
Definition at line 154 of file PDClustering.h.
| std::vector< double > ttk::PDClustering::updateCentroidsPosition | ( | std::vector< std::vector< double > > * | min_price, |
| std::vector< std::vector< double > > * | min_diag_price, | ||
| std::vector< std::vector< std::vector< std::vector< MatchingType > > > > & | all_matchings, | ||
| int | only_matchings ) |
Definition at line 1481 of file PDClustering.cpp.
| void ttk::PDClustering::updateClusters | ( | ) |
Definition at line 1183 of file PDClustering.cpp.
|
protected |
Definition at line 248 of file PDClustering.h.
|
protected |
Definition at line 246 of file PDClustering.h.
|
protected |
Definition at line 247 of file PDClustering.h.
|
protected |
Definition at line 250 of file PDClustering.h.
|
protected |
Definition at line 307 of file PDClustering.h.
|
protected |
Definition at line 295 of file PDClustering.h.
|
protected |
Definition at line 301 of file PDClustering.h.
|
protected |
Definition at line 309 of file PDClustering.h.
|
protected |
Definition at line 297 of file PDClustering.h.
|
protected |
Definition at line 303 of file PDClustering.h.
|
protected |
Definition at line 316 of file PDClustering.h.
|
protected |
Definition at line 310 of file PDClustering.h.
|
protected |
Definition at line 298 of file PDClustering.h.
|
protected |
Definition at line 304 of file PDClustering.h.
|
protected |
Definition at line 321 of file PDClustering.h.
|
protected |
Definition at line 312 of file PDClustering.h.
|
protected |
Definition at line 280 of file PDClustering.h.
|
protected |
Definition at line 283 of file PDClustering.h.
|
protected |
Definition at line 281 of file PDClustering.h.
|
protected |
Definition at line 282 of file PDClustering.h.
|
protected |
Definition at line 308 of file PDClustering.h.
|
protected |
Definition at line 296 of file PDClustering.h.
|
protected |
Definition at line 302 of file PDClustering.h.
|
protected |
Definition at line 287 of file PDClustering.h.
|
protected |
Definition at line 285 of file PDClustering.h.
|
protected |
Definition at line 286 of file PDClustering.h.
|
protected |
Definition at line 259 of file PDClustering.h.
|
protected |
Definition at line 256 of file PDClustering.h.
|
protected |
Definition at line 322 of file PDClustering.h.
|
protected |
Definition at line 261 of file PDClustering.h.
|
protected |
Definition at line 306 of file PDClustering.h.
|
protected |
Definition at line 294 of file PDClustering.h.
|
protected |
Definition at line 300 of file PDClustering.h.
|
protected |
Definition at line 279 of file PDClustering.h.
|
protected |
Definition at line 278 of file PDClustering.h.
|
protected |
Definition at line 255 of file PDClustering.h.
|
protected |
Definition at line 258 of file PDClustering.h.
|
protected |
Definition at line 290 of file PDClustering.h.
|
protected |
Definition at line 288 of file PDClustering.h.
|
protected |
Definition at line 289 of file PDClustering.h.
|
protected |
Definition at line 314 of file PDClustering.h.
|
protected |
Definition at line 270 of file PDClustering.h.
|
protected |
Definition at line 320 of file PDClustering.h.
|
protected |
Definition at line 267 of file PDClustering.h.
|
protected |
Definition at line 324 of file PDClustering.h.
|
protected |
Definition at line 268 of file PDClustering.h.
|
protected |
Definition at line 271 of file PDClustering.h.
|
protected |
Definition at line 313 of file PDClustering.h.
|
protected |
Definition at line 292 of file PDClustering.h.
|
protected |
Definition at line 251 of file PDClustering.h.
|
protected |
Definition at line 252 of file PDClustering.h.
|
protected |
Definition at line 253 of file PDClustering.h.
|
protected |
Definition at line 254 of file PDClustering.h.
|
protected |
Definition at line 318 of file PDClustering.h.
|
protected |
Definition at line 276 of file PDClustering.h.
|
protected |
Definition at line 319 of file PDClustering.h.
|
protected |
Definition at line 273 of file PDClustering.h.
|
protected |
Definition at line 275 of file PDClustering.h.
|
protected |
Definition at line 274 of file PDClustering.h.
|
protected |
Definition at line 272 of file PDClustering.h.
|
protected |
Definition at line 260 of file PDClustering.h.
|
protected |
Definition at line 257 of file PDClustering.h.