TTK
Loading...
Searching...
No Matches
Classes | Typedefs | Enumerations | Functions
ttk::ftm Namespace Reference

Classes

struct  ArcData
 
class  ArcRegion
 
class  AtomicUF
 
struct  Comparison
 
struct  CurrentState
 
class  FTMTree
 TTK processing package that efficiently computes the contour tree of scalar data and more (data segmentation, topological simplification, persistence diagrams, persistence curves, etc.). More...
 
class  FTMTree_CT
 
class  FTMTree_MT
 
class  FTMTreePP
 
struct  LocalFTM
 
struct  MergeTree
 
class  Node
 
struct  NodeData
 
struct  Params
 
struct  Region
 
struct  Scalars
 
class  Segment
 
class  Segments
 
struct  SharedData
 
class  SuperArc
 
struct  TreeData
 
struct  VertData
 
struct  WrapperData
 

Typedefs

using idSuperArc = long unsigned int
 SuperArc index in vect_superArcs_.
 
using idNode = unsigned int
 Node index in vect_nodes_.
 
using idCorresp = long long int
 type used to recover Node/Arc in vert2tree SIGNED ONLY
 
using idSegment = idSuperArc
 for the segmentation, we have an array of segment containing area of the mesh
 
using numThread = ThreadId
 type use to store threads related numbers
 
using ufDataType = long int
 type stored by UnionFind
 
using idThread = ThreadId
 manage number of threads
 
using idTask = TaskId
 for task identifiers
 
using valence = SimplexId
 for vertex up/down valence
 
using VertCompFN = std::function< bool(SimplexId, SimplexId)>
 
using SetPropagation = std::set< SimplexId, VertCompFN >
 
using SetCompFN = std::function< bool(const SetPropagation &, const SetPropagation &)>
 
using segm_it = std::vector< SimplexId >::iterator
 
using segm_rev_it = std::vector< SimplexId >::reverse_iterator
 
using segm_const_it = std::vector< SimplexId >::const_iterator
 
using segm_const_rev_it = std::vector< SimplexId >::const_reverse_iterator
 
using UF = AtomicUF *
 

Enumerations

enum  TreeType : char { Join = 0 , Split = 1 , Contour = 2 , Join_Split = 3 }
 
enum  SimplifMethod : char { Persist = 0 , Span = 1 , NbVert = 2 , NbArc = 3 }
 
enum  ComponentState : char { Visible , Hidden , Pruned , Merged }
 
enum class  TreeComponent {
  Arc = -1 , Local_minimum , Saddle1 , Saddle2 ,
  Local_maximum
}
 
enum class  ArcType : char {
  Min_arc = 0 , Max_arc , Saddle1_arc , Saddle2_arc ,
  Saddle1_saddle2_arc
}
 

Functions

std::ostream & operator<< (std::ostream &o, Node const &n)
 
std::ostream & operator<< (std::ostream &o, SuperArc const &a)
 
void manageInconsistentArcsMultiParent (FTMTree_MT *tree)
 
void removeSelfLink (FTMTree_MT *tree)
 
void printTreesStats (std::vector< ftm::FTMTree_MT * > &trees)
 
template<class dataType >
void printTree (MergeTree< dataType > &tree, bool doPrint=true)
 
template<class dataType >
void printTreeStats (MergeTree< dataType > &tree)
 
template<class dataType >
void printTreeScalars (MergeTree< dataType > &tree, bool printNodeAlone=true)
 
template<class dataType >
void mergeTreeToFTMTree (std::vector< MergeTree< dataType > > &trees, std::vector< ftm::FTMTree_MT * > &treesT)
 
template<class dataType >
void mergeTreeTemplateToDouble (MergeTree< dataType > &mt, MergeTree< double > &newMt)
 
template<class dataType >
void mergeTreesTemplateToDouble (std::vector< MergeTree< dataType > > &mts, std::vector< MergeTree< double > > &newMts)
 
template<class dataType >
void mergeTreesTemplateToDouble (std::vector< std::vector< MergeTree< dataType > > > &mts, std::vector< std::vector< MergeTree< double > > > &newMts)
 
template<class dataType >
void mergeTreeDoubleToTemplate (MergeTree< double > &mt, MergeTree< dataType > &newMt)
 
template<class dataType >
void mergeTreesDoubleToTemplate (std::vector< MergeTree< double > > &mts, std::vector< MergeTree< dataType > > &newMts)
 
template<class dataType >
void mergeTreesDoubleToTemplate (std::vector< std::vector< MergeTree< double > > > &mts, std::vector< std::vector< MergeTree< dataType > > > &newMts)
 
template<class dataType >
MergeTree< dataType > createEmptyMergeTree (int scalarSize)
 
template<class dataType >
void setTreeScalars (MergeTree< dataType > &mergeTree, std::vector< dataType > &scalarsVector)
 
template<class dataType >
void getTreeScalars (ftm::FTMTree_MT *tree, std::vector< dataType > &scalarsVector)
 
template<class dataType >
void getTreeScalars (MergeTree< dataType > &mergeTree, std::vector< dataType > &scalarsVector)
 
template<class dataType >
MergeTree< dataType > copyMergeTree (ftm::FTMTree_MT *tree, bool doSplitMultiPersPairs=false)
 
template<class dataType >
MergeTree< dataType > copyMergeTree (MergeTree< dataType > &mergeTree, bool doSplitMultiPersPairs=false)
 
template<class dataType >
MergeTree< dataType > cleanMergeTree (ftm::FTMTree_MT *tree, std::vector< int > &nodeCorr, bool useBD=true)
 
template<class dataType >
void cleanMergeTree (MergeTree< dataType > &mTree, std::vector< int > &nodeCorr, bool useBD=true)
 
template<class dataType >
void cleanMergeTree (MergeTree< dataType > &mTree, bool useBD=true)
 
template<class dataType >
void getPersistencePairs (FTMTree_MT *tree, std::vector< std::tuple< SimplexId, SimplexId, dataType > > &pairs)
 
template<class dataType >
std::vector< std::tuple< SimplexId, SimplexId, dataType > > computePersistencePairs (FTMTree_MT *tree)
 
template<class dataType >
MergeTree< dataType > makeTree (vtkUnstructuredGrid *treeNodes, vtkUnstructuredGrid *treeArcs)
 
template<class dataType >
MergeTree< dataType > makeBDTreeFromPDGrid (vtkUnstructuredGrid *persistenceDiagram, bool useSadMaxPairs=true)
 
void loadBlocks (std::vector< vtkSmartPointer< vtkMultiBlockDataSet > > &inputTrees, vtkMultiBlockDataSet *blocks)
 
template<class dataType >
bool constructTrees (std::vector< vtkSmartPointer< vtkMultiBlockDataSet > > &inputTrees, std::vector< MergeTree< dataType > > &intermediateTrees, std::vector< vtkUnstructuredGrid * > &treesNodes, std::vector< vtkUnstructuredGrid * > &treesArcs, std::vector< vtkDataSet * > &treesSegmentation, std::vector< bool > useSadMaxPairs)
 
template<class dataType >
bool constructTrees (std::vector< vtkSmartPointer< vtkMultiBlockDataSet > > &inputTrees, std::vector< MergeTree< dataType > > &intermediateTrees, std::vector< vtkUnstructuredGrid * > &treesNodes, std::vector< vtkUnstructuredGrid * > &treesArcs, std::vector< vtkDataSet * > &treesSegmentation, bool useSadMaxPairs=true)
 
template<class dataType >
bool constructTrees (std::vector< vtkSmartPointer< vtkMultiBlockDataSet > > &inputTrees, std::vector< MergeTree< dataType > > &intermediateTrees, bool useSadMaxPairs=true)
 

Typedef Documentation

◆ idCorresp

using ttk::ftm::idCorresp = typedef long long int

type used to recover Node/Arc in vert2tree SIGNED ONLY

Definition at line 44 of file FTMDataTypes.h.

◆ idNode

using ttk::ftm::idNode = typedef unsigned int

Node index in vect_nodes_.

Definition at line 39 of file FTMDataTypes.h.

◆ idSegment

for the segmentation, we have an array of segment containing area of the mesh

Definition at line 48 of file FTMDataTypes.h.

◆ idSuperArc

