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 1277 of file PDClustering.cpp.
ttk::BidderDiagram ttk::PDClustering::centroidToDiagram | ( | const GoodDiagram & | centroid | ) |
Definition at line 885 of file PDClustering.cpp.
ttk::GoodDiagram ttk::PDClustering::centroidWithZeroPrices | ( | const GoodDiagram & | centroid | ) |
Definition at line 863 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 2578 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 2556 of file PDClustering.cpp.
double ttk::PDClustering::computeDistance | ( | BidderDiagram *const | D1, |
const GoodDiagram *const | D2, | ||
const double | delta_lim | ||
) |
Definition at line 840 of file PDClustering.cpp.
double ttk::PDClustering::computeDistance | ( | const BidderDiagram & | D1, |
const BidderDiagram & | D2, | ||
const double | delta_lim | ||
) |
Definition at line 821 of file PDClustering.cpp.
double ttk::PDClustering::computeDistance | ( | const BidderDiagram & | D1, |
const GoodDiagram & | D2, | ||
const double | delta_lim | ||
) |
Definition at line 828 of file PDClustering.cpp.
double ttk::PDClustering::computeDistance | ( | const GoodDiagram & | D1, |
const GoodDiagram & | D2, | ||
const double | delta_lim | ||
) |
Definition at line 855 of file PDClustering.cpp.
void ttk::PDClustering::computeDistanceToCentroid | ( | ) |
Definition at line 1149 of file PDClustering.cpp.
double ttk::PDClustering::computeRealCost | ( | ) |
Definition at line 2509 of file PDClustering.cpp.
void ttk::PDClustering::correctMatchings | ( | std::vector< std::vector< std::vector< std::vector< MatchingType > > > > & | previous_matchings | ) |
Definition at line 506 of file PDClustering.cpp.
ttk::GoodDiagram ttk::PDClustering::diagramToCentroid | ( | const BidderDiagram & | diagram | ) |
Definition at line 899 of file PDClustering.cpp.
ttk::BidderDiagram ttk::PDClustering::diagramWithZeroPrices | ( | const BidderDiagram & | diagram | ) |
Definition at line 874 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 2007 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 636 of file PDClustering.cpp.
void ttk::PDClustering::getCentroidDistanceMatrix | ( | ) |
Definition at line 1115 of file PDClustering.cpp.
std::vector< std::vector< double > > ttk::PDClustering::getDistanceMatrix | ( | ) |
Definition at line 1080 of file PDClustering.cpp.
|
inline |
Definition at line 41 of file PDClustering.h.
double ttk::PDClustering::getLessPersistent | ( | int | type = -1 | ) |
Definition at line 681 of file PDClustering.cpp.
std::vector< std::vector< double > > ttk::PDClustering::getMinDiagonalPrices | ( | ) |
Definition at line 769 of file PDClustering.cpp.
std::vector< std::vector< double > > ttk::PDClustering::getMinPrices | ( | ) |
Definition at line 724 of file PDClustering.cpp.
double ttk::PDClustering::getMostPersistent | ( | int | type = -1 | ) |
Definition at line 640 of file PDClustering.cpp.
void ttk::PDClustering::initializeAcceleratedKMeans | ( | ) |
Definition at line 1049 of file PDClustering.cpp.
void ttk::PDClustering::initializeBarycenterComputers | ( | std::vector< double > & | min_persistence | ) |
Definition at line 2369 of file PDClustering.cpp.
void ttk::PDClustering::initializeCentroids | ( | ) |
Definition at line 915 of file PDClustering.cpp.
void ttk::PDClustering::initializeCentroidsKMeanspp | ( | ) |
Definition at line 945 of file PDClustering.cpp.
void ttk::PDClustering::initializeEmptyClusters | ( | ) |
Definition at line 911 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 1245 of file PDClustering.cpp.
void ttk::PDClustering::invertInverseClusters | ( | ) |
Definition at line 1262 of file PDClustering.cpp.
|
inline |
Definition at line 211 of file PDClustering.h.
void ttk::PDClustering::printDistancesToFile | ( | ) |
Definition at line 2451 of file PDClustering.cpp.
void ttk::PDClustering::printMatchings | ( | std::vector< std::vector< std::vector< MatchingType > > > | matchings | ) |
Definition at line 617 of file PDClustering.cpp.
|
inline |
Definition at line 230 of file PDClustering.h.
void ttk::PDClustering::printPricesToFile | ( | int | iteration | ) |
Definition at line 2492 of file PDClustering.cpp.
void ttk::PDClustering::printRealDistancesToFile | ( | ) |
Definition at line 2476 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 1941 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 1479 of file PDClustering.cpp.
void ttk::PDClustering::updateClusters | ( | ) |
Definition at line 1181 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.