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

TTK processing package for progressive Topological Data Analysis. More...

#include <ProgressiveTopology.h>

Inheritance diagram for ttk::ProgressiveTopology:
ttk::MultiresTopology ttk::Debug ttk::BaseClass

Public Member Functions

 ProgressiveTopology ()
 
int executeCPProgressive (int computePersistenceDiagram, const SimplexId *inputOffsets)
 
int resumeProgressive (int computePersistenceDiagram, const SimplexId *offsets)
 
void setAlgorithm (int data)
 
void setStartingDecimationLevel (int data) override
 
void setStoppingDecimationLevel (int data) override
 
void setIsResumable (const bool b)
 
void setPreallocateMemory (const bool b) override
 
void setTimeLimit (const double d)
 
int computeProgressivePD (std::vector< PersistencePair > &CTDiagram, const SimplexId *offsets)
 
int computeProgressiveCP (std::vector< std::pair< SimplexId, char > > *criticalPoints, const SimplexId *offsets)
 
- Public Member Functions inherited from ttk::MultiresTopology
 MultiresTopology ()
 
void setupTriangulation (ImplicitTriangulation *const data)
 
virtual void setStartingDecimationLevel (int data)
 
virtual void setStoppingDecimationLevel (int data)
 
virtual void setPreallocateMemory (const bool b)
 
int getStoppingDecimationLevel ()
 
void setStartingResolutionLevel (int rl)
 
void setStoppingResolutionLevel (int rl)
 
- 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

using VLBoundaryType = std::array< std::vector< std::pair< SimplexId, SimplexId > >, nLink_ >
 
- Protected Types inherited from ttk::MultiresTopology
using VLBoundaryType = std::array< std::vector< std::pair< SimplexId, SimplexId > >, nLink_ >
 

Protected Member Functions

void sortPersistenceDiagram2 (std::vector< PersistencePair > &diagram, const SimplexId *const offsets) const
 
void initCriticalPoints (std::vector< polarity > &isNew, std::vector< std::vector< std::pair< polarity, polarity > > > &vertexLinkPolarity, std::vector< polarity > &toProcess, std::vector< polarity > &toReprocess, std::vector< DynamicTree > &link, std::vector< uint8_t > &vertexLink, VLBoundaryType &vertexLinkByBoundaryType, std::vector< char > &vertexTypes, const SimplexId *const offsets) const
 
void initSaddleSeeds (std::vector< polarity > &isNew, std::vector< std::vector< std::pair< polarity, polarity > > > &vertexLinkPolarity, std::vector< polarity > &toPropagateMin, std::vector< polarity > &toPropagateMax, std::vector< polarity > &toProcess, std::vector< DynamicTree > &link, std::vector< uint8_t > &vertexLink, VLBoundaryType &vertexLinkByBoundaryType, std::vector< std::vector< SimplexId > > &saddleCCMin, std::vector< std::vector< SimplexId > > &saddleCCMax, const SimplexId *const offsets) const
 
void initPropagation (std::vector< polarity > &toPropagateMin, std::vector< polarity > &toPropagateMax, std::vector< std::vector< SimplexId > > &vertexRepresentativesMin, std::vector< std::vector< SimplexId > > &vertexRepresentativesMax, std::vector< std::vector< SimplexId > > &saddleCCMin, std::vector< std::vector< SimplexId > > &saddleCCMax, std::vector< Lock > &vertLockMin, std::vector< Lock > &vertLockMax, std::vector< polarity > &isUpdatedMin, std::vector< polarity > &isUpdatedMax, const SimplexId *const offsets) const
 
void updatePropagation (std::vector< polarity > &toPropagateMin, std::vector< polarity > &toPropagateMax, std::vector< std::vector< SimplexId > > &vertexRepresentativesMin, std::vector< std::vector< SimplexId > > &vertexRepresentativesMax, std::vector< std::vector< SimplexId > > &saddleCCMin, std::vector< std::vector< SimplexId > > &saddleCCMax, std::vector< Lock > &vertLockMin, std::vector< Lock > &vertLockMax, std::vector< polarity > &isUpdatedMin, std::vector< polarity > &isUpdatedMax, const SimplexId *const offsets) const
 
void buildVertexLinkPolarity (const SimplexId vertexId, std::vector< std::pair< polarity, polarity > > &vlp, const SimplexId *const offsets) const
 
void sortTriplets (std::vector< triplet > &triplets, const SimplexId *const offsets, const bool splitTree) const
 
