TTK
|
#include <PDBarycenter.h>
Public Types | |
using | KDT = PersistenceDiagramAuction::KDT |
using | KDTreePair = std::pair< typename KDT::KDTreeRoot, typename KDT::KDTreeMap > |
Public Member Functions | |
PDBarycenter () | |
~PDBarycenter () override=default | |
std::vector< std::vector< MatchingType > > | execute (DiagramType &barycenter) |
std::vector< std::vector< MatchingType > > | executeMunkresBarycenter (DiagramType &barycenter) |
std::vector< std::vector< MatchingType > > | executeAuctionBarycenter (DiagramType &barycenter) |
std::vector< std::vector< MatchingType > > | executePartialBiddingBarycenter (DiagramType &barycenter) |
void | setBidderDiagrams () |
double | enrichCurrentBidderDiagrams (double previous_min_persistence, double min_persistence, std::vector< double > &initial_diagonal_prices, std::vector< double > &initial_off_diagonal_prices, int min_points_to_add, bool add_points_to_barycenter=true) |
void | setInitialBarycenter (double min_persistence) |
double | getMaxPersistence () |
double | getLowestPersistence () |
double | getMinimalPrice (int i) |
KDTreePair | getKDTree () const |
void | runMatching (double *total_cost, double epsilon, std::vector< int > &sizes, KDT &kdt, std::vector< KDT * > &correspondence_kdt_map, std::vector< double > *min_diag_price, std::vector< double > *min_price, std::vector< std::vector< MatchingType > > *all_matchings, bool use_kdt, bool actual_distance) |
void | runMatchingAuction (double *total_cost, std::vector< int > &sizes, KDT &kdt, std::vector< KDT * > &correspondence_kdt_map, std::vector< double > *min_diag_price, std::vector< std::vector< MatchingType > > *all_matchings, bool use_kdt, bool actual_distance) |
double | updateBarycenter (std::vector< std::vector< MatchingType > > &matchings) |
double | computeRealCost () |
bool | isPrecisionObjectiveMet (double, int) |
bool | hasBarycenterConverged (std::vector< std::vector< MatchingType > > &matchings, std::vector< std::vector< MatchingType > > &previous_matchings) |
std::vector< std::vector< MatchingType > > | correctMatchings (std::vector< std::vector< MatchingType > > &previous_matchings) |
bool | is_matching_stable () |
double | getEpsilon (double rho) |
double | getRho (double epsilon) |
void | setDeterministic (const bool deterministic) |
void | setMethod (const int &method) |
int | setDiagrams (std::vector< DiagramType > *data) |
int | setNumberOfInputs (int numberOfInputs) |
void | setWasserstein (const int &wasserstein) |
void | setUseProgressive (const bool use_progressive) |
void | setGeometricalFactor (const double geometrical_factor) |
void | setLambda (const double lambda) |
void | setCurrentBidders (std::vector< BidderDiagram > &diagrams) |
void | setCurrentBarycenter (std::vector< GoodDiagram > &barycenters) |
std::vector< BidderDiagram > & | getCurrentBidders () |
std::vector< GoodDiagram > & | getCurrentBarycenter () |
void | setReinitPrices (const bool reinit_prices) |
void | setEpsilonDecreases (const bool epsilon_decreases) |
void | setEarlyStoppage (const bool early_stoppage) |
void | setDiagramType (const int &diagramType) |
void | setNonMatchingWeight (double nonMatchingWeight) |
double | getCost () |
void | setDeltaLim (double delta_lim) |
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 25 of file PDBarycenter.h.
Definition at line 56 of file PDBarycenter.h.
using ttk::PDBarycenter::KDTreePair = std::pair<typename KDT::KDTreeRoot, typename KDT::KDTreeMap> |
Definition at line 57 of file PDBarycenter.h.
|
inline |
Definition at line 28 of file PDBarycenter.h.
|
overridedefault |
double ttk::PDBarycenter::computeRealCost | ( | ) |
Definition at line 718 of file PDBarycenter.cpp.
std::vector< std::vector< ttk::MatchingType > > ttk::PDBarycenter::correctMatchings | ( | std::vector< std::vector< MatchingType > > & | previous_matchings | ) |
Definition at line 135 of file PDBarycenter.cpp.
double ttk::PDBarycenter::enrichCurrentBidderDiagrams | ( | double | previous_min_persistence, |
double | min_persistence, | ||
std::vector< double > & | initial_diagonal_prices, | ||
std::vector< double > & | initial_off_diagonal_prices, | ||
int | min_points_to_add, | ||
bool | add_points_to_barycenter = true |
||
) |
Definition at line 395 of file PDBarycenter.cpp.
std::vector< std::vector< ttk::MatchingType > > ttk::PDBarycenter::execute | ( | DiagramType & | barycenter | ) |
Definition at line 22 of file PDBarycenter.cpp.
std::vector< std::vector< ttk::MatchingType > > ttk::PDBarycenter::executeAuctionBarycenter | ( | DiagramType & | barycenter | ) |
Definition at line 608 of file PDBarycenter.cpp.
std::vector< std::vector< MatchingType > > ttk::PDBarycenter::executeMunkresBarycenter | ( | DiagramType & | barycenter | ) |
std::vector< std::vector< MatchingType > > ttk::PDBarycenter::executePartialBiddingBarycenter | ( | DiagramType & | barycenter | ) |
|
inline |
Definition at line 186 of file PDBarycenter.h.
|
inline |
Definition at line 152 of file PDBarycenter.h.
|
inline |
Definition at line 148 of file PDBarycenter.h.
double ttk::PDBarycenter::getEpsilon | ( | double | rho | ) |
Definition at line 364 of file PDBarycenter.cpp.
ttk::PDBarycenter::KDTreePair ttk::PDBarycenter::getKDTree | ( | ) | const |
Definition at line 569 of file PDBarycenter.cpp.
double ttk::PDBarycenter::getLowestPersistence | ( | ) |
Definition at line 519 of file PDBarycenter.cpp.
double ttk::PDBarycenter::getMaxPersistence | ( | ) |
Definition at line 483 of file PDBarycenter.cpp.
double ttk::PDBarycenter::getMinimalPrice | ( | int | i | ) |
Definition at line 499 of file PDBarycenter.cpp.
double ttk::PDBarycenter::getRho | ( | double | epsilon | ) |
Definition at line 368 of file PDBarycenter.cpp.
bool ttk::PDBarycenter::hasBarycenterConverged | ( | std::vector< std::vector< MatchingType > > & | matchings, |
std::vector< std::vector< MatchingType > > & | previous_matchings | ||
) |
Definition at line 114 of file PDBarycenter.cpp.
bool ttk::PDBarycenter::is_matching_stable | ( | ) |
bool ttk::PDBarycenter::isPrecisionObjectiveMet | ( | double | precision_objective, |
int | mode | ||
) |
Definition at line 733 of file PDBarycenter.cpp.
void ttk::PDBarycenter::runMatching | ( | double * | total_cost, |
double | epsilon, | ||
std::vector< int > & | sizes, | ||
KDT & | kdt, | ||
std::vector< KDT * > & | correspondence_kdt_map, | ||
std::vector< double > * | min_diag_price, | ||
std::vector< double > * | min_price, | ||
std::vector< std::vector< MatchingType > > * | all_matchings, | ||
bool | use_kdt, | ||
bool | actual_distance | ||
) |
Definition at line 26 of file PDBarycenter.cpp.
void ttk::PDBarycenter::runMatchingAuction | ( | double * | total_cost, |
std::vector< int > & | sizes, | ||
KDT & | kdt, | ||
std::vector< KDT * > & | correspondence_kdt_map, | ||
std::vector< double > * | min_diag_price, | ||
std::vector< std::vector< MatchingType > > * | all_matchings, | ||
bool | use_kdt, | ||
bool | actual_distance | ||
) |
Definition at line 79 of file PDBarycenter.cpp.
void ttk::PDBarycenter::setBidderDiagrams | ( | ) |
Definition at line 372 of file PDBarycenter.cpp.
|
inline |
Definition at line 144 of file PDBarycenter.h.
|
inline |
Definition at line 140 of file PDBarycenter.h.
|
inline |
Definition at line 190 of file PDBarycenter.h.
|
inline |
Definition at line 97 of file PDBarycenter.h.
|
inline |
Definition at line 112 of file PDBarycenter.h.
|
inline |
Definition at line 168 of file PDBarycenter.h.
|
inline |
Definition at line 164 of file PDBarycenter.h.
|
inline |
Definition at line 160 of file PDBarycenter.h.
|
inline |
Definition at line 132 of file PDBarycenter.h.
void ttk::PDBarycenter::setInitialBarycenter | ( | double | min_persistence | ) |
Definition at line 538 of file PDBarycenter.cpp.
|
inline |
Definition at line 136 of file PDBarycenter.h.
|
inline |
Definition at line 101 of file PDBarycenter.h.
|
inline |
Definition at line 182 of file PDBarycenter.h.
|
inline |
Definition at line 117 of file PDBarycenter.h.
|
inline |
Definition at line 156 of file PDBarycenter.h.
|
inline |
Definition at line 128 of file PDBarycenter.h.
|
inline |
Definition at line 124 of file PDBarycenter.h.
double ttk::PDBarycenter::updateBarycenter | ( | std::vector< std::vector< MatchingType > > & | matchings | ) |
Definition at line 163 of file PDBarycenter.cpp.
|
protected |
Definition at line 228 of file PDBarycenter.h.
|
protected |
Definition at line 229 of file PDBarycenter.h.
|
protected |
Definition at line 233 of file PDBarycenter.h.
|
protected |
Definition at line 230 of file PDBarycenter.h.
|
protected |
Definition at line 219 of file PDBarycenter.h.
|
protected |
Definition at line 231 of file PDBarycenter.h.
|
protected |
Definition at line 232 of file PDBarycenter.h.
|
protected |
Definition at line 198 of file PDBarycenter.h.
|
protected |
Definition at line 201 of file PDBarycenter.h.
|
protected |
Definition at line 216 of file PDBarycenter.h.
|
protected |
Definition at line 237 of file PDBarycenter.h.
|
protected |
Definition at line 236 of file PDBarycenter.h.
|
protected |
Definition at line 222 of file PDBarycenter.h.
|
protected |
Definition at line 207 of file PDBarycenter.h.
|
protected |
Definition at line 223 of file PDBarycenter.h.
|
protected |
Definition at line 214 of file PDBarycenter.h.
|
protected |
Definition at line 203 of file PDBarycenter.h.
|
protected |
Definition at line 205 of file PDBarycenter.h.
|
protected |
Definition at line 217 of file PDBarycenter.h.
|
protected |
Definition at line 218 of file PDBarycenter.h.
|
protected |
Definition at line 220 of file PDBarycenter.h.
|
protected |
Definition at line 225 of file PDBarycenter.h.
|
protected |
Definition at line 226 of file PDBarycenter.h.
|
protected |
Definition at line 196 of file PDBarycenter.h.
|
protected |
Definition at line 235 of file PDBarycenter.h.
|
protected |
Definition at line 221 of file PDBarycenter.h.
|
protected |
Definition at line 204 of file PDBarycenter.h.