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

#include <PersistenceDiagramDistanceMatrix.h>

Inheritance diagram for ttk::PersistenceDiagramDistanceMatrix:
ttk::Debug ttk::BaseClass ttkPersistenceDiagramDistanceMatrix

Public Member Functions

 PersistenceDiagramDistanceMatrix ()
 
std::vector< std::vector< double > > execute (const std::vector< DiagramType > &intermediateDiagrams, const std::array< size_t, 2 > &nInputs) const
 
void setWasserstein (const int data)
 
void setDos (const bool min, const bool sad, const bool max)
 
void setAlpha (const double alpha)
 
void setLambda (const double lambda)
 
void setDeltaLim (const double deltaLim)
 
void setMaxNumberOfPairs (const size_t data)
 
void setMinPersistence (const double data)
 
void setConstraint (const int data)
 
- 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 Types

enum class  ConstraintType {
  FULL_DIAGRAMS , NUMBER_PAIRS , ABSOLUTE_PERSISTENCE , RELATIVE_PERSISTENCE_PER_DIAG ,
  RELATIVE_PERSISTENCE_GLOBAL
}
 

Protected Member Functions

double getMostPersistent (const std::vector< BidderDiagram > &bidder_diags) const
 
double computePowerDistance (const BidderDiagram &D1, const BidderDiagram &D2) const
 
void getDiagramsDistMat (const std::array< size_t, 2 > &nInputs, std::vector< std::vector< double > > &distanceMatrix, const std::vector< BidderDiagram > &diags_min, const std::vector< BidderDiagram > &diags_sad, const std::vector< BidderDiagram > &diags_max) const
 
void setBidderDiagrams (const size_t nInputs, std::vector< DiagramType > &inputDiagrams, std::vector< BidderDiagram > &bidder_diags) const
 
void enrichCurrentBidderDiagrams (const std::vector< BidderDiagram > &bidder_diags, std::vector< BidderDiagram > &current_bidder_diags, const std::vector< double > &maxDiagPersistence) const
 
- 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)
 

Protected Attributes

int Wasserstein {2}
 
double Alpha {1.0}
 
double DeltaLim {0.01}
 
double Lambda
 
size_t MaxNumberOfPairs {20}
 
double MinPersistence {0.1}
 
bool do_min_ {true}
 
bool do_sad_ {true}
 
bool do_max_ {true}
 
ConstraintType Constraint {ConstraintType::RELATIVE_PERSISTENCE_GLOBAL}
 
- 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

- Static Protected Attributes inherited from ttk::Debug
static COMMON_EXPORTS debug::LineMode lastLineMode = ttk::debug::LineMode::NEW
 

Detailed Description

Author
Jules Vidal jules.nosp@m..vid.nosp@m.al@li.nosp@m.p6.f.nosp@m.r
Pierre Guillou pierr.nosp@m.e.gu.nosp@m.illou.nosp@m.@lip.nosp@m.6.fr
Date
March 2020

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
PersistenceDiagramClustering

Online examples:

Definition at line 30 of file PersistenceDiagramDistanceMatrix.h.

Member Enumeration Documentation

◆ ConstraintType

Enumerator
FULL_DIAGRAMS 
NUMBER_PAIRS 
ABSOLUTE_PERSISTENCE 
RELATIVE_PERSISTENCE_PER_DIAG 
RELATIVE_PERSISTENCE_GLOBAL 

Definition at line 110 of file PersistenceDiagramDistanceMatrix.h.

Constructor & Destructor Documentation

◆ PersistenceDiagramDistanceMatrix()

ttk::PersistenceDiagramDistanceMatrix::PersistenceDiagramDistanceMatrix ( )
inline

Definition at line 33 of file PersistenceDiagramDistanceMatrix.h.

Member Function Documentation

◆ computePowerDistance()

double PersistenceDiagramDistanceMatrix::computePowerDistance ( const BidderDiagram D1,
const BidderDiagram D2 
) const
protected

Definition at line 154 of file PersistenceDiagramDistanceMatrix.cpp.

◆ enrichCurrentBidderDiagrams()

void PersistenceDiagramDistanceMatrix::enrichCurrentBidderDiagrams ( const std::vector< BidderDiagram > &  bidder_diags,
std::vector< BidderDiagram > &  current_bidder_diags,
const std::vector< double > &  maxDiagPersistence 
) const
protected

Definition at line 261 of file PersistenceDiagramDistanceMatrix.cpp.

◆ execute()

std::vector< std::vector< double > > PersistenceDiagramDistanceMatrix::execute ( const std::vector< DiagramType > &  intermediateDiagrams,
const std::array< size_t, 2 > &  nInputs 
) const

Definition at line 8 of file PersistenceDiagramDistanceMatrix.cpp.