using ttk::ftm::idSuperArc = typedef long unsigned int

SuperArc index in vect_superArcs_.

Definition at line 37 of file FTMDataTypes.h.

◆ idTask

using ttk::ftm::idTask = typedef TaskId

for task identifiers

Definition at line 60 of file FTMDataTypes.h.

◆ idThread

using ttk::ftm::idThread = typedef ThreadId

manage number of threads

Definition at line 57 of file FTMDataTypes.h.

◆ numThread

using ttk::ftm::numThread = typedef ThreadId

type use to store threads related numbers

Definition at line 51 of file FTMDataTypes.h.

◆ segm_const_it

using ttk::ftm::segm_const_it = typedef std::vector<SimplexId>::const_iterator

Definition at line 152 of file FTMStructures.h.

◆ segm_const_rev_it

using ttk::ftm::segm_const_rev_it = typedef std::vector<SimplexId>::const_reverse_iterator

Definition at line 153 of file FTMStructures.h.

◆ segm_it

using ttk::ftm::segm_it = typedef std::vector<SimplexId>::iterator

Definition at line 150 of file FTMStructures.h.

◆ segm_rev_it

using ttk::ftm::segm_rev_it = typedef std::vector<SimplexId>::reverse_iterator

Definition at line 151 of file FTMStructures.h.

◆ SetCompFN

using ttk::ftm::SetCompFN = typedef std::function<bool(const SetPropagation &, const SetPropagation &)>

Definition at line 69 of file FTMDataTypes.h.

◆ SetPropagation

using ttk::ftm::SetPropagation = typedef std::set<SimplexId, VertCompFN>

Definition at line 68 of file FTMDataTypes.h.

◆ UF

using ttk::ftm::UF = typedef AtomicUF *

Definition at line 39 of file FTMTree_MT.h.

◆ ufDataType

using ttk::ftm::ufDataType = typedef long int

type stored by UnionFind

Definition at line 54 of file FTMDataTypes.h.

◆ valence

using ttk::ftm::valence = typedef SimplexId

for vertex up/down valence

Definition at line 63 of file FTMDataTypes.h.

◆ VertCompFN

using ttk::ftm::VertCompFN = typedef std::function<bool(SimplexId, SimplexId)>

Definition at line 67 of file FTMDataTypes.h.

Enumeration Type Documentation

◆ ArcType

enum class ttk::ftm::ArcType : char
strong
Enumerator
Min_arc 
Max_arc 
Saddle1_arc 
Saddle2_arc 
Saddle1_saddle2_arc 

Definition at line 106 of file FTMDataTypes.h.

◆ ComponentState

Enumerator
Visible 
Hidden 
Pruned 
Merged 

Definition at line 96 of file FTMDataTypes.h.

◆ SimplifMethod

Enumerator
Persist 
Span 
NbVert 
NbArc 

Definition at line 94 of file FTMDataTypes.h.

◆ TreeComponent

enum class ttk::ftm::TreeComponent
strong
Enumerator
Arc 
Local_minimum 
Saddle1 
Saddle2 
Local_maximum 

Definition at line 98 of file FTMDataTypes.h.

◆ TreeType

enum ttk::ftm::TreeType : char
Enumerator
Join 
Split 
Contour 
Join_Split 

Definition at line 92 of file FTMDataTypes.h.

Function Documentation

◆ cleanMergeTree() [1/3]

template<class dataType >
MergeTree< dataType > ttk::ftm::cleanMergeTree ( ftm::FTMTree_MT tree,
std::vector< int > &  nodeCorr,
bool  useBD = true 
)

Definition at line 211 of file FTMTreeUtils.h.

◆ cleanMergeTree() [2/3]

template<class dataType >
void ttk::ftm::cleanMergeTree ( MergeTree< dataType > &  mTree,
bool  useBD = true 
)

Definition at line 318 of file FTMTreeUtils.h.

◆ cleanMergeTree() [3/3]

template<class dataType >
void ttk::ftm::cleanMergeTree ( MergeTree< dataType > &  mTree,
std::vector< int > &  nodeCorr,
bool  useBD = true 
)

Definition at line 311 of file FTMTreeUtils.h.

