TTK
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
ttk::PersistenceDiagramClustering Class Reference

TTK processing package for the computation of Wasserstein barycenters and K-Means clusterings of a set of persistence diagrams. More...

#include <PersistenceDiagramClustering.h>

Inheritance diagram for ttk::PersistenceDiagramClustering:
ttk::Debug ttk::BaseClass ttkPersistenceDiagramClustering

Public Member Functions

 PersistenceDiagramClustering ()
 
 ~PersistenceDiagramClustering () override=default
 
std::vector< int > execute (std::vector< DiagramType > &intermediateDiagrams, std::vector< DiagramType > &centroids, std::vector< std::vector< std::vector< MatchingType > > > &all_matchings)
 
std::array< double, 3 > getDistances () const
 
- 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)
 

Protected Attributes

std::array< double, 3 > distances {}
 
int DistanceWritingOptions {0}
 
int PairTypeClustering {-1}
 
bool Deterministic {true}
 
int WassersteinMetric {2}
 
bool UseProgressive {true}
 
bool ForceUseOfAlgorithm {false}
 
bool UseInterruptible {true}
 
double Alpha {1.0}
 
bool UseAdditionalPrecision {false}
 
double DeltaLim {0.01}
 
double Lambda {1.0}
 
double TimeLimit {999999}
 
int NumberOfClusters {1}
 
bool UseAccelerated {false}
 
bool UseKmeansppInit {false}
 
int points_added_
 
int points_deleted_
 
- Protected Attributes inherited from ttk::Debug
int debugLevel_
 
std::string debugMsgPrefix_
 
std::string debugMsgNamePrefix_
 
- Protected Attributes inherited from ttk::BaseClass
bool lastObject_
 
int threadNumber_
 
Wrapperwrapper_
 

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
 

Detailed Description

TTK processing package for the computation of Wasserstein barycenters and K-Means clusterings of a set of persistence diagrams.

Author
Jules Vidal jules.nosp@m..vid.nosp@m.al@li.nosp@m.p6.f.nosp@m.r
Joseph Budin josep.nosp@m.h.bu.nosp@m.din@p.nosp@m.olyt.nosp@m.echni.nosp@m.que..nosp@m.edu
Date
September 2019

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.

See also
ttkPersistenceDiagramClustering

Online examples:

Definition at line 38 of file PersistenceDiagramClustering.h.

Constructor & Destructor Documentation

◆ PersistenceDiagramClustering()

ttk::PersistenceDiagramClustering::PersistenceDiagramClustering ( )
inline

Definition at line 41 of file PersistenceDiagramClustering.h.

◆ ~PersistenceDiagramClustering()

ttk::PersistenceDiagramClustering::~PersistenceDiagramClustering ( )
overridedefault

Member Function Documentation

◆ execute()

std::vector< int > ttk::PersistenceDiagramClustering::execute ( std::vector< DiagramType > &  intermediateDiagrams,
std::vector< DiagramType > &  centroids,
std::vector< std::vector< std::vector< MatchingType > > > &  all_matchings 
)

Reconstruct matchings

Definition at line 3 of file PersistenceDiagramClustering.cpp.

◆ getDistances()

std::array< double, 3 > ttk::PersistenceDiagramClustering::getDistances ( ) const
inline

Definition at line 52 of file PersistenceDiagramClustering.h.

Member Data Documentation

◆ Alpha

double ttk::PersistenceDiagramClustering::Alpha {1.0}
protected

Definition at line 72 of file PersistenceDiagramClustering.h.

◆ DeltaLim

double ttk::PersistenceDiagramClustering::DeltaLim {0.01}
protected

Definition at line 74 of file PersistenceDiagramClustering.h.

◆ Deterministic

bool ttk::PersistenceDiagramClustering::Deterministic {true}
protected

Definition at line 65 of file PersistenceDiagramClustering.h.

◆ distances

std::array<double, 3> ttk::PersistenceDiagramClustering::distances {}
protected

Definition at line 61 of file PersistenceDiagramClustering.h.

◆ DistanceWritingOptions

int ttk::PersistenceDiagramClustering::DistanceWritingOptions {0}
protected

Definition at line 63 of file PersistenceDiagramClustering.h.

◆ ForceUseOfAlgorithm

bool ttk::PersistenceDiagramClustering::ForceUseOfAlgorithm {false}
protected

Definition at line 70 of file PersistenceDiagramClustering.h.

◆ Lambda

double ttk::PersistenceDiagramClustering::Lambda {1.0}
protected

Definition at line 75 of file PersistenceDiagramClustering.h.

◆ NumberOfClusters

int ttk::PersistenceDiagramClustering::NumberOfClusters {1}
protected

Definition at line 78 of file PersistenceDiagramClustering.h.

◆ PairTypeClustering

int ttk::PersistenceDiagramClustering::PairTypeClustering {-1}
protected

Definition at line 64 of file PersistenceDiagramClustering.h.

◆ points_added_

int ttk::PersistenceDiagramClustering::points_added_
protected

Definition at line 82 of file PersistenceDiagramClustering.h.

◆ points_deleted_

int ttk::PersistenceDiagramClustering::points_deleted_
protected

Definition at line 83 of file PersistenceDiagramClustering.h.

◆ TimeLimit

double ttk::PersistenceDiagramClustering::TimeLimit {999999}
protected

Definition at line 76 of file PersistenceDiagramClustering.h.

◆ UseAccelerated

bool ttk::PersistenceDiagramClustering::UseAccelerated {false}
protected

Definition at line 79 of file PersistenceDiagramClustering.h.

◆ UseAdditionalPrecision

bool ttk::PersistenceDiagramClustering::UseAdditionalPrecision {false}
protected

Definition at line 73 of file PersistenceDiagramClustering.h.

◆ UseInterruptible

bool ttk::PersistenceDiagramClustering::UseInterruptible {true}
protected

Definition at line 71 of file PersistenceDiagramClustering.h.

◆ UseKmeansppInit

bool ttk::PersistenceDiagramClustering::UseKmeansppInit {false}
protected

Definition at line 80 of file PersistenceDiagramClustering.h.

◆ UseProgressive

bool ttk::PersistenceDiagramClustering::UseProgressive {true}
protected

Definition at line 68 of file PersistenceDiagramClustering.h.

◆ WassersteinMetric

int ttk::PersistenceDiagramClustering::WassersteinMetric {2}
protected

Definition at line 66 of file PersistenceDiagramClustering.h.


The documentation for this class was generated from the following files: