TTK
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
ttk Namespace Reference

The Topology ToolKit. More...

Namespaces

namespace  cf
 
namespace  cta
 
namespace  dcg
 
namespace  debug
 
namespace  Dijkstra
 
namespace  ftm
 
namespace  ftr
 
namespace  Geometry
 
namespace  intgl
 
namespace  Laplacian
 
namespace  lts
 
namespace  mth
 
namespace  pcp
 
namespace  periodicGhosts
 
namespace  Statistics
 

Classes

class  AbstractTriangulation
 AbstractTriangulation is an interface class that defines an interface for efficient traversal methods on triangulations of piecewise linear manifolds. More...
 
class  ApproximateTopology
 TTK processing package for progressive Topological Data Analysis. More...
 
class  Arc
 
class  ArrayLinkedList
 This class describes a dynamic size data structure for thread safe computation. It is a linked list of arrays that also stores the current number of elements. Its key feature is that the addition of an element will never cause the moving of the data structure in memory, unlike an std::vector, making the access to an element thread safe even if another thread is adding elements. More...
 
class  ArrayPreconditioning
 
class  AssignmentAuction
 
class  AssignmentExhaustive
 
class  AssignmentMunkres
 
class  AssignmentSolver
 
class  BarycentricSubdivision
 Subdivise a triangulation according to triangle barycenter. More...
 
class  BaseClass
 TTK base package. More...
 
class  BettiNumbers
 
class  Bidder
 
class  BottleneckDistance
 
class  BoundingVolumeHierarchy
 Acceleration structure for native ray tracer. Based on implementation described in Physically Based Rendering: From Theory to Implementation by Matt Pharr, Wenzel Jakob and Greg Humphreys. More...
 
class  BranchMappingDistance
 
class  CellArray
 CellArray generic array of cells More...
 
class  CinemaImaging
 TTK modules that generates images of a dataset. More...
 
class  CinemaImagingEmbree
 TTK CinemaImagingEmbree processing package. More...
 
class  CinemaImagingNative
 Native renderer that uses a bounding volume hierarchy for accelerated raycasting. More...
 
class  CinemaQuery
 TTK cinemaQuery processing package. More...
 
class  ClusteringMetrics
 
class  CommandLineParser
 Basic command line parsing. More...
 
class  CompactTriangulation
 CompactTriangulation is a class implemented based on the TopoCluster data structure, which is a localized data structure for simplicial meshes. The key idea of TopoCluster is to subdivide the simplicial mesh into clusters. Then, the connectivity information is computed locally for each cluster and discarded when it is no longer needed. The simplicial mesh needs to be subdivided before using TopoCluster, i.e., there has to be a scalar field named "ttkCompactTriangulationIndex" to denote the cluster index of each vertex. Note Topocluster will reindex the simplices based on the clustering input array. Related publications
"TopoCluster: A Localized Data Structure for Topology-based Visualization" Guoxi Liu, Federico Iuricich, Riccardo Fellegara, and Leila De Floriani IEEE Transactions on Visualization and Computer Graphics, 2021. More...
 
class  CompactTriangulationPreconditioning
 TTK processing package for mesh preprocessing before using TopoCluster. More...
 
struct  Compare
 
class  ConnectedComponents
 TTK connectedComponents processing package. More...
 
class  ContinuousScatterPlot
 TTK processing package that computes the continuous scatterplot of bivariate volumetric data. More...
 
class  ContourAroundPoint
 TTK contourAroundPoint processing package. More...
 
class  ContourTree
 TTK processing package that computes the contour tree of scalar data and more (data segmentation, topological simplification, persistence diagrams, persistence curves, etc.). More...
 
class  ContourTreeAlignment
 TTK contourTreeAlignment processing package. More...
 
class  ContourTreeSimplificationMetric
 
struct  criticalPointPairComparison
 Comparison between critical point pairs ( (Extremum,Saddle), dist(M,S) ) More...
 
struct  CriticalVertex
 Critical Vertex. More...
 
class  Debug
 Minimalist debugging class. More...
 
class  DebugMemory
 Legacy backward compatibility. More...
 
class  DebugTimer
 Legacy backward compatibility. More...
 
class  DepthImageBasedGeometryApproximation
 This module approximates the depicted geometry of a depth image. More...
 
class  DimensionReduction
 TTK VTK-filter that apply dimension reduction algorithms on input. More...
 
class  DiscreteMorseSandwich
 TTK DiscreteMorseSandwich processing package. More...
 
class  DistanceField
 TTK processing package for distance field computation on PL manifolds. More...
 
class  DistanceMatrixDistorsion
 
