|
void | SetEpsilon1UseFarthestSaddle (bool epsilon1UseFarthestSaddle) |
|
virtual bool | GetEpsilon1UseFarthestSaddle () |
|
void | SetEpsilonTree1 (double epsilonTree1) |
|
virtual double | GetEpsilonTree1 () |
|
void | SetEpsilon2Tree1 (double epsilon2Tree1) |
|
virtual double | GetEpsilon2Tree1 () |
|
void | SetEpsilon3Tree1 (double epsilon3Tree1) |
|
virtual double | GetEpsilon3Tree1 () |
|
void | SetPersistenceThreshold (double persistenceThreshold) |
|
virtual double | GetPersistenceThreshold () |
|
void | SetUseMinMaxPair (bool useMinMaxPair) |
|
virtual bool | GetUseMinMaxPair () |
|
void | SetDeleteMultiPersPairs (bool deleteMultiPersPairs) |
|
virtual bool | GetDeleteMultiPersPairs () |
|
void | SetBackend (int newBackend) |
|
virtual int | GetBackend () |
|
void | SetAlpha (double alpha) |
|
virtual double | GetAlpha () |
|
void | SetAssignmentSolver (int assignmentSolver) |
|
virtual int | GetAssignmentSolver () |
|
void | SetBranchDecomposition (bool branchDecomposition) |
|
virtual bool | GetBranchDecomposition () |
|
void | SetDeterministic (bool deterministic) |
|
virtual bool | GetDeterministic () |
|
void | SetNormalizedWasserstein (bool normalizedWasserstein) |
|
virtual bool | GetNormalizedWasserstein () |
|
void | SetKeepSubtree (bool keepSubtree) |
|
virtual bool | GetKeepSubtree () |
|
void | SetJoinSplitMixtureCoefficient (double joinSplitMixtureCoefficient) |
|
virtual double | GetJoinSplitMixtureCoefficient () |
|
void | SetComputeBarycenter (bool computeBarycenter) |
|
virtual bool | GetComputeBarycenter () |
|
void | SetNumberOfBarycenters (unsigned int numberOfBarycenters) |
|
virtual unsigned int | GetNumberOfBarycenters () |
|
void | SetBarycenterSizeLimitPercent (double percent) |
|
virtual double | GetBarycenterSizeLimitPercent () |
|
void | SetBranchMetric (int m) |
|
void | SetPathMetric (int m) |
|
void | SetNonMatchingWeight (double weight) |
|
virtual double | GetNonMatchingWeight () |
|
virtual void | SetBarycenterPositionAlpha (bool) |
|
virtual bool | GetBarycenterPositionAlpha () |
|
virtual void | SetOutputTrees (bool) |
|
virtual bool | GetOutputTrees () |
|
virtual void | SetOutputSegmentation (bool) |
|
virtual bool | GetOutputSegmentation () |
|
virtual void | SetPlanarLayout (bool) |
|
virtual bool | GetPlanarLayout () |
|
virtual void | SetBranchDecompositionPlanarLayout (bool) |
|
virtual bool | GetBranchDecompositionPlanarLayout () |
|
virtual void | SetBranchSpacing (double) |
|
virtual double | GetBranchSpacing () |
|
virtual void | SetRescaleTreesIndividually (bool) |
|
virtual bool | GetRescaleTreesIndividually () |
|
virtual void | SetDimensionSpacing (double) |
|
virtual double | GetDimensionSpacing () |
|
virtual void | SetDimensionToShift (int) |
|
virtual int | GetDimensionToShift () |
|
virtual void | SetImportantPairs (double) |
|
virtual double | GetImportantPairs () |
|
virtual void | SetMaximumImportantPairs (int) |
|
virtual int | GetMaximumImportantPairs () |
|
virtual void | SetMinimumImportantPairs (int) |
|
virtual int | GetMinimumImportantPairs () |
|
virtual void | SetImportantPairsSpacing (double) |
|
virtual double | GetImportantPairsSpacing () |
|
virtual void | SetNonImportantPairsSpacing (double) |
|
virtual double | GetNonImportantPairsSpacing () |
|
virtual void | SetNonImportantPairsProximity (double) |
|
virtual double | GetNonImportantPairsProximity () |
|
virtual void | SetExcludeImportantPairsLower (const std::string &) |
|
virtual std::string | GetExcludeImportantPairsLower () |
|
virtual void | SetExcludeImportantPairsHigher (const std::string &) |
|
virtual std::string | GetExcludeImportantPairsHigher () |
|
virtual const char * | GetClassName () |
|
virtual int | IsA (const char *type) |
|
template<class dataType > |
int | runCompute (vtkInformationVector *ttkNotUsed(outputVector), std::vector< vtkSmartPointer< vtkMultiBlockDataSet > > &inputTrees, std::vector< vtkSmartPointer< vtkMultiBlockDataSet > > &inputTrees2) |
|
template<class dataType > |
int | runOutput (vtkInformationVector *outputVector, std::vector< vtkSmartPointer< vtkMultiBlockDataSet > > &inputTrees, std::vector< vtkSmartPointer< vtkMultiBlockDataSet > > &ttkNotUsed(inputTrees2)) |
|
void | UpdateThreadNumber () |
|
void | SetThreadNumber (int threadNumber) |
|
void | SetUseAllCores (bool useAllCores) |
|
void | SetDebugLevel (int debugLevel) |
|
void | SetCompactTriangulationCacheSize (float cacheSize) |
|
vtkDataArray * | GetOptionalArray (const bool &enforceArrayIndex, const int &arrayIndex, const std::string &arrayName, vtkDataSet *const inputData, const int &inputPort=0) |
|
vtkDataArray * | GetOrderArray (vtkDataSet *const inputData, const int scalarArrayIdx, ttk::Triangulation *triangulation, const bool getGlobalOrder=false, const int orderArrayIdx=0, const bool enforceOrderArrayIdx=false) |
|
vtkDataArray * | checkForGlobalAndComputeOrderArray (vtkDataSet *const inputData, vtkDataArray *scalarArray, const int scalarArrayIdx, const bool getGlobalOrder, vtkDataArray *orderArray, ttk::Triangulation *triangulation, const bool enforceOrderArrayIdx) |
|
vtkDataArray * | ComputeOrderArray (vtkDataSet *const inputData, vtkDataArray *scalarArray, const int scalarArrayIdx, const bool getGlobalOrder, vtkDataArray *oldOrderArray, ttk::Triangulation *triangulation) |
|
ttk::SimplexId * | GetIdentifierArrayPtr (const bool &enforceArrayIndex, const int &arrayIndex, const std::string &arrayName, vtkDataSet *const inputData, std::vector< ttk::SimplexId > &spareStorage, const int inputPort=0, const bool printErr=true) |
|
ttk::Triangulation * | GetTriangulation (vtkDataSet *dataSet) |
|
int | ProcessRequest (vtkInformation *request, vtkInformationVector **inputVectors, vtkInformationVector *outputVector) override |
|
vtkDataSet * | GetOutput () |
|
vtkDataSet * | GetOutput (int) |
|
void | SetInputData (vtkDataSet *) |
|
void | SetInputData (int, vtkDataSet *) |
|
void | AddInputData (vtkDataSet *) |
|
void | AddInputData (int, vtkDataSet *) |
|
template<typename inputType > |
int | checkEmptyMPIInput (inputType *input) |
| This method tests whether the input is a nullptr. If the computation is being done on multiple processes, it is possible that the domain of one process or more is empty, but not others, therefore in that particular case the rest of the filter will not be computed but an error message will not be sent.
|
|
| 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) |
|
|
| ttkMergeTreeClustering () |
|
| ~ttkMergeTreeClustering () override |
|
int | FillInputPortInformation (int port, vtkInformation *info) override |
|
int | FillOutputPortInformation (int port, vtkInformation *info) override |
|
int | RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override |
|
template<class dataType > |
int | run (vtkInformationVector *outputVector, std::vector< vtkSmartPointer< vtkMultiBlockDataSet > > &inputTrees, std::vector< vtkSmartPointer< vtkMultiBlockDataSet > > &inputTrees2) |
|
template<class dataType > |
int | runCompute (vtkInformationVector *outputVector, std::vector< vtkSmartPointer< vtkMultiBlockDataSet > > &inputTrees, std::vector< vtkSmartPointer< vtkMultiBlockDataSet > > &inputTrees2) |
|
template<class dataType > |
int | runOutput (vtkInformationVector *outputVector, std::vector< vtkSmartPointer< vtkMultiBlockDataSet > > &inputTrees, std::vector< vtkSmartPointer< vtkMultiBlockDataSet > > &inputTrees2) |
|
| ttkAlgorithm () |
|
| ~ttkAlgorithm () override |
|
void | MPIGhostPipelinePreconditioning (vtkDataSet *input) |
|
void | MPIPipelinePreconditioning (vtkDataSet *input, std::vector< int > &neighbors, std::map< int, int > &neighToId, ttk::Triangulation *triangulation=nullptr) |
|
bool | checkGlobalIdValidity (ttk::LongSimplexId *globalIds, ttk::SimplexId simplexNumber, unsigned char *ghost, int *rankArray) |
|
int | GenerateGlobalIds (vtkDataSet *input, std::unordered_map< ttk::SimplexId, ttk::SimplexId > &vertGtoL, std::vector< int > &neighborRanks, std::map< int, int > &neighborsToId) |
|
void | MPITriangulationPreconditioning (ttk::Triangulation *triangulation, vtkDataSet *input) |
|
virtual int | RequestDataObject (vtkInformation *request, vtkInformationVector **inputVectors, vtkInformationVector *outputVector) |
|
virtual int | RequestInformation (vtkInformation *ttkNotUsed(request), vtkInformationVector **ttkNotUsed(inputVectors), vtkInformationVector *ttkNotUsed(outputVector)) |
|
virtual int | RequestUpdateTime (vtkInformation *ttkNotUsed(request), vtkInformationVector **ttkNotUsed(inputVectors), vtkInformationVector *ttkNotUsed(outputVector)) |
|
virtual int | RequestUpdateTimeDependentInformation (vtkInformation *ttkNotUsed(request), vtkInformationVector **ttkNotUsed(inputVectors), vtkInformationVector *ttkNotUsed(outputVector)) |
|
virtual int | RequestUpdateExtent (vtkInformation *ttkNotUsed(request), vtkInformationVector **ttkNotUsed(inputVectors), vtkInformationVector *ttkNotUsed(outputVector)) |
|
virtual int | RequestDataNotGenerated (vtkInformation *ttkNotUsed(request), vtkInformationVector **ttkNotUsed(inputVectors), vtkInformationVector *ttkNotUsed(outputVector)) |
|
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 |
|
int | printMsgInternal (const std::string &msg, const std::string &right, const std::string &filler, const debug::Priority &priority=debug::Priority::INFO, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
|
int | printMsgInternal (const std::string &msg, const debug::Priority &priority, const debug::LineMode &lineMode, std::ostream &stream=std::cout) const |
|
int | welcomeMsg (std::ostream &stream) |
|
TTK VTK-filter that wraps the ttk::MergeTreeClustering module.
- Author
- Mathieu Pont (mathi.nosp@m.eu.p.nosp@m.ont@l.nosp@m.ip6..nosp@m.fr)
- Date
- 2021.
This VTK filter uses the ttk::MergeTreeClustering module to compute the edit distance between two merge trees.
- Parameters
-
Input | vtkMultiBlockDataSet Input trees |
Input | (optional) vtkMultiBlockDataSet Input trees |
Output | vtkMultiBlockDataSet Input trees (processed) |
Output | vtkMultiBlockDataSet Centroids trees |
Output | vtkMultiBlockDataSet Matchings |
This filter can be used as any other VTK filter (for instance, by using the sequence of calls SetInputData(), Update(), GetOutputDataObject()).
See the related ParaView example state files for usage examples within a VTK pipeline.
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
- See also
- ttk::MergeTreeClustering
-
ttkAlgorithm
Online examples:
Definition at line 62 of file ttkMergeTreeClustering.h.