void tripletsToPersistencePairs (std::vector< PersistencePair > &pairs, std::vector< std::vector< SimplexId > > &vertexRepresentatives, std::vector< triplet > &triplets, const SimplexId *const offsets, const bool splitTree) const
 
void initDynamicLink (const SimplexId &vertexId, std::vector< std::pair< polarity, polarity > > &vlp, uint8_t &vertexLink, DynamicTree &link, VLBoundaryType &vlbt, const SimplexId *const offsets) const
 
char getCriticalTypeFromLink (const SimplexId globalId, const std::vector< std::pair< polarity, polarity > > &vlp, DynamicTree &link, polarity &reprocess) const
 
void updateDynamicLink (DynamicTree &link, std::vector< std::pair< polarity, polarity > > &vlp, std::vector< std::pair< SimplexId, SimplexId > > &vl) const
 
void updateCriticalPoints (std::vector< polarity > &isNew, std::vector< std::vector< std::pair< polarity, polarity > > > &vertexLinkPolarity, std::vector< polarity > &toProcess, std::vector< polarity > &toReprocess, std::vector< DynamicTree > &link, std::vector< uint8_t > &vertexLink, VLBoundaryType &vertexLinkByBoundaryType, std::vector< char > &vertexTypes, const SimplexId *const offsets) const
 
void updateSaddleSeeds (std::vector< polarity > &isNew, std::vector< std::vector< std::pair< polarity, polarity > > > &vertexLinkPolarity, std::vector< polarity > &toPropagateMin, std::vector< polarity > &toPropagateMax, std::vector< polarity > &toProcess, std::vector< polarity > &toReprocess, std::vector< DynamicTree > &link, std::vector< uint8_t > &vertexLink, VLBoundaryType &vertexLinkByBoundaryType, std::vector< std::vector< SimplexId > > &saddleCCMin, std::vector< std::vector< SimplexId > > &saddleCCMax, std::vector< polarity > &isUpdatedMin, std::vector< polarity > &isUpdatedMax, const SimplexId *const offsets) const
 
bool getMonotonyChangeByOldPointCP (const SimplexId vertexId, const std::vector< polarity > &isNew, std::vector< polarity > &toProcess, std::vector< polarity > &toReprocess, std::vector< std::pair< polarity, polarity > > &vlp, const SimplexId *const offsets) const
 
void updateLinkPolarity (const SimplexId vertexId, std::vector< std::pair< polarity, polarity > > &vlp, const SimplexId *const offsets) const
 
ttk::SimplexId propagateFromSaddles (const SimplexId vertexId, std::vector< Lock > &vertLock, std::vector< polarity > &toPropagate, std::vector< std::vector< SimplexId > > &vertexRepresentatives, std::vector< std::vector< SimplexId > > &saddleCC, std::vector< polarity > &isUpdated, std::vector< SimplexId > &globalExtremum, const SimplexId *const offsets, const bool splitTree) const
 
void computePersistencePairsFromSaddles (std::vector< PersistencePair > &CTDiagram, const SimplexId *const offsets, std::vector< std::vector< SimplexId > > &vertexRepresentativesMin, std::vector< std::vector< SimplexId > > &vertexRepresentativesMax, const std::vector< polarity > &toPropagateMin, const std::vector< polarity > &toPropagateMax) const
 
double predictNextIterationDuration (const double currItDuration, const size_t nCurrPairs) const
 
void stopComputationIf (const bool b)
 
void clearResumableState ()
 
- Protected Member Functions inherited from ttk::MultiresTopology
void buildVertexLinkByBoundary (const SimplexId vertexId, VLBoundaryType &vlbt) const
 
char getCriticalTypeFromLink (const std::vector< std::pair< polarity, polarity > > &vlp, DynamicTree &link) const
 
void getValencesFromLink (const SimplexId vertexId, const std::vector< std::pair< polarity, polarity > > &vlp, DynamicTree &link, std::vector< polarity > &toPropagateMin, std::vector< polarity > &toPropagateMax, std::vector< std::vector< SimplexId > > &saddleCCMin, std::vector< std::vector< SimplexId > > &saddleCCMax) const
 
void getTripletsFromSaddles (const SimplexId vertexId, std::vector< triplet > &triplets, const std::vector< std::vector< SimplexId > > &vertexReps) const
 
void updateLinkPolarityPonctual (std::vector< std::pair< polarity, polarity > > &vlp) const
 
std::string resolutionInfoString ()
 
