|
| 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) |
|
| MultiresTopology () |
|
void | setupTriangulation (ImplicitTriangulation *const data) |
|
int | getStoppingDecimationLevel () |
|
void | setStartingResolutionLevel (int rl) |
|
void | setStoppingResolutionLevel (int rl) |
|
| 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) |
|
| BaseClass () |
|
virtual | ~BaseClass ()=default |
|
int | getThreadNumber () const |
|
virtual int | setThreadNumber (const int threadNumber) |
|
|
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 () |
|
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 () |
|
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) |
|
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.