|
| FTMTree_CT (const std::shared_ptr< Params > ¶ms, const std::shared_ptr< Scalars > &scalars) |
|
| ~FTMTree_CT () override=default |
|
FTMTree_MT * | getJoinTree () |
|
FTMTree_MT * | getSplitTree () |
|
FTMTree_MT * | getTree (const TreeType tt) |
|
void | preconditionTriangulation (AbstractTriangulation *tri, const bool preproc=true) |
|
int | setDebugLevel (const int &d) override |
|
int | setThreadNumber (const int n) override |
|
template<class triangulationType > |
int | leafSearch (const triangulationType *mesh) |
|
template<class triangulationType > |
void | build (const triangulationType *mesh, TreeType tt) |
|
void | insertNodes () |
|
int | combine () |
|
void | updateRegion (const ArcRegion &arcRegion, idSuperArc ctArc) |
|
void | createCTArcSegmentation (idSuperArc ctArc, const bool isJT, idSuperArc xtArc) |
|
void | finalizeSegmentation () |
|
| FTMTree_MT (const std::shared_ptr< Params > ¶ms, const std::shared_ptr< Scalars > &scalars, TreeType type) |
|
| ~FTMTree_MT () override |
|
void | clear () |
|
void | setParamsScalars (const std::shared_ptr< Params > ¶ms, const std::shared_ptr< Scalars > &scalars) |
|
template<class triangulationType > |
void | initNbScalars (const triangulationType *triangulation) |
|
void | initComp () |
|
bool | compLower (const SimplexId a, const SimplexId b) |
|
template<typename scalarType > |
void | sortInput () |
| if sortedVertices_ is null, define and fill it
|
|
void | makeAlloc () |
| clear local data for new computation
|
|
void | makeInit () |
|
void | initVectStates (const SimplexId nbLeaves) |
|
template<class triangulationType > |
void | build (const triangulationType *mesh, const bool ct) |
| Compute the merge.
|
|
template<class triangulationType > |
int | leafSearch (const triangulationType *mesh) |
|
template<class triangulationType > |
void | leafGrowth (const triangulationType *mesh) |
|
template<class triangulationType > |
void | arcGrowth (const triangulationType *mesh, const SimplexId startVert, const SimplexId orig) |
|
template<class triangulationType > |
std::tuple< bool, bool > | propagate (const triangulationType *mesh, CurrentState ¤tState, UF curUF) |
|
template<class triangulationType > |
void | closeAndMergeOnSaddle (const triangulationType *mesh, SimplexId saddleVert) |
|
template<class triangulationType > |
void | closeOnBackBone (const triangulationType *mesh, SimplexId saddleVert) |
|
void | closeArcsUF (idNode closeNode, UF uf) |
|
template<class triangulationType > |
SimplexId | trunk (const triangulationType *mesh, const bool ct) |
|
virtual SimplexId | trunkSegmentation (const std::vector< SimplexId > &pendingNodesVerts, const SimplexId begin, const SimplexId stop) |
|
SimplexId | trunkCTSegmentation (const std::vector< SimplexId > &pendingNodesVerts, const SimplexId begin, const SimplexId stop) |
|
void | buildSegmentation () |
| use vert2tree to compute the segmentation of the fresh built merge tree.
|
|
void | finalizeSegmentation () |
|
void | normalizeIds () |
|
SimplexId | getArcSize (const idSuperArc arcId) |
|
bool | isJT () const |
|
bool | isST () const |
|
void | preconditionTriangulation (AbstractTriangulation *tri, const bool preproc=true) |
|
void | setScalars (void *local_scalars) |
|
void | setTreeType (const int local_treeType) |
|
void | setSegmentation (const bool segm) |
|
void | setNormalizeIds (const bool normalize) |
|
template<typename scalarType > |
const scalarType & | getValue (SimplexId nodeId) const |
|
template<typename scalarType > |
void | setVertexScalars (const scalarType *vals) |
|
void | setVertexSoSoffsets (const SimplexId *const sos) |
|
idSuperArc | getNumberOfSuperArcs () const |
|
SuperArc * | getSuperArc (idSuperArc i) |
|
const SuperArc * | getSuperArc (idSuperArc i) const |
|
idNode | getNumberOfNodes () const |
|
Node * | getNode (idNode nodeId) |
|
void | setValence (const SimplexId v, const SimplexId val) |
|
idNode | getNumberOfLeaves () const |
|
const std::vector< idNode > & | getLeaves () const |
|
idNode | getLeave (const idNode id) const |
|
const std::vector< idNode > & | getRoots () const |
|
SimplexId | getNumberOfVertices () const |
|
void | setVert2Tree (decltype(mt_data_.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 |
|
SuperArc * | vertex2SuperArc (const SimplexId vert) |
|
Node * | vertex2Node (const SimplexId vert) |
|
void | updateCorrespondingArc (const SimplexId vert, const idSuperArc arc) |
|
void | updateCorrespondingNode (const SimplexId vert, const idNode node) |
|
idCorresp | idNode2corr (const idNode id) const |
|
idNode | corr2idNode (const idCorresp &corr) const |
|
idSuperArc | openSuperArc (idNode downNodeId) |
|
idSuperArc | makeSuperArc (idNode downNodeId, idNode upNodeId) |
|
void | closeSuperArc (idSuperArc superArcId, idNode upNodeId) |
|
std::vector< idNode > | sortedNodes (const bool parallel=false) |
|
void | sortLeaves (const bool parallel=false) |
|
void | sortNodes () |
| Sort tree nodes according to vertex order.
|
|
void | sortArcs () |
| Sort tree arcs.
|
|
idNode | makeNode (SimplexId vertexId, SimplexId linked=nullVertex) |
|
idNode | makeNode (const Node *const n, SimplexId linked=nullVertex) |
|
idSuperArc | insertNode (Node *node, const bool segm=true) |
|
Node * | getDownNode (const SuperArc *a) |
|
Node * | getUpNode (const SuperArc *a) |
|
idNode | getDownNodeId (const SuperArc *a) |
|
idNode | getUpNodeId (const SuperArc *a) |
|
Node * | getLowerNode (const SuperArc *a) |
|
Node * | getUpperNode (const SuperArc *a) |
|
idNode | getLowerNodeId (const SuperArc *a) |
|
idNode | getUpperNodeId (const SuperArc *a) |
|
idNode | getParent (const idNode n) |
|
void | delNode (idNode node) |
|
std::shared_ptr< FTMTree_MT > | clone () const |
|
void | move (FTMTree_MT &mt) |
|
std::string | printArc (idSuperArc a) |
|
std::string | printNode (idNode n) |
|
void | printTree2 () |
|
void | printParams () const |
|
int | printTime (Timer &t, const std::string &s, const int debugLevel=2) const |
|
bool | isNodeOriginDefined (idNode nodeId) |
|
bool | isRoot (idNode nodeId) |
|
bool | isLeaf (idNode nodeId) |
|
bool | isNodeAlone (idNode nodeId) |
|
bool | isFullMerge () |
|
bool | isBranchOrigin (idNode nodeId) |
|
template<class dataType > |
bool | isJoinTree () |
|
template<class dataType > |
bool | isImportantPair (idNode nodeId, double threshold, std::vector< double > &excludeLower, std::vector< double > &excludeHigher) |
|
template<class dataType > |
bool | isImportantPair (idNode nodeId, double threshold) |
|
bool | isNodeMerged (idNode nodeId) |
|
bool | isNodeIdInconsistent (idNode nodeId) |
|
bool | isThereOnlyOnePersistencePair () |
|
bool | notNeedToNormalize (idNode nodeId) |
|
bool | isMultiPersPair (idNode nodeId) |
|
template<class dataType > |
bool | isParentInconsistent (ftm::idNode nodeId) |
|
template<class dataType > |
bool | verifyBranchDecompositionInconsistency () |
|
idNode | getRoot () |
|
idNode | getParentSafe (idNode nodeId) |
|
void | getChildren (idNode nodeId, std::vector< idNode > &res) |
|
void | getLeavesFromTree (std::vector< idNode > &res) |
|
int | getNumberOfLeavesFromTree () |
|
int | getNumberOfNodeAlone () |
|
int | getRealNumberOfNodes () |
|
template<class dataType > |
idNode | getMergedRootOrigin () |
|
void | getBranchOriginsFromThisBranch (idNode node, std::tuple< std::vector< idNode >, std::vector< idNode > > &res) |
|
void | getTreeBranching (std::vector< idNode > &branching, std::vector< int > &branchingID, std::vector< std::vector< idNode > > &nodeBranching) |
|
void | getTreeBranching (std::vector< idNode > &branching, std::vector< int > &branchingID) |
|
void | getAllRoots (std::vector< idNode > &res) |
|
int | getNumberOfRoot () |
|
int | getNumberOfChildren (idNode nodeId) |
|
int | getTreeDepth () |
|
int | getNodeLevel (idNode nodeId) |
|
void | getAllNodeLevel (std::vector< int > &res) |
|
void | getLevelToNode (std::vector< std::vector< idNode > > &res) |
|
void | getBranchSubtree (std::vector< idNode > &branching, idNode branchRoot, std::vector< idNode > &res) |
|
template<class dataType > |
idNode | getLowestNode (idNode nodeStart) |
|
template<class dataType > |
std::tuple< dataType, dataType > | getBirthDeathFromIds (idNode nodeId1, idNode nodeId2) |
|
template<class dataType > |
std::tuple< dataType, dataType > | getBirthDeathNodeFromIds (idNode nodeId1, idNode nodeId2) |
|
template<class dataType > |
std::tuple< dataType, dataType > | getBirthDeath (idNode nodeId) |
|
template<class dataType > |
std::tuple< ftm::idNode, ftm::idNode > | getBirthDeathNode (idNode nodeId) |
|
template<class dataType > |
std::tuple< dataType, dataType > | getMergedRootBirthDeath () |
|
template<class dataType > |
std::tuple< ftm::idNode, ftm::idNode > | getMergedRootBirthDeathNode () |
|
template<class dataType > |
dataType | getBirth (idNode nodeId) |
|
template<class dataType > |
dataType | getNodePersistence (idNode nodeId) |
|
template<class dataType > |
dataType | getMaximumPersistence () |
|
template<class dataType > |
ftm::idNode | getSecondMaximumPersistenceNode () |
|
template<class dataType > |
dataType | getSecondMaximumPersistence () |
|
template<class dataType > |
void | getPersistencePairsFromTree (std::vector< std::tuple< ftm::idNode, ftm::idNode, dataType > > &pairs, bool useBD) |
|
template<class dataType > |
std::vector< ftm::idNode > | getMultiPersOrigins (bool useBD) |
|
void | getMultiPersOriginsVectorFromTree (std::vector< std::vector< idNode > > &res) |
|
void | setParent (idNode nodeId, idNode newParentNodeId) |
|
void | deleteNode (idNode nodeId) |
|
void | deleteIthUpArc (idNode nodeId, int arcIth) |
|
void | deleteParent (idNode nodeId) |
|
void | deleteSubtree (idNode nodeId) |
|
void | copyMergeTreeStructure (FTMTree_MT *tree) |
|
void | printNodeSS (idNode node, std::stringstream &ss) |
|
template<class dataType > |
std::stringstream | printNode2 (idNode nodeId, bool doPrint=true) |
|
template<class dataType > |
std::stringstream | printMergedRoot (bool doPrint=true) |
|
std::stringstream | printSubTree (idNode subRoot) |
|
std::stringstream | printTree (bool doPrint=true) |
|
std::stringstream | printTreeStats (bool doPrint=true) |
|
template<class dataType > |
std::stringstream | printTreeScalars (bool printNodeAlone=true, bool doPrint=true) |
|
template<class dataType > |
std::stringstream | printPairsFromTree (bool useBD=false, bool printPairs=true, bool doPrint=true) |
|
std::stringstream | printMultiPersOriginsVectorFromTree (bool doPrint=true) |
|
template<class dataType > |
std::stringstream | printMultiPersPairsFromTree (bool useBD=false, bool printPairs=true, bool doPrint=true) |
|
template<class dataType > |
void | getPersistencePairsFromTree (std::vector< std::tuple< idNode, idNode, dataType > > &pairs, bool useBD) |
|
template<class dataType > |
std::vector< idNode > | getMultiPersOrigins (bool useBD) |
|
| 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) |
|
| BaseClass () |
|
virtual | ~BaseClass ()=default |
|
int | getThreadNumber () const |
|