- 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 computePersistenceDiagram_ {1}
 
bool isResumable_ {false}
 
bool resumeProgressive_ {false}
 
double timeLimit_ {0.0}
 
bool preallocateMemory_ {true}
 
std::vector< std::vector< SimplexId > > vertexRepresentativesMax_ {}
 
std::vector< std::vector< SimplexId > > vertexRepresentativesMin_ {}
 
std::vector< std::vector< std::pair< polarity, polarity > > > vertexLinkPolarity_ {}
 
std::vector< polarityisNew_ {}
 
std::vector< uint8_t > vertexLink_ {}
 
VLBoundaryType vertexLinkByBoundaryType_ {}
 
std::vector< DynamicTreelink_ {}
 
std::vector< polaritytoProcess_ {}
 
std::vector< polaritytoReprocess_ {}
 
std::vector< std::vector< SimplexId > > saddleCCMin_ {}
 
std::vector< std::vector< SimplexId > > saddleCCMax_ {}
 
std::vector< char > vertexTypes_ {}
 
- Protected Attributes inherited from ttk::MultiresTopology
ImplicitTriangulationtriangulation_ {}
 
MultiresTriangulation multiresTriangulation_ {}
 
SimplexId globalMax_ {}
 
SimplexId globalMin_ {}
 
int decimationLevel_ {}
 
int startingDecimationLevel_ {}
 
int stoppingDecimationLevel_ {}
 
bool preallocateMemory_ {true}
 
std::vector< PersistencePairCTDiagram_ {}
 
- 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::MultiresTopology
static const size_t nLink_ = 27
 
- Static Protected Attributes inherited from ttk::Debug
static COMMON_EXPORTS debug::LineMode lastLineMode = ttk::debug::LineMode::NEW
 

Detailed Description

TTK processing package for progressive Topological Data Analysis.

Compute the persistence diagram of a function on a triangulation. TTK assumes that the input dataset is made of only one connected component.

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
2020.

This package introduces a multiresolution hierarchical representation of the data which allows the definition of efficient progressive algorithms for TDA. It is applied to the progressive computation of Critical Points and Persistence Diagrams.

Related publication
"A Progressive Approach to Scalar Field Topology"
Jules Vidal, Pierre Guillou, Julien Tierny
IEEE Transactions on Visualization and Computer Graphics, 2021

See also
PersistenceDiagram
ScalarFieldCriticalPoints

Definition at line 44 of file ProgressiveTopology.h.

Member Typedef Documentation

◆ VLBoundaryType

using ttk::ProgressiveTopology::VLBoundaryType = std::array<std::vector<std::pair<SimplexId, SimplexId> >, nLink_>
protected

Definition at line 120 of file ProgressiveTopology.h.

Constructor & Destructor Documentation

◆ ProgressiveTopology()

ttk::ProgressiveTopology::ProgressiveTopology ( )
inline

Definition at line 63 of file ProgressiveTopology.h.

Member Function Documentation

◆ buildVertexLinkPolarity()

void ttk::ProgressiveTopology::buildVertexLinkPolarity ( const SimplexId  vertexId,
std::vector< std::pair< polarity, polarity > > &  vlp,
const SimplexId *const  offsets 
) const
protected

Definition at line 447 of file ProgressiveTopology.cpp.

◆ clearResumableState()

void ttk::ProgressiveTopology::clearResumableState ( )
protected

Definition at line 1074 of file ProgressiveTopology.cpp.

◆ computePersistencePairsFromSaddles()

void ttk::ProgressiveTopology::computePersistencePairsFromSaddles ( std::vector< PersistencePair > &  CTDiagram,
const SimplexId *const  offsets,
std::vector< std::vector< SimplexId > > &  vertexRepresentativesMin,
std::vector< std::vector< SimplexId > > &  vertexRepresentativesMax,
const std::vector< polarity > &  toPropagateMin,
const std::vector< polarity > &  toPropagateMax 
) const
protected

Definition at line 303 of file ProgressiveTopology.cpp.

◆ computeProgressiveCP()

int ttk::ProgressiveTopology::computeProgressiveCP ( std::vector< std::pair< SimplexId, char > > *  criticalPoints,
const SimplexId offsets 
)

Definition at line 1198 of file ProgressiveTopology.cpp.

◆ computeProgressivePD()

int ttk::ProgressiveTopology::computeProgressivePD ( std::vector< PersistencePair > &  CTDiagram,
const SimplexId offsets 
)

Definition at line 5 of file ProgressiveTopology.cpp.