◆ computePersistencePairs()

template<class dataType >
std::vector< std::tuple< SimplexId, SimplexId, dataType > > ttk::ftm::computePersistencePairs ( FTMTree_MT tree)

Definition at line 28 of file FTMTreePPUtils.h.

◆ constructTrees() [1/3]

template<class dataType >
bool ttk::ftm::constructTrees ( std::vector< vtkSmartPointer< vtkMultiBlockDataSet > > &  inputTrees,
std::vector< MergeTree< dataType > > &  intermediateTrees,
bool  useSadMaxPairs = true 
)

Definition at line 266 of file ttkFTMTreeUtils.h.

◆ constructTrees() [2/3]

template<class dataType >
bool ttk::ftm::constructTrees ( std::vector< vtkSmartPointer< vtkMultiBlockDataSet > > &  inputTrees,
std::vector< MergeTree< dataType > > &  intermediateTrees,
std::vector< vtkUnstructuredGrid * > &  treesNodes,
std::vector< vtkUnstructuredGrid * > &  treesArcs,
std::vector< vtkDataSet * > &  treesSegmentation,
bool  useSadMaxPairs = true 
)

Definition at line 253 of file ttkFTMTreeUtils.h.

◆ constructTrees() [3/3]

template<class dataType >
bool ttk::ftm::constructTrees ( std::vector< vtkSmartPointer< vtkMultiBlockDataSet > > &  inputTrees,
std::vector< MergeTree< dataType > > &  intermediateTrees,
std::vector< vtkUnstructuredGrid * > &  treesNodes,
std::vector< vtkUnstructuredGrid * > &  treesArcs,
std::vector< vtkDataSet * > &  treesSegmentation,
std::vector< bool >  useSadMaxPairs 
)

Definition at line 215 of file ttkFTMTreeUtils.h.

◆ copyMergeTree() [1/2]

template<class dataType >
MergeTree< dataType > ttk::ftm::copyMergeTree ( ftm::FTMTree_MT tree,
bool  doSplitMultiPersPairs = false 
)

Definition at line 165 of file FTMTreeUtils.h.

◆ copyMergeTree() [2/2]

template<class dataType >
MergeTree< dataType > ttk::ftm::copyMergeTree ( MergeTree< dataType > &  mergeTree,
bool  doSplitMultiPersPairs = false 
)

Definition at line 204 of file FTMTreeUtils.h.

◆ createEmptyMergeTree()

template<class dataType >
MergeTree< dataType > ttk::ftm::createEmptyMergeTree ( int  scalarSize)

Definition at line 125 of file FTMTreeUtils.h.

◆ getPersistencePairs()

template<class dataType >
void ttk::ftm::getPersistencePairs ( FTMTree_MT tree,
std::vector< std::tuple< SimplexId, SimplexId, dataType > > &  pairs 
)

Definition at line 17 of file FTMTreePPUtils.h.

◆ getTreeScalars() [1/2]

template<class dataType >
void ttk::ftm::getTreeScalars ( ftm::FTMTree_MT tree,
std::vector< dataType > &  scalarsVector 
)

Definition at line 151 of file FTMTreeUtils.h.

◆ getTreeScalars() [2/2]

template<class dataType >
void ttk::ftm::getTreeScalars ( MergeTree< dataType > &  mergeTree,
std::vector< dataType > &  scalarsVector 
)

Definition at line 159 of file FTMTreeUtils.h.

◆ loadBlocks()

void ttk::ftm::loadBlocks ( std::vector< vtkSmartPointer< vtkMultiBlockDataSet > > &  inputTrees,
vtkMultiBlockDataSet *  blocks 
)
inline

Definition at line 183 of file ttkFTMTreeUtils.h.

◆ makeBDTreeFromPDGrid()

template<class dataType >
MergeTree< dataType > ttk::ftm::makeBDTreeFromPDGrid ( vtkUnstructuredGrid *  persistenceDiagram,
bool  useSadMaxPairs = true 
)

Definition at line 93 of file ttkFTMTreeUtils.h.

◆ makeTree()

template<class dataType >
MergeTree< dataType > ttk::ftm::makeTree ( vtkUnstructuredGrid *  treeNodes,
vtkUnstructuredGrid *  treeArcs 
)

