|
| ExTreeM () |
|
int | preconditionTriangulation (ttk::AbstractTriangulation *triangulation) const |
|
template<typename TT = ttk::AbstractTriangulation> |
int | computeNumberOfLinkComponents (const std::array< SimplexId, 45 > &linkVertices, const int nLinkVertices, const TT *triangulation) const |
| compute the number of connected components in the vertex link
|
|
int | computeIdArray (SimplexId *ids, const std::vector< std::vector< SimplexId > > &criticalPoints) const |
| transfer the per-thread ids to a single array
|
|
int | mergeCriticalPointVectors (std::array< std::vector< SimplexId >, 4 > &criticalPoints, const std::array< std::vector< std::vector< SimplexId > >, 4 > &criticalPoints_) const |
| merge the critical points from all threads
|
|
template<typename TT = ttk::AbstractTriangulation> |
int | computeCriticalPoints (std::array< std::vector< std::vector< SimplexId > >, 4 > &cp, const SimplexId *order, const SimplexId *ascManifold, const SimplexId *desManifold, const TT *triangulation) const |
| compute the critical points using the ascending and descending manifolds
|
|
int | constructPersistencePairs (std::vector< std::pair< ttk::SimplexId, ttk::SimplexId > > &pairs, std::vector< std::pair< ttk::SimplexId, ttk::SimplexId > > &maximaTriplets, std::vector< std::array< ttk::SimplexId, 45 > > &saddleTriplets, const std::vector< ttk::SimplexId > &maximaLocalToGlobal, const std::vector< ttk::SimplexId > &saddlesLocalToGlobal, ttk::SimplexId globalMin) |
| compute the persistence pairs using ExTreeM
|
|
void | sortAndRemoveDuplicates (std::array< ttk::SimplexId, 45 > &triplet) |
| Sorts the reachable maxima and removes duplicates, such that the first entry is the smallest maximum reachable from the saddle and the last entry is the number of reachable maxima.
|
|
int | constructMergeTree (std::vector< Branch > &branches, std::vector< std::pair< ttk::SimplexId, ttk::SimplexId > > &maximaTriplets, const std::vector< ttk::SimplexId > &maximaLocalToGlobal, const std::vector< ttk::SimplexId > &saddlesLocalToGlobal, const ttk::SimplexId *order) |
| compute the merge tree from the maximaTriplets
|
|
template<typename triangulationType > |
int | constructSegmentation (ttk::SimplexId *segmentation, char *regionType, const std::map< ttk::SimplexId, int > &cpMap, const std::vector< Branch > &branches, const ttk::SimplexId *order, ttk::SimplexId *descendingManifold, ttk::SimplexId *tempArray, const triangulationType *triangulation) |
| construct the merge tree segmentation
|
|
template<typename triangulationType > |
int | findAscPaths (std::vector< std::array< ttk::SimplexId, 45 > > &saddleTriplets, std::vector< ttk::SimplexId > &maximaLocalToGlobal, std::vector< ttk::SimplexId > &saddlesLocalToGlobal, ttk::SimplexId *maxima, ttk::SimplexId *saddles, const ttk::SimplexId *order, ttk::SimplexId *descendingManifold, ttk::SimplexId *tempArray, std::vector< ttk::SimplexId > &saveGlobalIds, const triangulationType *triangulation, ttk::SimplexId nMaxima, ttk::SimplexId nSaddles) |
| transform ids from global to local and compute the reachable maxima from each saddle
|
|
template<class triangulationType > |
int | computePairs (std::vector< std::pair< ttk::SimplexId, ttk::SimplexId > > &persistencePairs, std::map< ttk::SimplexId, int > &cpMap, std::vector< Branch > &branches, ttk::SimplexId *segmentation, char *regionType, ttk::SimplexId *descendingManifold, ttk::SimplexId *tempArray, const ttk::SimplexId *order, const triangulationType *triangulation, const char type) |
|
| 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) |
|
- Author
- Michael Will mswil.nosp@m.l@rh.nosp@m.rk.un.nosp@m.i-kl.nosp@m..de
- Date
- November 2022.
This module defines the ExTreeM class that computes the Saddle Maximum and the split tree using the ascending Segmentation and the critical points
Related publication
"ExTreeM: Scalable Augmented Merge Tree Computation via Extremum Graphs"
Lukasczyk et al.
IEEE VIS 2023
Online examples:
Definition at line 662 of file ExTreeM.h.