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