◆ getDiagramsDistMat()

void PersistenceDiagramDistanceMatrix::getDiagramsDistMat ( const std::array< size_t, 2 > &  nInputs,
std::vector< std::vector< double > > &  distanceMatrix,
const std::vector< BidderDiagram > &  diags_min,
const std::vector< BidderDiagram > &  diags_sad,
const std::vector< BidderDiagram > &  diags_max 
) const
protected

Definition at line 172 of file PersistenceDiagramDistanceMatrix.cpp.

◆ getMostPersistent()

double PersistenceDiagramDistanceMatrix::getMostPersistent ( const std::vector< BidderDiagram > &  bidder_diags) const
protected

Definition at line 137 of file PersistenceDiagramDistanceMatrix.cpp.

◆ setAlpha()

void ttk::PersistenceDiagramDistanceMatrix::setAlpha ( const double  alpha)
inline

Definition at line 49 of file PersistenceDiagramDistanceMatrix.h.

◆ setBidderDiagrams()

void PersistenceDiagramDistanceMatrix::setBidderDiagrams ( const size_t  nInputs,
std::vector< DiagramType > &  inputDiagrams,
std::vector< BidderDiagram > &  bidder_diags 
) const
protected

Definition at line 237 of file PersistenceDiagramDistanceMatrix.cpp.

◆ setConstraint()

void ttk::PersistenceDiagramDistanceMatrix::setConstraint ( const int  data)
inline

Definition at line 64 of file PersistenceDiagramDistanceMatrix.h.

◆ setDeltaLim()

void ttk::PersistenceDiagramDistanceMatrix::setDeltaLim ( const double  deltaLim)
inline

Definition at line 55 of file PersistenceDiagramDistanceMatrix.h.

◆ setDos()

void ttk::PersistenceDiagramDistanceMatrix::setDos ( const bool  min,
const bool  sad,
const bool  max 
)
inline

Definition at line 44 of file PersistenceDiagramDistanceMatrix.h.

◆ setLambda()

void ttk::PersistenceDiagramDistanceMatrix::setLambda ( const double  lambda)
inline

Definition at line 52 of file PersistenceDiagramDistanceMatrix.h.

◆ setMaxNumberOfPairs()

void ttk::PersistenceDiagramDistanceMatrix::setMaxNumberOfPairs ( const size_t  data)
inline

Definition at line 58 of file PersistenceDiagramDistanceMatrix.h.

◆ setMinPersistence()

void ttk::PersistenceDiagramDistanceMatrix::setMinPersistence ( const double  data)
inline

Definition at line 61 of file PersistenceDiagramDistanceMatrix.h.

◆ setWasserstein()

void ttk::PersistenceDiagramDistanceMatrix::setWasserstein ( const int  data)
inline

Definition at line 41 of file PersistenceDiagramDistanceMatrix.h.

Member Data Documentation

◆ Alpha

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

Definition at line 98 of file PersistenceDiagramDistanceMatrix.h.

◆ Constraint

ConstraintType ttk::PersistenceDiagramDistanceMatrix::Constraint {ConstraintType::RELATIVE_PERSISTENCE_GLOBAL}
protected

Definition at line 117 of file PersistenceDiagramDistanceMatrix.h.

◆ DeltaLim

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

Definition at line 99 of file PersistenceDiagramDistanceMatrix.h.

◆ do_max_

bool ttk::PersistenceDiagramDistanceMatrix::do_max_ {true}
protected

Definition at line 108 of file PersistenceDiagramDistanceMatrix.h.

◆ do_min_

bool ttk::PersistenceDiagramDistanceMatrix::do_min_ {true}
protected

Definition at line 108 of file PersistenceDiagramDistanceMatrix.h.

◆ do_sad_

bool ttk::PersistenceDiagramDistanceMatrix::do_sad_ {true}
protected

Definition at line 108 of file PersistenceDiagramDistanceMatrix.h.

◆ Lambda

double ttk::PersistenceDiagramDistanceMatrix::Lambda
protected

Definition at line 105 of file PersistenceDiagramDistanceMatrix.h.

◆ MaxNumberOfPairs

size_t ttk::PersistenceDiagramDistanceMatrix::MaxNumberOfPairs {20}
protected

Definition at line 106 of file PersistenceDiagramDistanceMatrix.h.

◆ MinPersistence

double ttk::PersistenceDiagramDistanceMatrix::MinPersistence {0.1}
protected

Definition at line 107 of file PersistenceDiagramDistanceMatrix.h.

◆ Wasserstein

int ttk::PersistenceDiagramDistanceMatrix::Wasserstein {2}
protected

Definition at line 97 of file PersistenceDiagramDistanceMatrix.h.


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