Definition at line 26 of file ttkFTMTreeUtils.h.

◆ manageInconsistentArcsMultiParent()

void ttk::ftm::manageInconsistentArcsMultiParent ( FTMTree_MT tree)

Definition at line 497 of file FTMTreeUtils.cpp.

◆ mergeTreeDoubleToTemplate()

template<class dataType >
void ttk::ftm::mergeTreeDoubleToTemplate ( MergeTree< double > &  mt,
MergeTree< dataType > &  newMt 
)

Definition at line 80 of file FTMTreeUtils.h.

◆ mergeTreesDoubleToTemplate() [1/2]

template<class dataType >
void ttk::ftm::mergeTreesDoubleToTemplate ( std::vector< MergeTree< double > > &  mts,
std::vector< MergeTree< dataType > > &  newMts 
)

Definition at line 91 of file FTMTreeUtils.h.

◆ mergeTreesDoubleToTemplate() [2/2]

template<class dataType >
void ttk::ftm::mergeTreesDoubleToTemplate ( std::vector< std::vector< MergeTree< double > > > &  mts,
std::vector< std::vector< MergeTree< dataType > > > &  newMts 
)

Definition at line 102 of file FTMTreeUtils.h.

◆ mergeTreesTemplateToDouble() [1/2]

template<class dataType >
void ttk::ftm::mergeTreesTemplateToDouble ( std::vector< MergeTree< dataType > > &  mts,
std::vector< MergeTree< double > > &  newMts 
)

Definition at line 56 of file FTMTreeUtils.h.

◆ mergeTreesTemplateToDouble() [2/2]

template<class dataType >
void ttk::ftm::mergeTreesTemplateToDouble ( std::vector< std::vector< MergeTree< dataType > > > &  mts,
std::vector< std::vector< MergeTree< double > > > &  newMts 
)

Definition at line 67 of file FTMTreeUtils.h.

◆ mergeTreeTemplateToDouble()

template<class dataType >
void ttk::ftm::mergeTreeTemplateToDouble ( MergeTree< dataType > &  mt,
MergeTree< double > &  newMt 
)

Definition at line 45 of file FTMTreeUtils.h.

◆ mergeTreeToFTMTree()

template<class dataType >
void ttk::ftm::mergeTreeToFTMTree ( std::vector< MergeTree< dataType > > &  trees,
std::vector< ftm::FTMTree_MT * > &  treesT 
)

Definition at line 37 of file FTMTreeUtils.h.

◆ operator<<() [1/2]

std::ostream & ttk::ftm::operator<< ( std::ostream &  o,
Node const &  n 
)

Definition at line 1101 of file FTMTree_MT.cpp.

◆ operator<<() [2/2]

std::ostream & ttk::ftm::operator<< ( std::ostream &  o,
SuperArc const &  a 
)

Definition at line 1095 of file FTMTree_MT.cpp.

◆ printTree()

template<class dataType >
void ttk::ftm::printTree ( MergeTree< dataType > &  tree,
bool  doPrint = true 
)

Definition at line 21 of file FTMTreeUtils.h.

◆ printTreeScalars()

template<class dataType >
void ttk::ftm::printTreeScalars ( MergeTree< dataType > &  tree,
bool  printNodeAlone = true 
)

Definition at line 31 of file FTMTreeUtils.h.

◆ printTreesStats()

void ttk::ftm::printTreesStats ( std::vector< ftm::FTMTree_MT * > &  trees)

Definition at line 5 of file FTMTreeUtils.cpp.

◆ printTreeStats()

template<class dataType >
void ttk::ftm::printTreeStats ( MergeTree< dataType > &  tree)

Definition at line 26 of file FTMTreeUtils.h.

◆ removeSelfLink()

void ttk::ftm::removeSelfLink ( FTMTree_MT tree)

Definition at line 547 of file FTMTreeUtils.cpp.

◆ setTreeScalars()

template<class dataType >
void ttk::ftm::setTreeScalars ( MergeTree< dataType > &  mergeTree,
std::vector< dataType > &  scalarsVector 
)

Definition at line 142 of file FTMTreeUtils.h.