◆ executeCPProgressive()

int ttk::ProgressiveTopology::executeCPProgressive ( int  computePersistenceDiagram,
const SimplexId inputOffsets 
)

Definition at line 16 of file ProgressiveTopology.cpp.

◆ getCriticalTypeFromLink()

char ttk::ProgressiveTopology::getCriticalTypeFromLink ( const SimplexId  globalId,
const std::vector< std::pair< polarity, polarity > > &  vlp,
DynamicTree link,
polarity reprocess 
) const
protected

Definition at line 1089 of file ProgressiveTopology.cpp.

◆ getMonotonyChangeByOldPointCP()

bool ttk::ProgressiveTopology::getMonotonyChangeByOldPointCP ( const SimplexId  vertexId,
const std::vector< polarity > &  isNew,
std::vector< polarity > &  toProcess,
std::vector< polarity > &  toReprocess,
std::vector< std::pair< polarity, polarity > > &  vlp,
const SimplexId *const  offsets 
) const
protected

Definition at line 662 of file ProgressiveTopology.cpp.

◆ initCriticalPoints()

void ttk::ProgressiveTopology::initCriticalPoints ( std::vector< polarity > &  isNew,
std::vector< std::vector< std::pair< polarity, polarity > > > &  vertexLinkPolarity,
std::vector< polarity > &  toProcess,
std::vector< polarity > &  toReprocess,
std::vector< DynamicTree > &  link,
std::vector< uint8_t > &  vertexLink,
VLBoundaryType vertexLinkByBoundaryType,
std::vector< char > &  vertexTypes,
const SimplexId *const  offsets 
) const
protected

Definition at line 794 of file ProgressiveTopology.cpp.

◆ initDynamicLink()

void ttk::ProgressiveTopology::initDynamicLink ( const SimplexId vertexId,
std::vector< std::pair< polarity, polarity > > &  vlp,
uint8_t &  vertexLink,
DynamicTree link,
VLBoundaryType vlbt,
const SimplexId *const  offsets 
) const
protected

Definition at line 464 of file ProgressiveTopology.cpp.

◆ initPropagation()

void ttk::ProgressiveTopology::initPropagation ( std::vector< polarity > &  toPropagateMin,
std::vector< polarity > &  toPropagateMax,
std::vector< std::vector< SimplexId > > &  vertexRepresentativesMin,
std::vector< std::vector< SimplexId > > &  vertexRepresentativesMax,
std::vector< std::vector< SimplexId > > &  saddleCCMin,
std::vector< std::vector< SimplexId > > &  saddleCCMax,
std::vector< Lock > &  vertLockMin,
std::vector< Lock > &  vertLockMax,
std::vector< polarity > &  isUpdatedMin,
std::vector< polarity > &  isUpdatedMax,
const SimplexId *const  offsets 
) const
protected

Definition at line 868 of file ProgressiveTopology.cpp.

◆ initSaddleSeeds()

void ttk::ProgressiveTopology::initSaddleSeeds ( std::vector< polarity > &  isNew,
std::vector< std::vector< std::pair< polarity, polarity > > > &  vertexLinkPolarity,
std::vector< polarity > &  toPropagateMin,
std::vector< polarity > &  toPropagateMax,
std::vector< polarity > &  toProcess,
std::vector< DynamicTree > &  link,
std::vector< uint8_t > &  vertexLink,
VLBoundaryType vertexLinkByBoundaryType,
std::vector< std::vector< SimplexId > > &  saddleCCMin,
std::vector< std::vector< SimplexId > > &  saddleCCMax,
const SimplexId *const  offsets 
) const
protected

Definition at line 830 of file ProgressiveTopology.cpp.

◆ predictNextIterationDuration()

double ttk::ProgressiveTopology::predictNextIterationDuration ( const double  currItDuration,
const size_t  nCurrPairs 
) const
protected

Definition at line 1051 of file ProgressiveTopology.cpp.

◆ propagateFromSaddles()

ttk::SimplexId ttk::ProgressiveTopology::propagateFromSaddles ( const SimplexId  vertexId,
std::vector< Lock > &  vertLock,
std::vector< polarity > &  toPropagate,
std::vector< std::vector< SimplexId > > &  vertexRepresentatives,
std::vector< std::vector< SimplexId > > &  saddleCC,
std::vector< polarity > &  isUpdated,
std::vector< SimplexId > &  globalExtremum,
const SimplexId *const  offsets,
const bool  splitTree 
) const
protected

