TTK
Loading...
Searching...
No Matches
ttkTrackingFromPersistenceDiagrams.h
Go to the documentation of this file.
1#pragma once
2
4#include <ttkAlgorithm.h>
5
6// VTK Module
7#include <ttkTrackingFromPersistenceDiagramsModule.h>
8#include <vtkUnstructuredGrid.h>
9
10class vtkUnstructuredGrid;
11
12class TTKTRACKINGFROMPERSISTENCEDIAGRAMS_EXPORT
14 : public ttkAlgorithm,
16
17public:
19
21
22 vtkSetMacro(Tolerance, double);
23 vtkGetMacro(Tolerance, double);
24
25 vtkSetMacro(PX, double);
26 vtkGetMacro(PX, double);
27
28 vtkSetMacro(PY, double);
29 vtkGetMacro(PY, double);
30
31 vtkSetMacro(PZ, double);
32 vtkGetMacro(PZ, double);
33
34 vtkSetMacro(PE, double);
35 vtkGetMacro(PE, double);
36
37 vtkSetMacro(PS, double);
38 vtkGetMacro(PS, double);
39
40 vtkSetMacro(WassersteinMetric, const std::string &);
41 vtkGetMacro(WassersteinMetric, std::string);
42
43 vtkSetMacro(DistanceAlgorithm, const std::string &);
44 vtkGetMacro(DistanceAlgorithm, std::string);
45
46 vtkSetMacro(PVAlgorithm, int);
47 vtkGetMacro(PVAlgorithm, int);
48
49 vtkSetMacro(UseGeometricSpacing, bool);
50 vtkGetMacro(UseGeometricSpacing, bool);
51
52 vtkSetMacro(Spacing, double);
53 vtkGetMacro(Spacing, double);
54
55 vtkSetMacro(DoPostProc, bool);
56 vtkGetMacro(DoPostProc, bool);
57
58 vtkSetMacro(PostProcThresh, double);
59 vtkGetMacro(PostProcThresh, double);
60
61 static int buildMesh(
62 const std::vector<ttk::trackingTuple> &trackings,
63 const std::vector<std::vector<ttk::MatchingType>> &outputMatchings,
64 const std::vector<ttk::DiagramType> &inputPersistenceDiagrams,
65 const bool useGeometricSpacing,
66 const double spacing,
67 const bool doPostProc,
68 const std::vector<std::set<int>> &trackingTupleToMerged,
69 vtkPoints *points,
70 vtkUnstructuredGrid *persistenceDiagram,
71 vtkDoubleArray *persistenceScalars,
72 vtkDoubleArray *valueScalars,
73 vtkIntArray *matchingIdScalars,
74 vtkIntArray *lengthScalars,
75 vtkIntArray *timeScalars,
76 vtkIntArray *componentIds,
77 vtkIntArray *pointTypeScalars,
78 const ttk::Debug &dbg);
79
80protected:
82
83 int FillInputPortInformation(int port, vtkInformation *info) override;
84 int FillOutputPortInformation(int port, vtkInformation *info) override;
85
86 int RequestData(vtkInformation *request,
87 vtkInformationVector **inputVector,
88 vtkInformationVector *outputVector) override;
89
90private:
91 // Input bottleneck config.
92 bool UseGeometricSpacing{false};
93 bool DoPostProc{false};
94 double PostProcThresh{0.0};
95 double Spacing{1.0};
96 double Tolerance{1.0};
97 double PX{1};
98 double PY{1};
99 double PZ{1};
100 double PE{1};
101 double PS{1};
102 std::string DistanceAlgorithm{"ttk"};
103 int PVAlgorithm{-1};
104 std::string WassersteinMetric{"1"};
105};
Baseclass of all VTK filters that wrap ttk modules.
virtual int RequestData(vtkInformation *ttkNotUsed(request), vtkInformationVector **ttkNotUsed(inputVectors), vtkInformationVector *ttkNotUsed(outputVector))
int FillInputPortInformation(int ttkNotUsed(port), vtkInformation *ttkNotUsed(info)) override
int FillOutputPortInformation(int ttkNotUsed(port), vtkInformation *ttkNotUsed(info)) override
static ttkTrackingFromPersistenceDiagrams * New()
Minimalist debugging class.
Definition Debug.h:88