TTK
Loading...
Searching...
No Matches
Public Member Functions | List of all members
ttk::cf::ContourForests Class Reference

#include <ContourForests.h>

Inheritance diagram for ttk::cf::ContourForests:
ttk::cf::ContourForestsTree ttk::cf::MergeTree ttk::Debug ttk::BaseClass ttkContourForests

Public Member Functions

 ContourForests ()
 
 ~ContourForests () override
 
int setThreadNumber (const int nbThread) override
 
void setPartitionNum (int p)
 
void setLessPartition (bool l)
 
std::tuple< SimplexId, SimplexIdgetJTRange (const idPartition &i) const
 
std::tuple< SimplexId, SimplexIdgetSTRange (const idPartition &i) const
 
std::tuple< SimplexId, SimplexIdgetSeedsPos (const idPartition &i) const
 
std::tuple< std::vector< SimplexId >, std::vector< SimplexId > > getOverlaps (const idPartition &i)
 
idPartition vertex2partition (const SimplexId &v)
 
void initInterfaces ()
 
template<typename triangulationType >
void initOverlap (const triangulationType &mesh)
 
void initNbPartitions ()
 
template<typename scalarType , typename triangulationType >
int build (const triangulationType &mesh)
 
template<typename scalarType , typename triangulationType >
int parallelBuild (std::vector< std::vector< ExtendedUnionFind * > > &baseUF_JT, std::vector< std::vector< ExtendedUnionFind * > > &baseUF_ST, const triangulationType &mesh)
 
void stitch ()
 
void stitchTree (const char tree)
 
void unify ()
 
void unifyTree (const char treetype)
 
void printDebug (DebugTimer &timer, const std::string &str)
 
void printVectCT ()
 
- Public Member Functions inherited from ttk::cf::ContourForestsTree
 ContourForestsTree (const std::shared_ptr< Params > &params, const std::shared_ptr< Scalars > &scalars, idPartition part=nullPartition)
 
 ~ContourForestsTree () override
 
void flush ()
 
MergeTreegetJoinTree ()
 
MergeTreegetSplitTree ()
 
MergeTreegetTree (const TreeType &tt)
 
int combine (const SimplexId &seed0, const SimplexId &seed1, std::list< std::vector< std::pair< SimplexId, bool > > > &storage)
 Combine tree with Natarajan's algorithm.
 
- Public Member Functions inherited from ttk::cf::MergeTree
 MergeTree (std::shared_ptr< Params > params, std::shared_ptr< Scalars > scalars, TreeType type, idPartition part=nullPartition)
 
 ~MergeTree () override
 
template<typename triangulationType >
void initNbScalars (const triangulationType &tri)
 
void initTreeType ()
 init the type of the current tree from params
 
template<typename scalarType >
void sortInput ()
 if sortedVertices_ is null, define and fill it Also fill the mirror std::vector
 
void flush ()
 clear local data for new computation
 
int setDebugLevel (const int &local_debugLevel) override
 
void setTreeType (const int &local_treeType)
 
void setSimplificationMethod (const int &local_simplifyMethod)
 
void setSimplificationThreshold (const double &local_simplificationThreshold)
 
void setScalars (void *local_scalars)
 
void preconditionTriangulation (AbstractTriangulation *const m, const bool preproc=true)
 
idPartition getPartition () const
 
template<typename scalarType >
const scalarType & getValue (const SimplexId &nodeId) const
 
template<typename scalarType >
void setVertexScalars (scalarType *vals)
 
void setVertexSoSoffsets (const SimplexId *const offsets)
 
idSuperArc getNumberOfSuperArcs () const
 
idSuperArc getNumberOfVisibleArcs () const
 
const std::vector< SuperArc > & getSuperArc () const
 
SuperArcgetSuperArc (const idSuperArc &i)
 
SimplexId getNumberOfVisibleRegularNode (const idSuperArc &sa)
 
void addCrossingAbove (const idSuperArc &sa)
 
idNode getNumberOfNodes () const
 
const std::vector< Node > & getNodes () const
 
NodegetNode (const idNode &nodeId)
 
SimplexId getNumberOfLeaves () const
 
const std::vector< idNode > & getLeaves () const
 
const idNodegetLeave (const idNode &id) const
 
const std::vector< idNode > & getRoots () const
 
void setVert2Tree (decltype(treeData_.vert2tree) const &vect2tree)
 
bool isCorrespondingArc (const SimplexId &val) const
 
bool isCorrespondingNode (const SimplexId &val) const
 
bool isCorrespondingNull (const SimplexId &val) const
 
idNode getCorrespondingNodeId (const SimplexId &val) const
 
idSuperArc getCorrespondingSuperArcId (const SimplexId &val) const
 
SuperArcvertex2SuperArc (const SimplexId &vert)
 
Nodevertex2Node (const SimplexId &vert)
 
void updateCorrespondingArc (const SimplexId &arc, const idSuperArc &val)
 
void updateCorrespondingNode (const SimplexId &vert, const idNode &val)
 