Definition at line 702 of file ProgressiveTopology.cpp.

◆ resumeProgressive()

int ttk::ProgressiveTopology::resumeProgressive ( int  computePersistenceDiagram,
const SimplexId offsets 
)

Definition at line 223 of file ProgressiveTopology.cpp.

◆ setAlgorithm()

void ttk::ProgressiveTopology::setAlgorithm ( int  data)
inline

Definition at line 74 of file ProgressiveTopology.h.

◆ setIsResumable()

void ttk::ProgressiveTopology::setIsResumable ( const bool  b)
inline

Definition at line 89 of file ProgressiveTopology.h.

◆ setPreallocateMemory()

void ttk::ProgressiveTopology::setPreallocateMemory ( const bool  b)
inlineoverridevirtual

Reimplemented from ttk::MultiresTopology.

Definition at line 95 of file ProgressiveTopology.h.

◆ setStartingDecimationLevel()

void ttk::ProgressiveTopology::setStartingDecimationLevel ( int  data)
inlineoverridevirtual

Reimplemented from ttk::MultiresTopology.

Definition at line 77 of file ProgressiveTopology.h.

◆ setStoppingDecimationLevel()

void ttk::ProgressiveTopology::setStoppingDecimationLevel ( int  data)
inlineoverridevirtual

Reimplemented from ttk::MultiresTopology.

Definition at line 83 of file ProgressiveTopology.h.

◆ setTimeLimit()

void ttk::ProgressiveTopology::setTimeLimit ( const double  d)
inline

Definition at line 101 of file ProgressiveTopology.h.

◆ sortPersistenceDiagram2()

void ttk::ProgressiveTopology::sortPersistenceDiagram2 ( std::vector< PersistencePair > &  diagram,
const SimplexId *const  offsets 
) const
protected

Definition at line 1188 of file ProgressiveTopology.cpp.

◆ sortTriplets()

void ttk::ProgressiveTopology::sortTriplets ( std::vector< triplet > &  triplets,
const SimplexId *const  offsets,
const bool  splitTree 
) const
protected

Definition at line 363 of file ProgressiveTopology.cpp.

◆ stopComputationIf()

void ttk::ProgressiveTopology::stopComputationIf ( const bool  b)
protected

Definition at line 1063 of file ProgressiveTopology.cpp.

◆ tripletsToPersistencePairs()

void ttk::ProgressiveTopology::tripletsToPersistencePairs ( std::vector< PersistencePair > &  pairs,
std::vector< std::vector< SimplexId > > &  vertexRepresentatives,
std::vector< triplet > &  triplets,
const SimplexId *const  offsets,
const bool  splitTree 
) const
protected

Definition at line 388 of file ProgressiveTopology.cpp.

◆ updateCriticalPoints()

void ttk::ProgressiveTopology::updateCriticalPoints ( std::vector< polarity > &  isNew,
std::vector< std::vector< std::pair< polarity, polarity > > > &  vertexLinkPolarity,
std::vector< polarity > &  toProcess,
std::vector< polarity > &  toReprocess,
std::vector< DynamicTree > &  link,
std::vector< uint8_t > &  vertexLink,
VLBoundaryType vertexLinkByBoundaryType,
std::vector< char > &  vertexTypes,
const SimplexId *const  offsets 
) const
protected

Definition at line 496 of file ProgressiveTopology.cpp.

◆ updateDynamicLink()

void ttk::ProgressiveTopology::updateDynamicLink ( DynamicTree link,
std::vector< std::pair< polarity, polarity > > &  vlp,
std::vector< std::pair< SimplexId, SimplexId > > &  vl 
) const
protected

Definition at line 979 of file ProgressiveTopology.cpp.

◆ updateLinkPolarity()

void ttk::ProgressiveTopology::updateLinkPolarity ( const SimplexId  vertexId,
std::vector< std::pair< polarity, polarity > > &  vlp,
const SimplexId *const  offsets 
) const
protected

Definition at line 965 of file ProgressiveTopology.cpp.

◆ updatePropagation()

void ttk::ProgressiveTopology::updatePropagation ( std::vector< polarity > &  toPropagateMin,
std::vector< polarity > &  toPropagateMax,
std::vector< std::vector< SimplexId > > &  vertexRepresentativesMin,
std::vector< std::vector< SimplexId > > &  vertexRepresentativesMax,
std::vector< std::vector< SimplexId > > &  saddleCCMin,
std::vector< std::vector< SimplexId > > &  saddleCCMax,
std::vector< Lock > &  vertLockMin,
std::vector< Lock > &  vertLockMax,
std::vector< polarity > &  isUpdatedMin,
std::vector< polarity > &  isUpdatedMax,
const SimplexId *const  offsets 
) const
protected

