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
 
void setTimeLimit (double timeLimit)
 
void setForceUseOfAlgorithm (bool forceUseOfAlgorithm)
 
void setDeltaLim (double DeltaLimNew)
 
void setUseAdditionalPrecision (bool Precision)
 
void setUseProgressive (bool UseProgressive_)
 
void setUseInterruptible (bool UseInterruptible_)
 
void setDeterministic (bool Deterministic_)
 
void setAlpha (double Alpha_)
 
void setUseAccelerated (bool UseAccelerated_)
 
void setUseKmeansppInit (bool UseKmeansppInit_)
 
- 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::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}
 
double NonMatchingWeight = 1.0
 
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.

◆ setAlpha()

void ttk::PersistenceDiagramClustering::setAlpha ( double  Alpha_)
inline

Definition at line 84 of file PersistenceDiagramClustering.h.

◆ setDeltaLim()

void ttk::PersistenceDiagramClustering::setDeltaLim ( double  DeltaLimNew)
inline

Definition at line 64 of file PersistenceDiagramClustering.h.

◆ setDeterministic()

void ttk::PersistenceDiagramClustering::setDeterministic ( bool  Deterministic_)
inline

Definition at line 80 of file PersistenceDiagramClustering.h.

◆ setForceUseOfAlgorithm()

void ttk::PersistenceDiagramClustering::setForceUseOfAlgorithm ( bool  forceUseOfAlgorithm)
inline

Definition at line 60 of file PersistenceDiagramClustering.h.

◆ setTimeLimit()

void ttk::PersistenceDiagramClustering::setTimeLimit ( double  timeLimit)
inline

Definition at line 56 of file PersistenceDiagramClustering.h.

◆ setUseAccelerated()

void ttk::PersistenceDiagramClustering::setUseAccelerated ( bool  UseAccelerated_)
inline

Definition at line 88 of file PersistenceDiagramClustering.h.

◆ setUseAdditionalPrecision()

void ttk::PersistenceDiagramClustering::setUseAdditionalPrecision ( bool  Precision)
inline

Definition at line 68 of file PersistenceDiagramClustering.h.

◆ setUseInterruptible()

void ttk::PersistenceDiagramClustering::setUseInterruptible ( bool  UseInterruptible_)
inline

Definition at line 76 of file PersistenceDiagramClustering.h.

◆ setUseKmeansppInit()

void ttk::PersistenceDiagramClustering::setUseKmeansppInit ( bool  UseKmeansppInit_)
inline

Definition at line 92 of file PersistenceDiagramClustering.h.

◆ setUseProgressive()

void ttk::PersistenceDiagramClustering::setUseProgressive ( bool  UseProgressive_)
inline

Definition at line 72 of file PersistenceDiagramClustering.h.

Member Data Documentation

◆ Alpha

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

Definition at line 112 of file PersistenceDiagramClustering.h.

◆ DeltaLim

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

Definition at line 114 of file PersistenceDiagramClustering.h.

◆ Deterministic

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

Definition at line 105 of file PersistenceDiagramClustering.h.

◆ distances

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

Definition at line 101 of file PersistenceDiagramClustering.h.

◆ DistanceWritingOptions

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

Definition at line 103 of file PersistenceDiagramClustering.h.

◆ ForceUseOfAlgorithm

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

Definition at line 110 of file PersistenceDiagramClustering.h.

◆ Lambda

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

Definition at line 115 of file PersistenceDiagramClustering.h.

◆ NonMatchingWeight

double ttk::PersistenceDiagramClustering::NonMatchingWeight = 1.0
protected

Definition at line 117 of file PersistenceDiagramClustering.h.

◆ NumberOfClusters

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

Definition at line 119 of file PersistenceDiagramClustering.h.

◆ PairTypeClustering

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

Definition at line 104 of file PersistenceDiagramClustering.h.

◆ points_added_

int ttk::PersistenceDiagramClustering::points_added_
protected

Definition at line 123 of file PersistenceDiagramClustering.h.

◆ points_deleted_

int ttk::PersistenceDiagramClustering::points_deleted_
protected

Definition at line 124 of file PersistenceDiagramClustering.h.

◆ TimeLimit

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

Definition at line 116 of file PersistenceDiagramClustering.h.

◆ UseAccelerated

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

Definition at line 120 of file PersistenceDiagramClustering.h.

◆ UseAdditionalPrecision

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

Definition at line 113 of file PersistenceDiagramClustering.h.

◆ UseInterruptible

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

Definition at line 111 of file PersistenceDiagramClustering.h.

◆ UseKmeansppInit

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

Definition at line 121 of file PersistenceDiagramClustering.h.

◆ UseProgressive

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

Definition at line 108 of file PersistenceDiagramClustering.h.

◆ WassersteinMetric

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

Definition at line 106 of file PersistenceDiagramClustering.h.


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