idCorresp idNode2corr (const idNode &id) const
 
idNode corr2idNode (const idCorresp &corr) const
 
template<typename triangulationType >
void processVertex (const SimplexId &vertex, std::vector< ExtendedUnionFind * > &vect_baseUF, const bool overlapB, const bool overlapA, const triangulationType &mesh, DebugTimer &begin)
 
template<typename triangulationType >
int build (std::vector< ExtendedUnionFind * > &vect_baseUF, const std::vector< SimplexId > &overlapBefore, const std::vector< SimplexId > &overlapAfter, SimplexId start, SimplexId end, const SimplexId &posSeed0, const SimplexId &posSeed1, const triangulationType &mesh)
 Compute the merge tree using Carr's algorithm.
 
template<typename scalarType >
SimplexId localSimplify (const SimplexId &podSeed0, const SimplexId &podSeed1, std::list< std::vector< std::pair< SimplexId, bool > > > &storage)
 
template<typename scalarType , typename triangulationType >
SimplexId globalSimplify (const SimplexId posSeed0, const SimplexId posSeed1, std::list< std::vector< std::pair< SimplexId, bool > > > &storage, const triangulationType &mesh)
 
template<typename scalarType >
SimplexId simplifyTree (const SimplexId &posSeed0, const SimplexId &posSeed1, std::list< std::vector< std::pair< SimplexId, bool > > > &storage, const std::vector< std::tuple< SimplexId, SimplexId, scalarType, bool > > &sortedPairs)
 
void markThisArc (std::vector< ExtendedUnionFind * > &ufArray, const idNode &curNodeId, const idSuperArc &mergingArcId, const idNode &parentNodeId)
 
template<typename scalarType , typename triangulationType >
int computePersistencePairs (std::vector< std::tuple< SimplexId, SimplexId, scalarType > > &pairs, const triangulationType &mesh)
 
template<typename scalarType , typename triangulationType >
int computePersistencePairs (std::vector< std::tuple< SimplexId, SimplexId, scalarType, bool > > &pairs, const triangulationType &mesh)
 
template<typename scalarType , typename triangulationType >
void recoverMTPairs (const std::vector< idNode > &sortedNodes, std::vector< std::tuple< SimplexId, SimplexId, scalarType, bool > > &pairsJT, std::vector< std::tuple< SimplexId, SimplexId, scalarType, bool > > &pairsST, const triangulationType &mesh)
 
idSuperArc openSuperArc (const idNode &downNodeId, const bool overlapB, const bool overlapA)
 
idSuperArc makeSuperArc (const idNode &downNodeId, const idNode &upNodeId, const bool overlapB, const bool overlapA, std::pair< SimplexId, bool > *vertexList=nullptr, SimplexId vertexSize=-1)
 
void closeSuperArc (const idSuperArc &superArcId, const idNode &upNodeId, const bool overlapB, const bool overlapA)
 
void hideArc (const idSuperArc &sa)
 
void mergeArc (const idSuperArc &sa, const idSuperArc &recept, const bool changeConnectivity=true)
 
SimplexId insertNodeAboveSeed (const idSuperArc &arc, const std::pair< SimplexId, bool > &seed)
 
SimplexId getVertBelowSeed (const idSuperArc &arc, const std::pair< SimplexId, bool > &seed, const std::vector< idCorresp > &vert2treeOther)
 
bool alreadyExtLinked (const idNode &node, const idPartition &tree, const idNode &treeNode)
 
idSuperArc getNumberOfExternalDownArcs (const idNode &node)
 
void removeHiddenDownArcs (const idNode &n)
 
void removeInternalDownArcs (const idNode &node)
 
idSuperArc getNumberOfVisibleArcs (const idNode &n)
 
idSuperArc getNumberOfUnmergedDownArcs (const idNode &n)
 
idNode makeNode (const SimplexId &vertexId, const SimplexId &linked=nullVertex)
 
idNode makeNode (const Node *const n, const SimplexId &linked=nullVertex)
 
idSuperArc insertNode (Node *node, const bool segment)
 
idSuperArc reverseInsertNode (Node *node, const bool segment)
 
NodegetDownNode (const SuperArc *a)
 
NodegetUpNode (const SuperArc *a)
 
idNode getParent (const idNode &n)
 
void delNode (const idNode &node, std::list< std::vector< std::pair< SimplexId, bool > > > &storage, const std::pair< SimplexId, bool > *mv=nullptr, const SimplexId &nbm=0)
 
void hideNode (const idNode &node)
 
std::vector< idNodegetNodeNeighbors (const idNode &node)
 
std::vector< idNodegetNodeUpNeighbors (const idNode &n)
 
std::vector< idNodegetNodeDownNeighbors (const idNode &n)
 
void hideAndClearArcsAbove (const idNode &baseNode)
 
void hideAndClearArcsBelow (const idNode &baseNode, const SimplexId &seed)
 
idSuperArc hideAndClearLeadingTo (const idNode &baseNode, const SimplexId &v)
 
