|
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) |
| void | setUseCustomWeights (bool data) |
| void | setCustomWeights (std::vector< double > *pdata) |
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) |
Protected Attributes | |
| std::vector< double > | precision_ |
| double | delta_lim_ {0.01} |
| bool | deterministic_ {false} |
| std::string | method_ {"Partial Bidding"} |
| int | wasserstein_ {2} |
| double | nonMatchingWeight_ = 1.0 |
| double | geometrical_factor_ {1.0} |
| double | lambda_ |
| int | diagramType_ |
| ttk::CriticalType | nt1_ |
| ttk::CriticalType | nt2_ |
| double | cost_ |
| int | numberOfInputs_ |
| bool | use_progressive_ {true} |
| double | epsilon_min_ {1e-5} |
| std::vector< DiagramType > * | inputDiagrams_ |
| int | points_added_ |
| int | points_deleted_ |
| std::vector< std::vector< double > > | all_matchings_ |
| std::vector< std::vector< double > > | all_old_matchings_ |
| std::vector< BidderDiagram > | bidder_diagrams_ |
| std::vector< BidderDiagram > | current_bidder_diagrams_ |
| std::vector< std::vector< int > > | current_bidder_ids_ |
| std::vector< GoodDiagram > | barycenter_goods_ |
| std::vector< double > * | customWeights_ {} |
| bool | useCustomWeights_ {false} |
| bool | reinit_prices_ {true} |
| bool | epsilon_decreases_ {true} |
| bool | early_stoppage_ {true} |
Protected Attributes inherited from ttk::Debug | |
| int | debugLevel_ |
| std::string | debugMsgPrefix_ |
| std::string | debugMsgNamePrefix_ |
Protected Attributes inherited from ttk::BaseClass | |
| bool | lastObject_ |
| int | threadNumber_ |
| 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 764 of file PDBarycenter.cpp.
| std::vector< std::vector< ttk::MatchingType > > ttk::PDBarycenter::correctMatchings | ( | std::vector< std::vector< MatchingType > > & | previous_matchings | ) |
Definition at line 137 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 441 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 654 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 185 of file PDBarycenter.h.
|
inline |
Definition at line 151 of file PDBarycenter.h.
|
inline |
Definition at line 147 of file PDBarycenter.h.
| double ttk::PDBarycenter::getEpsilon | ( | double | rho | ) |
Definition at line 410 of file PDBarycenter.cpp.
| ttk::PDBarycenter::KDTreePair ttk::PDBarycenter::getKDTree | ( | ) | const |
Definition at line 615 of file PDBarycenter.cpp.
| double ttk::PDBarycenter::getLowestPersistence | ( | ) |
Definition at line 565 of file PDBarycenter.cpp.
| double ttk::PDBarycenter::getMaxPersistence | ( | ) |
Definition at line 529 of file PDBarycenter.cpp.
| double ttk::PDBarycenter::getMinimalPrice | ( | int | i | ) |
Definition at line 545 of file PDBarycenter.cpp.
| double ttk::PDBarycenter::getRho | ( | double | epsilon | ) |
Definition at line 414 of file PDBarycenter.cpp.
| bool ttk::PDBarycenter::hasBarycenterConverged | ( | std::vector< std::vector< MatchingType > > & | matchings, |
| std::vector< std::vector< MatchingType > > & | previous_matchings ) |
Definition at line 116 of file PDBarycenter.cpp.
| bool ttk::PDBarycenter::is_matching_stable | ( | ) |
| bool ttk::PDBarycenter::isPrecisionObjectiveMet | ( | double | precision_objective, |
| int | mode ) |
Definition at line 779 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 80 of file PDBarycenter.cpp.
| void ttk::PDBarycenter::setBidderDiagrams | ( | ) |
Definition at line 418 of file PDBarycenter.cpp.
|
inline |
Definition at line 143 of file PDBarycenter.h.
|
inline |
Definition at line 139 of file PDBarycenter.h.
|
inline |
Definition at line 196 of file PDBarycenter.h.
|
inline |
Definition at line 189 of file PDBarycenter.h.
|
inline |
Definition at line 96 of file PDBarycenter.h.
|
inline |
Definition at line 111 of file PDBarycenter.h.
|
inline |
Definition at line 167 of file PDBarycenter.h.
|
inline |
Definition at line 163 of file PDBarycenter.h.
|
inline |
Definition at line 159 of file PDBarycenter.h.
|
inline |
Definition at line 131 of file PDBarycenter.h.
| void ttk::PDBarycenter::setInitialBarycenter | ( | double | min_persistence | ) |
Definition at line 584 of file PDBarycenter.cpp.
|
inline |
Definition at line 135 of file PDBarycenter.h.
|
inline |
Definition at line 100 of file PDBarycenter.h.
|
inline |
Definition at line 181 of file PDBarycenter.h.
|
inline |
Definition at line 116 of file PDBarycenter.h.
|
inline |
Definition at line 155 of file PDBarycenter.h.
|
inline |
Definition at line 193 of file PDBarycenter.h.
|
inline |
Definition at line 127 of file PDBarycenter.h.
|
inline |
Definition at line 123 of file PDBarycenter.h.
| double ttk::PDBarycenter::updateBarycenter | ( | std::vector< std::vector< MatchingType > > & | matchings | ) |
Definition at line 165 of file PDBarycenter.cpp.
|
protected |
Definition at line 234 of file PDBarycenter.h.
|
protected |
Definition at line 235 of file PDBarycenter.h.
|
protected |
Definition at line 239 of file PDBarycenter.h.
|
protected |
Definition at line 236 of file PDBarycenter.h.
|
protected |
Definition at line 225 of file PDBarycenter.h.
|
protected |
Definition at line 237 of file PDBarycenter.h.
|
protected |
Definition at line 238 of file PDBarycenter.h.
|
protected |
Definition at line 241 of file PDBarycenter.h.
|
protected |
Definition at line 204 of file PDBarycenter.h.
|
protected |
Definition at line 207 of file PDBarycenter.h.
|
protected |
Definition at line 222 of file PDBarycenter.h.
|
protected |
Definition at line 246 of file PDBarycenter.h.
|
protected |
Definition at line 245 of file PDBarycenter.h.
|
protected |
Definition at line 228 of file PDBarycenter.h.
|
protected |
Definition at line 213 of file PDBarycenter.h.
|
protected |
Definition at line 229 of file PDBarycenter.h.
|
protected |
Definition at line 220 of file PDBarycenter.h.
|
protected |
Definition at line 209 of file PDBarycenter.h.
|
protected |
Definition at line 211 of file PDBarycenter.h.
|
protected |
Definition at line 223 of file PDBarycenter.h.
|
protected |
Definition at line 224 of file PDBarycenter.h.
|
protected |
Definition at line 226 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 202 of file PDBarycenter.h.
|
protected |
Definition at line 244 of file PDBarycenter.h.
|
protected |
Definition at line 227 of file PDBarycenter.h.
|
protected |
Definition at line 242 of file PDBarycenter.h.
|
protected |
Definition at line 210 of file PDBarycenter.h.