class  DynamicTree
 Implements the Dynamic Tree data-structure (or ST-Tree) More...
 
struct  DynTreeNode
 class representing a node of a tree and the link to its parent if not the root More...
 
class  EigenField
 TTK processing package for computing eigenfunctions of a triangular mesh. More...
 
class  ExplicitTriangulation
 ExplicitTriangulation is a class that provides time efficient traversal methods on triangulations of piecewise linear manifolds. More...
 
class  FiberSurface
 TTK processing package that computes fiber surfaces. More...
 
class  FlatJaggedArray
 Replacement for std::vector<std::vector<SimplexId>> More...
 
class  FTMAtomicVector
 TTK processing package that manage a parallel vecrion of vector. More...
 
class  FTRAtomicVector
 TTK processing package that manage a parallel version of vector Same as in FTM: Common ? More...
 
class  GabowTarjan
 
class  GaussianPointCloud
 TTK gaussianPointCloud processing package that generates a 1D, 2D or 3D point cloud by randomly casting samples from a Gaussian distribution. More...
 
class  Good
 
class  Graph
 
class  HarmonicField
 TTK processing package for the topological simplification of scalar data. More...
 
class  HelloWorld
 
class  Icosphere
 
class  Identifiers
 
class  ImplicitCluster
 
class  ImplicitNoPreconditions
 Implicit Triangulation class without preconditioning. More...
 
class  ImplicitTriangulation
 ImplicitTriangulation is a class that provides time and memory efficient traversal methods on triangulations of piecewise linear manifolds represented by regular grids. More...
 
class  ImplicitTriangulationCRTP
 
class  ImplicitWithPreconditions
 Implicit Triangulation class with preconditioning. More...
 
class  IntegralLines
 TTK processing package for the computation of edge-based integral lines of the gradient of an input scalar field defined on a PL manifold. More...
 
class  JacobiSet
 TTK processing package for the computation of the Jacobi set of bivariate volumetric data. More...
 
class  KDTree
 TTK KD-Tree. More...
 
class  LDistance
 TTK lDistance processing package. More...
 
class  LDistanceMatrix
 
class  LegacyTopologicalSimplification
 TTK processing package for the topological simplification of scalar data. More...
 
class  Lock
 RAII wrapper around OpenMP lock. More...
 
class  LowestCommonAncestor
 Class to answer the lowest common ancestor requests of pairs of nodes in a tree in constant time after a linear time preprocess. More...
 
class  LRUCache
 LRU cache implementation. More...
 
class  MandatoryCriticalPoints
 TTK processing package for the computation of mandatory critical points in uncertain scalar data. More...
 
struct  mandatorySaddleComparison
 Comparison between mandatory saddles (Saddle id, Number of merged extrema) More...
 
class  ManifoldCheck
 TTK processing package for manifold checks. More...
 
class  MarchingTetrahedra
 TTK processing package for Marching Tetra/Triangles computations. More...
 
class  Memory
 
class  MergeTreeAxesAlgorithmBase
 
class  MergeTreeBarycenter
 
class  MergeTreeBase
 
class  MergeTreeClustering
 
class  MergeTreeDistance
 
class  MergeTreeDistanceMatrix
 
class  MergeTreePrincipalGeodesics
 
class  MergeTreePrincipalGeodesicsBase
 
class  MergeTreePrincipalGeodesicsDecoding
 
class  MergeTreeTemporalReductionDecoding
 
class  MergeTreeTemporalReductionEncoding
 
class  MergeTreeVisualization
 
class  MeshGraph
 TTK meshGraph processing package. More...
 
class  MetricDistortion
 
class  MorphologicalOperators
 TTK morphologicalOperators processing package. More...
 
class  MorseSmaleComplex
 TTK processing package for the computation of Morse-Smale complexes. More...
 
class  MorseSmaleQuadrangulation
 TTK processing package for the topological simplification of scalar data. More...
 
class  MultiresTopology
 TTK processing package for progressive Topological Data Analysis. More...
 
class  MultiresTriangulation
 MultiresTriangulation. More...
 
class  Node
 
class  OneSkeleton
 OneSkeleton processing package. More...
 
class  OsCall
 Os-specifics. More...
 
struct  pairComparison
 Comparison of the second member of a std::pair<int,double> More...
 
class  PathCompression
 TTK processing package for the computation of Morse-Smale segmentations using Path Compression. More...
 
class  PathMappingDistance
 
class  PDBarycenter
 
class  PDClustering
 
class  PDFBounds
 
class  PDFHistograms
 
