|
| | MergeTreeDistanceMatrix () |
| | ~MergeTreeDistanceMatrix () override=default |
| void | setBaseModule (int m) |
| void | setBranchMetric (int m) |
| void | setPathMetric (int m) |
| template<class dataType> |
| void | execute (std::vector< ftm::MergeTree< dataType > > &trees, std::vector< ftm::MergeTree< dataType > > &trees2, std::vector< std::vector< double > > &distanceMatrix) |
| template<class dataType> |
| void | executePara (std::vector< ftm::MergeTree< dataType > > &trees, std::vector< std::vector< double > > &distanceMatrix, bool isFirstInput=true) |
| template<class dataType> |
| void | executeParaImpl (std::vector< ftm::MergeTree< dataType > > &trees, std::vector< std::vector< double > > &distanceMatrix, bool isFirstInput=true) |
| | 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) |
| | MergeTreeBase () |
| void | setAssignmentSolver (int assignmentSolver) |
| void | setEpsilon1UseFarthestSaddle (bool b) |
| void | setEpsilonTree1 (double epsilon) |
| void | setEpsilonTree2 (double epsilon) |
| void | setEpsilon2Tree1 (double epsilon) |
| void | setEpsilon2Tree2 (double epsilon) |
| void | setEpsilon3Tree1 (double epsilon) |
| void | setEpsilon3Tree2 (double epsilon) |
| void | setPersistenceThreshold (double pt) |
| void | setParallelize (bool para) |
| void | setNodePerTask (int npt) |
| void | setBranchDecomposition (bool useBD) |
| void | setNormalizedWasserstein (bool normalizedWasserstein) |
| void | setKeepSubtree (bool keepSubtree) |
| void | setNonMatchingWeight (double weight) |
| void | setBarycenterMergeTree (bool imt) |
| void | setDistanceSquaredRoot (bool distanceSquaredRoot) |
| void | setUseMinMaxPair (bool useMinMaxPair) |
| void | setDeleteMultiPersPairs (bool deleteMultiPersPairsT) |
| void | setCleanTree (bool clean) |
| void | setIsPersistenceDiagram (bool isPD) |
| void | setJoinSplitMixtureCoefficient (const double mixtureCoefficient) |
| void | setUseDoubleInput (const bool useDoubleInput) |
| std::vector< std::vector< int > > | getTreesNodeCorr () |
| double | mixDistancesMinMaxPairWeight (bool isFirstInput) |
| double | mixDistancesWeight (bool isFirstInput) |
| template<class dataType> |
| double | mixDistances (dataType distance1, dataType distance2) |
| template<class dataType> |
| void | mixDistancesMatrix (std::vector< std::vector< dataType > > &distanceMatrix, std::vector< std::vector< dataType > > &distanceMatrix2) |
| template<class dataType> |
| void | mergeSaddle (ftm::FTMTree_MT *tree, double epsilon, std::vector< std::vector< ftm::idNode > > &treeNodeMerged, bool mergeByPersistence=false) |
| template<class dataType> |
| void | persistenceMerging (ftm::FTMTree_MT *tree, double epsilon2, double epsilon3=100) |
| void | deletePersistenceDiagramsPairs (ftm::FTMTree_MT *tree, std::vector< ftm::idNode > &nodes) |
| template<class dataType> |
| void | keepMostImportantPairs (ftm::FTMTree_MT *tree, int n, bool useBD) |
| template<class dataType> |
| void | persistenceThresholding (ftm::FTMTree_MT *tree, double persistenceThresholdT, std::vector< ftm::idNode > &deletedNodes) |
| template<class dataType> |
| void | persistenceThresholding (ftm::FTMTree_MT *tree, std::vector< ftm::idNode > &deletedNodes) |
| template<class dataType> |
| void | persistenceThresholding (ftm::FTMTree_MT *tree, double persistenceThresholdT) |
| template<class dataType> |
| void | persistenceThresholding (ftm::FTMTree_MT *tree) |
| template<class dataType> |
| void | verifyOrigins (ftm::FTMTree_MT *tree) |
| template<class dataType> |
| void | preprocessTree (ftm::FTMTree_MT *tree, bool deleteInconsistentNodes=true) |
| template<class dataType> |
| ftm::FTMTree_MT * | computeBranchDecomposition (ftm::FTMTree_MT *tree, std::vector< std::vector< ftm::idNode > > &treeNodeMerged) |
| template<class dataType> |
| void | dontUseMinMaxPair (ftm::FTMTree_MT *tree) |
| void | verifyPairsTree (ftm::FTMTree_MT *tree) |
| template<class dataType> |
| void | deleteMultiPersPairs (ftm::FTMTree_MT *tree, bool useBD) |
| template<class dataType> |
| void | preprocessingPipeline (ftm::MergeTree< dataType > &mTree, double epsilonTree, double epsilon2Tree, double epsilon3Tree, bool branchDecompositionT, bool useMinMaxPairT, bool cleanTreeT, double persistenceThreshold, std::vector< int > &nodeCorr, bool deleteInconsistentNodes=true, bool removeMergedSaddles=false) |
| template<class dataType> |
| void | preprocessingPipeline (ftm::MergeTree< dataType > &mTree, double epsilonTree, double epsilon2Tree, double epsilon3Tree, bool branchDecompositionT, bool useMinMaxPairT, bool cleanTreeT, std::vector< int > &nodeCorr, bool deleteInconsistentNodes=true, bool removeMergedSaddles=false) |
| void | reverseNodeCorr (ftm::FTMTree_MT *tree, std::vector< int > &nodeCorr) |
| template<class dataType> |
| void | mtFlattening (ftm::MergeTree< dataType > &mt) |
| template<class dataType> |
| void | mtsFlattening (std::vector< ftm::MergeTree< dataType > > &mts) |
| double | getSizeLimitMetric (std::vector< ftm::FTMTree_MT * > &trees) |
| template<class dataType> |
| void | copyMinMaxPair (ftm::MergeTree< dataType > &mTree1, ftm::MergeTree< dataType > &mTree2, bool setOrigins=false) |
| template<class dataType> |
| std::tuple< int, dataType > | fixMergedRootOrigin (ftm::FTMTree_MT *tree) |
| template<class dataType> |
| void | branchDecompositionToTree (ftm::FTMTree_MT *tree) |
| template<class dataType> |
| void | putBackMergedNodes (ftm::FTMTree_MT *tree) |
| template<class dataType> |
| void | postprocessingPipeline (ftm::FTMTree_MT *tree) |
| template<class dataType> |
| void | convertBranchDecompositionMatching (ftm::FTMTree_MT *tree1, ftm::FTMTree_MT *tree2, std::vector< std::tuple< ftm::idNode, ftm::idNode, double > > &outputMatching) |
| template<class dataType> |
| void | convertBranchDecompositionMatching (ftm::FTMTree_MT *tree1, ftm::FTMTree_MT *tree2, std::vector< std::tuple< ftm::idNode, ftm::idNode > > &outputMatching) |
| template<class dataType> |
| void | identifyRealMatching (ftm::FTMTree_MT *tree1, ftm::FTMTree_MT *tree2, std::vector< std::tuple< ftm::idNode, ftm::idNode > > &outputMatching, std::vector< std::tuple< ftm::idNode, ftm::idNode, bool > > &realMatching) |
| template<class dataType> |
| dataType | computeDistance (dataType x1, dataType x2, dataType y1, dataType y2, double power=2) |
| template<class dataType> |
| dataType | deleteCost (const ftm::FTMTree_MT *tree, ftm::idNode nodeId) |
| template<class dataType> |
| dataType | insertCost (const ftm::FTMTree_MT *tree, ftm::idNode nodeId) |
| template<class dataType> |
| dataType | relabelCostOnly (const ftm::FTMTree_MT *tree1, ftm::idNode nodeId1, const ftm::FTMTree_MT *tree2, ftm::idNode nodeId2) |
| template<class dataType> |
| dataType | relabelCost (const ftm::FTMTree_MT *tree1, ftm::idNode nodeId1, const ftm::FTMTree_MT *tree2, ftm::idNode nodeId2) |
| void | getParamNames (std::vector< std::string > ¶mNames) |
| double | getParamValueFromName (std::string ¶mName) |
| void | setParamValueFromName (std::string ¶mName, double value) |
| void | getTreesStats (std::vector< ftm::FTMTree_MT * > &trees, std::array< double, 3 > &stats) |
| void | printTreesStats (std::vector< ftm::FTMTree_MT * > &trees) |
| template<class dataType> |
| void | printTreesStats (std::vector< ftm::MergeTree< dataType > > &trees) |
| template<class dataType> |
| void | printTableVector (std::vector< std::vector< dataType > > &table) |
| template<class dataType> |
| void | printTable (dataType *table, int nRows, int nCols) |
| void | printMatching (std::vector< MatchingType > &matchings) |
| void | printMatching (std::vector< std::tuple< ftm::idNode, ftm::idNode, double > > &matchings) |
| void | printMatching (std::vector< std::tuple< ftm::idNode, ftm::idNode > > &matchings) |
| template<class dataType> |
| void | printPairs (std::vector< std::tuple< SimplexId, SimplexId, dataType > > &treePairs) |
| template<class dataType> |
| void | printOutputMatching (std::vector< std::tuple< ftm::idNode, ftm::idNode > > &outputMatching, ftm::FTMTree_MT *tree1, ftm::FTMTree_MT *tree2, bool computeCosts=true) |
The MergeTreeDistanceMatrix class provides methods to compute the distance between multiple merge trees and output a distance matrix.
- Author
- Mathieu Pont mathi.nosp@m.eu.p.nosp@m.ont@l.nosp@m.ip6..nosp@m.fr
-
Florian Wetzels (wetze.nosp@m.ls@c.nosp@m.s.uni.nosp@m.-kl..nosp@m.de)
- Date
- 2021.
This VTK filter uses the ttk::MergeTreeDistanceMatrix module to compute the distance matrix of a group of merge trees.
Related publication
"Wasserstein Distances, Geodesics and Barycenters of Merge Trees"
Mathieu Pont, Jules Vidal, Julie Delon, Julien Tierny.
Proc. of IEEE VIS 2021.
IEEE Transactions on Visualization and Computer Graphics, 2021
Related publication
"Edit Distance between Merge Trees"
R. Sridharamurthy, T. B. Masood, A. Kamakshidasan and V. Natarajan.
IEEE Transactions on Visualization and Computer Graphics, 2020.
Related publication
"Branch Decomposition-Independent Edit Distances for Merge Trees."
Florian Wetzels, Heike Leitte, and Christoph Garth.
Computer Graphics Forum, 2022.
Related publication
"A Deformation-based Edit Distance for Merge Trees"
Florian Wetzels, Christoph Garth.
TopoInVis 2022.
Online examples:
Definition at line 66 of file MergeTreeDistanceMatrix.h.