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) |
double | getCost () |
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) |
virtual int | setWrapper (const Wrapper *wrapper) |
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 703 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 376 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 589 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 182 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 342 of file PDBarycenter.cpp.
ttk::PDBarycenter::KDTreePair ttk::PDBarycenter::getKDTree | ( | ) | const |
Definition at line 550 of file PDBarycenter.cpp.
double ttk::PDBarycenter::getLowestPersistence | ( | ) |
Definition at line 500 of file PDBarycenter.cpp.
double ttk::PDBarycenter::getMaxPersistence | ( | ) |
Definition at line 464 of file PDBarycenter.cpp.
double ttk::PDBarycenter::getMinimalPrice | ( | int | i | ) |
Definition at line 480 of file PDBarycenter.cpp.
double ttk::PDBarycenter::getRho | ( | double | epsilon | ) |
Definition at line 346 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 718 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 350 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 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 519 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 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 217 of file PDBarycenter.h.
|
protected |
Definition at line 218 of file PDBarycenter.h.
|
protected |
Definition at line 222 of file PDBarycenter.h.
|
protected |
Definition at line 219 of file PDBarycenter.h.
|
protected |
Definition at line 208 of file PDBarycenter.h.
|
protected |
Definition at line 220 of file PDBarycenter.h.
|
protected |
Definition at line 221 of file PDBarycenter.h.
|
protected |
Definition at line 191 of file PDBarycenter.h.
|
protected |
Definition at line 205 of file PDBarycenter.h.
|
protected |
Definition at line 226 of file PDBarycenter.h.
|
protected |
Definition at line 225 of file PDBarycenter.h.
|
protected |
Definition at line 211 of file PDBarycenter.h.
|
protected |
Definition at line 196 of file PDBarycenter.h.
|
protected |
Definition at line 212 of file PDBarycenter.h.
|
protected |
Definition at line 203 of file PDBarycenter.h.
|
protected |
Definition at line 193 of file PDBarycenter.h.
|
protected |
Definition at line 206 of file PDBarycenter.h.
|
protected |
Definition at line 207 of file PDBarycenter.h.
|
protected |
Definition at line 209 of file PDBarycenter.h.
|
protected |
Definition at line 214 of file PDBarycenter.h.
|
protected |
Definition at line 215 of file PDBarycenter.h.
|
protected |
Definition at line 188 of file PDBarycenter.h.
|
protected |
Definition at line 224 of file PDBarycenter.h.
|
protected |
Definition at line 210 of file PDBarycenter.h.
|
protected |
Definition at line 194 of file PDBarycenter.h.