class  PeriodicImplicitTriangulation
 TTK triangulation class for grids with periodic boundary conditions implemented in all directions. More...
 
class  PeriodicImplicitTriangulationCRTP
 
class  PeriodicNoPreconditions
 Periodic implicit Triangulation class without preconditioning. More...
 
class  PeriodicWithPreconditions
 Periodic implicit Triangulation class with preconditioning. More...
 
class  PersistenceCurve
 TTK processing package for the computation of persistence curves. More...
 
class  PersistenceDiagram
 TTK processing package for the computation of persistence diagrams. More...
 
class  PersistenceDiagramAuction
 
class  PersistenceDiagramAuctionActor
 
class  PersistenceDiagramBarycenter
 
class  PersistenceDiagramClustering
 TTK processing package for the computation of Wasserstein barycenters and K-Means clusterings of a set of persistence diagrams. More...
 
class  PersistenceDiagramDistanceMatrix
 
class  PersistenceMetric
 
struct  PersistencePair
 Persistence Pair. More...
 
class  PersistentGenerators
 TTK PersistentGenerators processing package. More...
 
class  PersistentSimplexPairs
 Textbook algorithm to find persistence pairs. More...
 
class  PlanarGraphLayout
 TTK planarGraphLayout processing package. More...
 
class  Program
 
class  ProgramBase
 Base editor class for standalone programs. This class parses the the command line, execute the TTK module and takes care of the IO. More...
 
class  ProgressiveTopology
 TTK processing package for progressive Topological Data Analysis. More...
 
class  ProjectionFromTable
 
class  Quadrangulation
 
class  QuadrangulationSubdivision
 TTK processing package for the topological simplification of scalar data. More...
 
class  RangeDrivenOctree
 TTK optional package for octree based range queries in bivariate volumetric data. More...
 
class  RangeMinimumQuery
 Class to answer range minimum queries in an array in constant time after a linearithmic time preprocess. More...
 
class  Ray
 Data structure for a ray. More...
 
class  ReebSpace
 TTK processing package that efficiently computes the Reeb space of bivariate volumetric data. More...
 
class  RegularGridTriangulation
 RegularGridTriangulation is an abstract subclass of ttk::AbstractTriangulation that exposes a common MPI API for triangulation on regular grids. The virtual methods in this class are meant to be implemented in ttk::ImplicitTriangulation and ttk::PeriodicImplicitTriangulation. This meta-class only holds an interface for MPI-related features for the moment but will maybe be enlarged in the future. More...
 
class  RipsComplex
 TTK VTK-filter that computes a Rips complex. More...
 
class  ScalarFieldCriticalPoints
 TTK processing package for the computation of critical points in PL scalar fields defined on PL manifolds. More...
 
class  ScalarFieldSmoother
 TTK processing package for scalar field smoothing. More...
 
class  SubLevelSetTree
 
class  SuperArc
 
class  SurfaceGeometrySmoother
 TTK VTK-filter for smoothing meshes on surfaces. More...
 
class  SweepCmp
 
class  ThreeSkeleton
 ThreeSkeleton processing package. More...
 
class  Timer
 
class  TopologicalCompression
 TTK topologicalCompression processing package. More...
 
class  TopologicalSimplification
 TTK processing package for the topological simplification of scalar data. More...
 
class  TrackingFromFields
 
class  TrackingFromOverlap
 TTK trackingFromOverlap processing package that tracks labeled point sets. More...
 
class  TrackingFromPersistenceDiagrams
 
class  Triangulation
 Triangulation is a class that provides time and memory efficient traversal methods on triangulations of piecewise linear manifolds. It provides the following features: More...
 
class  ttkCinemaImagingEmbree
 
class  ttkCinemaImagingNative
 
class  ttkCinemaImagingVTK
 
class  TwoSkeleton
 TwoSkeleton processing package. More...
 
class  UncertainDataEstimator
 TTK processing package that takes an input ensemble data set (represented by a list of scalar fields) and which computes various vertexwise statistics (PDF estimation, bounds, moments, etc.) More...
 
class  UnionFind
 Union Find implementation for connectivity tracking. More...
 
class  VisitedMask
 Auto-cleaning re-usable graph propagations data structure. More...
 
class  WebSocketIO
 
class  Wrapper
 Wrapper class to wrap ttk code. More...
 
class  ZeroSkeleton
 ZeroSkeleton processing package. More...
 

Typedefs

using triplet = std::tuple< ttk::SimplexId, ttk::SimplexId, ttk::SimplexId >
 Persistence pair type (with persistence in double)
 
using polarity = unsigned char
 
using LongSimplexId = long long int
 Identifier type for simplices of any dimension.
 
using SimplexId = int
 Identifier type for simplices of any dimension.
 
using ThreadId = int
 Identifier type for threads (i.e. with OpenMP).
 
using TaskId = int
 Identifier type for tasks (i.e. with OpenMP).
 
using real = double
 
using DiagramType = std::vector< PersistencePair >
 Persistence Diagram type as a vector of Persistence pairs.
 
using MatchingType = std::tuple< int, int, double >
 Matching between two Persistence Diagram pairs.
 
using GoodDiagram = std::vector< Good >
 
using BidderDiagram = std::vector< Bidder >
 
using trackingTuple = std::tuple< int, int, std::vector< SimplexId > >
 

Enumerations

enum class  CriticalType {
  Local_minimum = 0 , Saddle1 , Saddle2 , Local_maximum ,
  Degenerate , Regular
}
 default value for critical index More...
 
enum  Direction { Forward = 0 , Backward }
 
enum class  CompressionType { PersistenceDiagram = 0 , Other = 1 }
 

Functions

template<class dataType >
dataType getMaxValue (std::vector< std::vector< dataType > > &matrix, bool balancedAsgn)
 
template<typename dataType >
dataType getLowerBoundCost (std::vector< std::vector< dataType > > &costMatrix)
 
constexpr unsigned long long str2int (const char *str, int h=0)
 
template<typename scalarType , typename idType >
void sortVertices (const size_t nVerts, const scalarType *const scalars, const idType *const offsets, SimplexId *const order, const int nThreads)
 Sort vertices according to scalars disambiguated by offsets.
 
template<typename scalarType >
void preconditionOrderArray (const size_t nVerts, const scalarType *const scalars, SimplexId *const order, const int nThreads=ttk::globalThreadNumber_)
 Precondition an order array to be consumed by the base layer API.
 
template<typename T , typename U >
void shuffle (std::vector< T > &toShuffle, U &&rng)
 Platform-independent alternative to std::shuffle implementing the Fisher-Yates shuffle algorithm.
 
template<class dataType >
bool isDeathHigher (ftm::FTMTree_MT *tree1, ftm::idNode tree1Node, ftm::FTMTree_MT *tree2, ftm::idNode tree2Node)
 
template<class dataType >
dataType getMinMaxLocal (ftm::FTMTree_MT *tree, ftm::idNode nodeId, bool getMin=true)
 
template<class dataType >
std::tuple< dataType, dataType > getMinMaxLocalT (ftm::FTMTree_MT *tree, ftm::idNode nodeId)
 
template<class dataType >
std::tuple< double, double > getNormalizedBirthDeathDouble (ftm::FTMTree_MT *tree, ftm::idNode nodeId, dataType newMin=0.0, dataType newMax=1.0)
 
template<class dataType >
std::tuple< dataType, dataType > getNormalizedBirthDeath (ftm::FTMTree_MT *tree, ftm::idNode nodeId, dataType newMin=0.0, dataType newMax=1.0)
 
template<class dataType >
std::tuple< dataType, dataType > getParametrizedBirthDeath (ftm::FTMTree_MT *tree, ftm::idNode node, bool normalize)
 
template<class dataType >
dataType getMinMaxLocalFromVector (ftm::FTMTree_MT *tree, ftm::idNode nodeId, std::vector< dataType > &scalarsVector, bool getMin=true)
 
template<class dataType >
std::shared_ptr< ftm::FTMTree_MTmakeFakeTree (dataType *nodesScalar, std::vector< SimplexId > &nodes, std::vector< std::tuple< ftm::idNode, ftm::idNode > > &arcs)
 
template<class dataType >
ftm::MergeTree< dataType > makeFakeMergeTree (std::vector< dataType > &scalarsVector, std::vector< std::tuple< ftm::idNode, ftm::idNode > > &arcs)
 

Variables

COMMON_EXPORTS int globalThreadNumber_ = 1
 
COMMON_EXPORTS int MPIrank_ = -1
 
COMMON_EXPORTS int MPIsize_ = -1
 
const char MaskScalarFieldName [] = "ttkMaskScalarField"
 default name for mask scalar field
 
const char VertexScalarFieldName [] = "ttkVertexScalarField"
 default name for vertex scalar field
 
const char CellScalarFieldName [] = "ttkCellScalarField"
 default name for cell scalar field
 
const char OffsetScalarFieldName [] = "ttkOffsetScalarField"
 default name for offset scalar field
 
const char OffsetFieldUName [] = "ttkOffsetFieldU"
 default name for bivariate offset fields
 
const char OffsetFieldVName [] = "ttkOffsetFieldV"
 
const char MorseSmaleCellDimensionName [] = "CellDimension"
 
const char MorseSmaleCellIdName [] = "CellId"
 
const char MorseSmaleBoundaryName [] = "IsOnBoundary"
 
const char MorseSmaleManifoldSizeName [] = "ManifoldSize"
 
const char MorseSmaleSourceIdName [] = "SourceId"
 
const char MorseSmaleDestinationIdName [] = "DestinationId"
 
const char MorseSmaleSeparatrixIdName [] = "SeparatrixId"
 
const char MorseSmaleSeparatrixTypeName [] = "SeparatrixType"
 
const char MorseSmaleSeparatrixMaximumName [] = "SeparatrixFunctionMaximum"
 
const char MorseSmaleSeparatrixMinimumName [] = "SeparatrixFunctionMinimum"
 
const char MorseSmaleSeparatrixDifferenceName [] = "SeparatrixFunctionDifference"
 
const char MorseSmaleCriticalPointsOnBoundaryName [] = "NumberOfCriticalPointsOnBoundary"
 
const char MorseSmaleAscendingName [] = "AscendingManifold"
 
const char MorseSmaleDescendingName [] = "DescendingManifold"
 
const char MorseSmaleManifoldName [] = "MorseSmaleManifold"
 
const char PersistenceCriticalTypeName [] = "CriticalType"
 
const char PersistenceBirthName [] = "Birth"
 
const char PersistenceDeathName [] = "Death"
 
const char PersistenceCoordinatesName [] = "Coordinates"
 
const char PersistencePairIdentifierName [] = "PairIdentifier"
 
const char PersistenceName [] = "Persistence"
 
const char PersistencePairTypeName [] = "PairType"
 
const char PersistenceIsFinite [] = "IsFinite"
 
const char compactTriangulationIndex [] = "ttkCompactTriangulationIndex"
 
const int CriticalTypeNumber = 6
 number of different critical types
 
COMMON_EXPORTS bool welcomeMsg_ = true
 
COMMON_EXPORTS bool goodbyeMsg_ = true
 
COMMON_EXPORTS int globalDebugLevel_ = 0
 

Detailed Description

The Topology ToolKit.

Minimalist namespace that handles simple statistics computations (mean, variance, correlation etc.).

Minimalist namespace that handles simple geometric computations (operations on std::vectors, barycentric coordinates, etc.).

TTK structures for the reeb graph.

Parameters
dataTypeData type of the input scalar field (char, float, etc.).

Related publication
"Contour Forests: Fast Multi-threaded Augmented Contour Trees"
Charles Gueunet, Pierre Fortin, Julien Jomier, Julien Tierny
Proc. of IEEE LDAV 2016.

Parameters
dataTypeData type of the input scalar field (char, float, etc.).
Author
Mathieu Pont (mathi.nosp@m.eu.p.nosp@m.ont@l.nosp@m.ip6..nosp@m.fr)
Date
2021.

Utils function for manipulating FTMTree class

Parameters
dataTypeData type of the input scalar field (char, float, etc.).
See also
ttkPersistenceDiagram.cpp for a usage example.
Author
Charles Gueunet charl.nosp@m.es.g.nosp@m.ueune.nosp@m.t@li.nosp@m.p6.fr
Date
2018-01-22
Author
Julien Tierny julie.nosp@m.n.ti.nosp@m.erny@.nosp@m.lip6.nosp@m..fr
Date
February 2016.

It is used in ttk::ProgressiveTopology for the definition of efficient progressive algorithms for the computation of critical points and extremum-saddle persistence diagrams.

It is also used in ttk::ApproximateTopology for the approximate computation of the extremum-saddle persistence diagrams with guarantees.

Related publications
"A Progressive Approach to Scalar Field Topology"
Jules Vidal, Pierre Guillou, Julien Tierny
IEEE Transactions on Visualization and Computer Graphics, 2021

"Fast Approximation of Persistence Diagrams with Guarantees"
Jules Vidal, Julien Tierny
IEEE Symposium on Large Data Visualization and Analysis (LDAV), 2021

See also
ProgressiveTopology
ApproximateTopology
Author
Mathieu Pont mathi.nosp@m.eu.p.nosp@m.ont@l.nosp@m.ip6..nosp@m.fr
Date
September 2022.

Typedef Documentation

◆ BidderDiagram

using ttk::BidderDiagram = typedef std::vector<Bidder>

Definition at line 320 of file PersistenceDiagramAuctionActor.h.

◆ DiagramType

using ttk::DiagramType = typedef std::vector<PersistencePair>

Persistence Diagram type as a vector of Persistence pairs.

Definition at line 58 of file PersistenceDiagramUtils.h.

◆ GoodDiagram

using ttk::GoodDiagram = typedef std::vector<Good>

Definition at line 192 of file PersistenceDiagramAuctionActor.h.

◆ LongSimplexId

using ttk::LongSimplexId = typedef long long int

Identifier type for simplices of any dimension.

Definition at line 15 of file DataTypes.h.

◆ MatchingType

using ttk::MatchingType = typedef std::tuple<int, int, double >

Matching between two Persistence Diagram pairs.

Definition at line 63 of file PersistenceDiagramUtils.h.

◆ polarity

typedef unsigned char ttk::polarity

Definition at line 34 of file ApproximateTopology.h.

◆ real

using ttk::real = typedef double

Definition at line 58 of file Os.h.

◆ SimplexId

using ttk::SimplexId = typedef int

Identifier type for simplices of any dimension.

Definition at line 22 of file DataTypes.h.

◆ TaskId

using ttk::TaskId = typedef int

Identifier type for tasks (i.e. with OpenMP).

Definition at line 29 of file DataTypes.h.

◆ ThreadId

using ttk::ThreadId = typedef int

Identifier type for threads (i.e. with OpenMP).

Definition at line 26 of file DataTypes.h.

◆ trackingTuple

using ttk::trackingTuple = typedef std::tuple<int, int, std::vector<SimplexId> >

Definition at line 14 of file TrackingFromPersistenceDiagrams.h.

◆ triplet

Persistence pair type (with persistence in double)

Definition at line 33 of file ApproximateTopology.h.

Enumeration Type Documentation

◆ CompressionType

enum class ttk::CompressionType
strong
Enumerator
PersistenceDiagram 
Other 

Definition at line 28 of file TopologicalCompression.h.

◆ CriticalType

enum class ttk::CriticalType
strong

default value for critical index

Enumerator
Local_minimum 
Saddle1 
Saddle2 
Local_maximum 
Degenerate 
Regular 

Definition at line 80 of file DataTypes.h.

◆ Direction

Enumerator
Forward 
Backward 

Definition at line 112 of file IntegralLines.h.

Function Documentation

◆ getLowerBoundCost()

template<typename dataType >
dataType ttk::getLowerBoundCost ( std::vector< std::vector< dataType > > &  costMatrix)

Definition at line 228 of file AssignmentAuction.h.

◆ getMaxValue()

template<class dataType >
dataType ttk::getMaxValue ( std::vector< std::vector< dataType > > &  matrix,
bool  balancedAsgn 
)

Definition at line 101 of file AssignmentAuction.h.

◆ getMinMaxLocal()

template<class dataType >
dataType ttk::getMinMaxLocal ( ftm::FTMTree_MT tree,
ftm::idNode  nodeId,
bool  getMin = true 
)

Definition at line 30 of file MergeTreeUtils.h.

◆ getMinMaxLocalFromVector()

template<class dataType >
dataType ttk::getMinMaxLocalFromVector ( ftm::FTMTree_MT tree,
ftm::idNode  nodeId,
std::vector< dataType > &  scalarsVector,
bool  getMin = true 
)

Definition at line 111 of file MergeTreeUtils.h.

◆ getMinMaxLocalT()

template<class dataType >
std::tuple< dataType, dataType > ttk::getMinMaxLocalT ( ftm::FTMTree_MT tree,
ftm::idNode  nodeId 
)

Definition at line 56 of file MergeTreeUtils.h.

◆ getNormalizedBirthDeath()

template<class dataType >
std::tuple< dataType, dataType > ttk::getNormalizedBirthDeath ( ftm::FTMTree_MT tree,
ftm::idNode  nodeId,
dataType  newMin = 0.0,
dataType  newMax = 1.0 
)

Definition at line 84 of file MergeTreeUtils.h.

◆ getNormalizedBirthDeathDouble()

template<class dataType >
std::tuple< double, double > ttk::getNormalizedBirthDeathDouble ( ftm::FTMTree_MT tree,
ftm::idNode  nodeId,
dataType  newMin = 0.0,
dataType  newMax = 1.0 
)

Definition at line 65 of file MergeTreeUtils.h.

◆ getParametrizedBirthDeath()

template<class dataType >
std::tuple< dataType, dataType > ttk::getParametrizedBirthDeath ( ftm::FTMTree_MT tree,
ftm::idNode  node,
bool  normalize 
)

Definition at line 104 of file MergeTreeUtils.h.

◆ isDeathHigher()

template<class dataType >
bool ttk::isDeathHigher ( ftm::FTMTree_MT tree1,
ftm::idNode  tree1Node,
ftm::FTMTree_MT tree2,
ftm::idNode  tree2Node 
)

Definition at line 15 of file MergeTreeUtils.h.

◆ makeFakeMergeTree()

template<class dataType >
ftm::MergeTree< dataType > ttk::makeFakeMergeTree ( std::vector< dataType > &  scalarsVector,
std::vector< std::tuple< ftm::idNode, ftm::idNode > > &  arcs 
)

Definition at line 164 of file MergeTreeUtils.h.

◆ makeFakeTree()

template<class dataType >
std::shared_ptr< ftm::FTMTree_MT > ttk::makeFakeTree ( dataType *  nodesScalar,
std::vector< SimplexId > &  nodes,
std::vector< std::tuple< ftm::idNode, ftm::idNode > > &  arcs 
)

Definition at line 137 of file MergeTreeUtils.h.

◆ preconditionOrderArray()

template<typename scalarType >
void ttk::preconditionOrderArray ( const size_t  nVerts,
const scalarType *const  scalars,
SimplexId *const  order,
const int  nThreads = ttk::globalThreadNumber_ 
)
inline

Precondition an order array to be consumed by the base layer API.

Parameters
[in]nVertsnumber of vertices
[in]scalarspointer to scalar field buffer of size nVerts
[out]orderpointer to pre-allocated order buffer of size nVerts
[in]nThreadsnumber of threads to be used

Definition at line 70 of file OrderDisambiguation.h.

◆ shuffle()

template<typename T , typename U >
void ttk::shuffle ( std::vector< T > &  toShuffle,
U &&  rng 
)

Platform-independent alternative to std::shuffle implementing the Fisher-Yates shuffle algorithm.

Parameters
[in,out]toShuffleVector of elements to be shuffled
[in]rngRandom number generator

Definition at line 13 of file Shuffle.h.

◆ sortVertices()

template<typename scalarType , typename idType >
void ttk::sortVertices ( const size_t  nVerts,
const scalarType *const  scalars,
const idType *const  offsets,
SimplexId *const  order,
const int  nThreads 
)

Sort vertices according to scalars disambiguated by offsets.

Parameters
[in]nVertsnumber of vertices
[in]scalarsarray of size nVerts, main vertex comparator
[in]offsetsarray of size nVerts, disambiguate scalars on plateaux
[out]orderarray of size nVerts, computed order of vertices
[in]nThreadsnumber of parallel threads

Definition at line 20 of file OrderDisambiguation.h.

◆ str2int()

constexpr unsigned long long ttk::str2int ( const char *  str,
int  h = 0 
)
constexpr

Definition at line 11 of file BottleneckDistance.h.

Variable Documentation

◆ CellScalarFieldName

const char ttk::CellScalarFieldName[] = "ttkCellScalarField"

default name for cell scalar field

Definition at line 38 of file DataTypes.h.

◆ compactTriangulationIndex

const char ttk::compactTriangulationIndex[] = "ttkCompactTriangulationIndex"

Definition at line 77 of file DataTypes.h.

◆ CriticalTypeNumber

const int ttk::CriticalTypeNumber = 6

number of different critical types

Definition at line 89 of file DataTypes.h.

◆ globalDebugLevel_

COMMON_EXPORTS int ttk::globalDebugLevel_ = 0
extern

Definition at line 8 of file Debug.cpp.

◆ globalThreadNumber_

COMMON_EXPORTS int ttk::globalThreadNumber_ = 1
extern

Definition at line 6 of file BaseClass.cpp.

◆ goodbyeMsg_

COMMON_EXPORTS bool ttk::goodbyeMsg_ = true
extern

Definition at line 7 of file Debug.cpp.

◆ MaskScalarFieldName

const char ttk::MaskScalarFieldName[] = "ttkMaskScalarField"

default name for mask scalar field

Definition at line 32 of file DataTypes.h.

◆ MorseSmaleAscendingName

const char ttk::MorseSmaleAscendingName[] = "AscendingManifold"

Definition at line 62 of file DataTypes.h.

◆ MorseSmaleBoundaryName

const char ttk::MorseSmaleBoundaryName[] = "IsOnBoundary"

Definition at line 50 of file DataTypes.h.

◆ MorseSmaleCellDimensionName

const char ttk::MorseSmaleCellDimensionName[] = "CellDimension"

Definition at line 48 of file DataTypes.h.

◆ MorseSmaleCellIdName

const char ttk::MorseSmaleCellIdName[] = "CellId"

Definition at line 49 of file DataTypes.h.

◆ MorseSmaleCriticalPointsOnBoundaryName

const char ttk::MorseSmaleCriticalPointsOnBoundaryName[] = "NumberOfCriticalPointsOnBoundary"

Definition at line 60 of file DataTypes.h.

◆ MorseSmaleDescendingName

const char ttk::MorseSmaleDescendingName[] = "DescendingManifold"

Definition at line 63 of file DataTypes.h.

◆ MorseSmaleDestinationIdName

const char ttk::MorseSmaleDestinationIdName[] = "DestinationId"

Definition at line 53 of file DataTypes.h.

◆ MorseSmaleManifoldName

const char ttk::MorseSmaleManifoldName[] = "MorseSmaleManifold"

Definition at line 64 of file DataTypes.h.

◆ MorseSmaleManifoldSizeName

const char ttk::MorseSmaleManifoldSizeName[] = "ManifoldSize"

Definition at line 51 of file DataTypes.h.

◆ MorseSmaleSeparatrixDifferenceName

const char ttk::MorseSmaleSeparatrixDifferenceName[] = "SeparatrixFunctionDifference"

Definition at line 58 of file DataTypes.h.

◆ MorseSmaleSeparatrixIdName

const char ttk::MorseSmaleSeparatrixIdName[] = "SeparatrixId"

Definition at line 54 of file DataTypes.h.

◆ MorseSmaleSeparatrixMaximumName

const char ttk::MorseSmaleSeparatrixMaximumName[] = "SeparatrixFunctionMaximum"

Definition at line 56 of file DataTypes.h.

◆ MorseSmaleSeparatrixMinimumName

const char ttk::MorseSmaleSeparatrixMinimumName[] = "SeparatrixFunctionMinimum"

Definition at line 57 of file DataTypes.h.

◆ MorseSmaleSeparatrixTypeName

const char ttk::MorseSmaleSeparatrixTypeName[] = "SeparatrixType"

Definition at line 55 of file DataTypes.h.

◆ MorseSmaleSourceIdName

const char ttk::MorseSmaleSourceIdName[] = "SourceId"

Definition at line 52 of file DataTypes.h.

◆ MPIrank_

COMMON_EXPORTS int ttk::MPIrank_ = -1
extern

Definition at line 9 of file BaseClass.cpp.

◆ MPIsize_

COMMON_EXPORTS int ttk::MPIsize_ = -1
extern

Definition at line 10 of file BaseClass.cpp.

◆ OffsetFieldUName

const char ttk::OffsetFieldUName[] = "ttkOffsetFieldU"

default name for bivariate offset fields

Definition at line 44 of file DataTypes.h.

◆ OffsetFieldVName

const char ttk::OffsetFieldVName[] = "ttkOffsetFieldV"

Definition at line 45 of file DataTypes.h.

◆ OffsetScalarFieldName

const char ttk::OffsetScalarFieldName[] = "ttkOffsetScalarField"

default name for offset scalar field

Definition at line 41 of file DataTypes.h.

◆ PersistenceBirthName

const char ttk::PersistenceBirthName[] = "Birth"

Definition at line 68 of file DataTypes.h.

◆ PersistenceCoordinatesName

const char ttk::PersistenceCoordinatesName[] = "Coordinates"

Definition at line 70 of file DataTypes.h.

◆ PersistenceCriticalTypeName

const char ttk::PersistenceCriticalTypeName[] = "CriticalType"

Definition at line 67 of file DataTypes.h.

◆ PersistenceDeathName

const char ttk::PersistenceDeathName[] = "Death"

Definition at line 69 of file DataTypes.h.

◆ PersistenceIsFinite

const char ttk::PersistenceIsFinite[] = "IsFinite"

Definition at line 74 of file DataTypes.h.

◆ PersistenceName

const char ttk::PersistenceName[] = "Persistence"

Definition at line 72 of file DataTypes.h.

◆ PersistencePairIdentifierName

const char ttk::PersistencePairIdentifierName[] = "PairIdentifier"

Definition at line 71 of file DataTypes.h.

◆ PersistencePairTypeName

const char ttk::PersistencePairTypeName[] = "PairType"

Definition at line 73 of file DataTypes.h.

◆ VertexScalarFieldName

const char ttk::VertexScalarFieldName[] = "ttkVertexScalarField"

default name for vertex scalar field

Definition at line 35 of file DataTypes.h.

◆ welcomeMsg_

COMMON_EXPORTS bool ttk::welcomeMsg_ = true
extern

Definition at line 6 of file Debug.cpp.