void updateSegmentation ()
 
void parallelUpdateSegmentation (const bool ct=false)
 
void parallelInitNodeValence (const int nbThreadValence)
 
void printTree2 ()
 
std::string printArc (const idSuperArc &a)
 
std::string printNode (const idNode &n)
 
std::shared_ptr< MergeTreeclone () const
 
void clone (const MergeTree *mt)
 
void doSwap (MergeTree *mt)
 
- Public Member Functions inherited from ttk::Debug
 Debug ()
 
 ~Debug () override
 
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
 

Additional Inherited Members

- Protected Member Functions inherited from ttk::cf::MergeTree
bool isLower (const SimplexId &a, const SimplexId &b) const
 
bool isHigher (const SimplexId &a, const SimplexId &b) 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 inherited from ttk::cf::ContourForestsTree
MergeTree jt_
 
MergeTree st_
 
- Protected Attributes inherited from ttk::cf::MergeTree
std::shared_ptr< Paramsparams_
 
std::shared_ptr< Scalarsscalars_
 
TreeData treeData_
 
std::list< ExtendedUnionFindstorageEUF_
 
- 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_
 
- Static Protected Attributes inherited from ttk::Debug
static COMMON_EXPORTS debug::LineMode lastLineMode = ttk::debug::LineMode::NEW
 

Detailed Description

Definition at line 117 of file ContourForests.h.

Constructor & Destructor Documentation

◆ ContourForests()

ContourForests::ContourForests ( )

Definition at line 22 of file ContourForests.cpp.

◆ ~ContourForests()

ContourForests::~ContourForests ( )
override

Definition at line 32 of file ContourForests.cpp.

Member Function Documentation

◆ build()

template<typename scalarType , typename triangulationType >
int ttk::cf::ContourForests::build ( const triangulationType &  mesh)

Definition at line 33 of file ContourForestsTemplate.h.

◆ getJTRange()

std::tuple< SimplexId, SimplexId > ttk::cf::ContourForests::getJTRange ( const idPartition i) const
inline

Definition at line 156 of file ContourForests.h.

◆ getOverlaps()

std::tuple< std::vector< SimplexId >, std::vector< SimplexId > > ttk::cf::ContourForests::getOverlaps ( const idPartition i)
inline

Definition at line 202 of file ContourForests.h.

◆ getSeedsPos()

std::tuple< SimplexId, SimplexId > ttk::cf::ContourForests::getSeedsPos ( const idPartition i) const
inline

Definition at line 187 of file ContourForests.h.

◆ getSTRange()

std::tuple< SimplexId, SimplexId > ttk::cf::ContourForests::getSTRange ( const idPartition i) const
inline

Definition at line 171 of file ContourForests.h.

◆ initInterfaces()

void ContourForests::initInterfaces ( )

Definition at line 56 of file ContourForests.cpp.

◆ initNbPartitions()

void ContourForests::initNbPartitions ( )

Definition at line 92 of file ContourForests.cpp.

◆ initOverlap()

template<typename triangulationType >
void ttk::cf::ContourForests::initOverlap ( const triangulationType &  mesh)

Definition at line 512 of file ContourForestsTemplate.h.

◆ parallelBuild()

template<typename scalarType , typename triangulationType >
int ttk::cf::ContourForests::parallelBuild ( std::vector< std::vector< ExtendedUnionFind * > > &  baseUF_JT,
std::vector< std::vector< ExtendedUnionFind * > > &  baseUF_ST,
const triangulationType &  mesh 
)

Definition at line 278 of file ContourForestsTemplate.h.

◆ printDebug()

void ContourForests::printDebug ( DebugTimer timer,
const std::string &  str 
)

Definition at line 542 of file ContourForests.cpp.

◆ printVectCT()

void ContourForests::printVectCT ( )

Definition at line 546 of file ContourForests.cpp.

◆ setLessPartition()

void ttk::cf::ContourForests::setLessPartition ( bool  l)
inline

Definition at line 149 of file ContourForests.h.

◆ setPartitionNum()

void ttk::cf::ContourForests::setPartitionNum ( int  p)
inline

Definition at line 145 of file ContourForests.h.

◆ setThreadNumber()

int ttk::cf::ContourForests::setThreadNumber ( const int  nbThread)
inlineoverridevirtual

Reimplemented from ttk::BaseClass.

Definition at line 136 of file ContourForests.h.

◆ stitch()

void ContourForests::stitch ( )

Definition at line 107 of file ContourForests.cpp.

◆ stitchTree()

void ContourForests::stitchTree ( const char  tree)

Definition at line 119 of file ContourForests.cpp.

◆ unify()

void ContourForests::unify ( )

Definition at line 301 of file ContourForests.cpp.

◆ unifyTree()

void ContourForests::unifyTree ( const char  treetype)

Definition at line 311 of file ContourForests.cpp.

◆ vertex2partition()

idPartition ContourForests::vertex2partition ( const SimplexId v)

Definition at line 40 of file ContourForests.cpp.


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