Definition at line 916 of file ProgressiveTopology.cpp.

◆ updateSaddleSeeds()

void ttk::ProgressiveTopology::updateSaddleSeeds ( std::vector< polarity > &  isNew,
std::vector< std::vector< std::pair< polarity, polarity > > > &  vertexLinkPolarity,
std::vector< polarity > &  toPropagateMin,
std::vector< polarity > &  toPropagateMax,
std::vector< polarity > &  toProcess,
std::vector< polarity > &  toReprocess,
std::vector< DynamicTree > &  link,
std::vector< uint8_t > &  vertexLink,
VLBoundaryType vertexLinkByBoundaryType,
std::vector< std::vector< SimplexId > > &  saddleCCMin,
std::vector< std::vector< SimplexId > > &  saddleCCMax,
std::vector< polarity > &  isUpdatedMin,
std::vector< polarity > &  isUpdatedMax,
const SimplexId *const  offsets 
) const
protected

Definition at line 575 of file ProgressiveTopology.cpp.

Member Data Documentation

◆ computePersistenceDiagram_

int ttk::ProgressiveTopology::computePersistenceDiagram_ {1}
protected

Definition at line 275 of file ProgressiveTopology.h.

◆ isNew_

std::vector<polarity> ttk::ProgressiveTopology::isNew_ {}
protected

Definition at line 289 of file ProgressiveTopology.h.

◆ isResumable_

bool ttk::ProgressiveTopology::isResumable_ {false}
protected

Definition at line 278 of file ProgressiveTopology.h.

◆ link_

std::vector<DynamicTree> ttk::ProgressiveTopology::link_ {}
protected

Definition at line 293 of file ProgressiveTopology.h.

◆ preallocateMemory_

bool ttk::ProgressiveTopology::preallocateMemory_ {true}
protected

Definition at line 282 of file ProgressiveTopology.h.

◆ resumeProgressive_

bool ttk::ProgressiveTopology::resumeProgressive_ {false}
protected

Definition at line 279 of file ProgressiveTopology.h.

◆ saddleCCMax_

std::vector<std::vector<SimplexId> > ttk::ProgressiveTopology::saddleCCMax_ {}
protected

Definition at line 297 of file ProgressiveTopology.h.

◆ saddleCCMin_

std::vector<std::vector<SimplexId> > ttk::ProgressiveTopology::saddleCCMin_ {}
protected

Definition at line 296 of file ProgressiveTopology.h.

◆ timeLimit_

double ttk::ProgressiveTopology::timeLimit_ {0.0}
protected

Definition at line 281 of file ProgressiveTopology.h.

◆ toProcess_

std::vector<polarity> ttk::ProgressiveTopology::toProcess_ {}
protected

Definition at line 294 of file ProgressiveTopology.h.

◆ toReprocess_

std::vector<polarity> ttk::ProgressiveTopology::toReprocess_ {}
protected

Definition at line 295 of file ProgressiveTopology.h.

◆ vertexLink_

std::vector<uint8_t> ttk::ProgressiveTopology::vertexLink_ {}
protected

Definition at line 291 of file ProgressiveTopology.h.

◆ vertexLinkByBoundaryType_

VLBoundaryType ttk::ProgressiveTopology::vertexLinkByBoundaryType_ {}
protected

Definition at line 292 of file ProgressiveTopology.h.

◆ vertexLinkPolarity_

std::vector<std::vector<std::pair<polarity, polarity> > > ttk::ProgressiveTopology::vertexLinkPolarity_ {}
protected

Definition at line 288 of file ProgressiveTopology.h.

◆ vertexRepresentativesMax_

std::vector<std::vector<SimplexId> > ttk::ProgressiveTopology::vertexRepresentativesMax_ {}
protected

Definition at line 285 of file ProgressiveTopology.h.

◆ vertexRepresentativesMin_

std::vector<std::vector<SimplexId> > ttk::ProgressiveTopology::vertexRepresentativesMin_ {}
protected

Definition at line 286 of file ProgressiveTopology.h.

◆ vertexTypes_

std::vector<char> ttk::ProgressiveTopology::vertexTypes_ {}
protected

Definition at line 298 of file ProgressiveTopology.h.


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