TTK
|
TTK VTK-filter that wraps the ttk::MergeTreeAutoencoder module. More...
#include <ttkMergeTreeAutoencoder.h>
Public Types | |
typedef ttkAlgorithm | Superclass |
![]() | |
typedef vtkAlgorithm | Superclass |
Public Member Functions | |
void | SetInputArrayToProcess (const char *name) |
void | SetDoCompute (bool doCompute) |
bool | GetDoCompute () |
void | SetNormalizedWasserstein (bool nW) |
bool | GetNormalizedWasserstein () |
void | SetNumberOfEncoderLayers (unsigned int numberOfEncoderLayers) |
unsigned int | GetNumberOfEncoderLayers () |
void | SetScaleLayerAfterLatent (unsigned int scaleLayerAfterLatent) |
unsigned int | GetScaleLayerAfterLatent () |
void | SetInputNumberOfAxes (unsigned int numberOfAxes) |
unsigned int | GetInputNumberOfAxes () |
void | SetInputOriginPrimeSizePercent (double originSize) |
double | GetInputOriginPrimeSizePercent () |
void | SetNumberOfAxes (unsigned int numberOfAxes) |
unsigned int | GetNumberOfAxes () |
void | SetLatentSpaceOriginPrimeSizePercent (double originSize) |
double | GetLatentSpaceOriginPrimeSizePercent () |
void | SetNumberOfProjectionSteps (unsigned int noSteps) |
unsigned int | GetNumberOfProjectionSteps () |
void | SetBarycenterSizeLimitPercent (double percent) |
double | GetBarycenterSizeLimitPercent () |
void | SetMinIteration (unsigned int minIteration) |
unsigned int | GetMinIteration () |
void | SetMaxIteration (unsigned int maxIteration) |
unsigned int | GetMaxIteration () |
void | SetIterationGap (unsigned int iterationGap) |
double | GetIterationGap () |
void | SetBatchSize (double bs) |
double | GetBatchSize () |
void | SetOptimizer (int optimizer) |
int | GetOptimizer () |
void | SetGradientStepSize (double lr) |
double | GetGradientStepSize () |
void | SetBeta1 (double beta) |
double | GetBeta1 () |
void | SetBeta2 (double beta) |
double | GetBeta2 () |
void | SetReconstructionLossWeight (double reconstructionLossWeight) |
double | GetReconstructionLossWeight () |
void | SetTrackingLossWeight (double trackingLossWeight) |
double | GetTrackingLossWeight () |
void | SetMetricLossWeight (double metricLossWeight) |
double | GetMetricLossWeight () |
void | SetClusteringLossWeight (double clusteringLossWeight) |
double | GetClusteringLossWeight () |
void | SetCustomLossSpace (bool customLossSpace) |
bool | GetCustomLossSpace () |
void | SetCustomLossActivate (bool customLossActivate) |
bool | GetCustomLossActivate () |
void | SetNormalizeMetricLoss (bool normalizeMetricLoss) |
bool | GetNormalizeMetricLoss () |
void | SetClusteringLossTemperature (double clusteringLossTemperature) |
double | GetClusteringLossTemperature () |
void | SetCustomLossDynamicWeight (bool customLossDynamicWeight) |
bool | GetCustomLossDynamicWeight () |
void | SetNumberOfInit (unsigned int noInit) |
unsigned int | GetNumberOfInit () |
void | SetEuclideanVectorsInit (bool euclideanVectorsInit) |
bool | GetEuclideanVectorsInit () |
void | SetInitOriginPrimeStructByCopy (bool initOriginPrimeStructByCopy) |
bool | GetInitOriginPrimeStructByCopy () |
void | SetTrackingLossDecoding (double trackingLossDecoding) |
double | GetTrackingLossDecoding () |
void | SetTrackingLossInitRandomness (double trackingLossInitRandomness) |
double | GetTrackingLossInitRandomness () |
void | SetDeterministic (bool deterministic) |
bool | GetDeterministic () |
void | SetActivate (bool activate) |
bool | GetActivate () |
void | SetActivationFunction (unsigned int activationFunction) |
unsigned int | GetActivationFunction () |
void | SetFullSymmetricAE (bool fullSymmetricAE) |
bool | GetFullSymmetricAE () |
void | SetActivateOutputInit (bool activateOutputInit) |
bool | GetActivateOutputInit () |
void | SetJoinSplitMixtureCoefficient (double joinSplitMixtureCoefficient) |
double | GetJoinSplitMixtureCoefficient () |
void | SetEpsilon1UseFarthestSaddle (bool epsilon1UseFarthestSaddle) |
bool | GetEpsilon1UseFarthestSaddle () |
void | SetEpsilonTree1 (double epsilonTree1) |
double | GetEpsilonTree1 () |
void | SetEpsilon2Tree1 (double epsilon2Tree1) |
double | GetEpsilon2Tree1 () |
void | SetEpsilon3Tree1 (double epsilon3Tree1) |
double | GetEpsilon3Tree1 () |
void | SetPersistenceThreshold (double persistenceThreshold) |
double | GetPersistenceThreshold () |
void | SetDeleteMultiPersPairs (bool delMultiPersPairs) |
bool | GetDeleteMultiPersPairs () |
void | SetNodePerTask (int nodePerTask) |
int | GetNodePerTask () |
void | SetCreateOutput (bool createOutput) |
bool | GetCreateOutput () |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
![]() | |
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) |
Static Public Member Functions | |
static ttkMergeTreeAutoencoder * | New () |
static int | IsTypeOf (const char *type) |
static ttkMergeTreeAutoencoder * | SafeDownCast (vtkObject *o) |
![]() | |
static ttkAlgorithm * | New () |
static int | IsTypeOf (const char *type) |
static ttkAlgorithm * | SafeDownCast (vtkObject *o) |
static std::string | GetOrderArrayName (vtkDataArray *const array) |
static vtkInformationIntegerKey * | SAME_DATA_TYPE_AS_INPUT_PORT () |
Protected Member Functions | |
ttkMergeTreeAutoencoder () | |
int | FillInputPortInformation (int port, vtkInformation *info) override |
int | FillOutputPortInformation (int port, vtkInformation *info) override |
int | RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override |
int | run (vtkInformationVector *outputVector, std::vector< vtkSmartPointer< vtkMultiBlockDataSet > > &inputTrees, std::vector< vtkSmartPointer< vtkMultiBlockDataSet > > &inputTrees2) |
int | runCompute (vtkInformationVector *outputVector, std::vector< vtkSmartPointer< vtkMultiBlockDataSet > > &inputTrees, std::vector< vtkSmartPointer< vtkMultiBlockDataSet > > &inputTrees2) |
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) |
![]() | |
MergeTreeAutoencoder () | |
void | execute (std::vector< ftm::MergeTree< float > > &trees, std::vector< ftm::MergeTree< float > > &trees2) |
![]() | |
MergeTreeAxesAlgorithmBase () | |
template<class dataType > | |
void | computeOneDistance (ftm::MergeTree< dataType > &tree1, ftm::MergeTree< dataType > &tree2, std::vector< std::tuple< ftm::idNode, ftm::idNode, double > > &matching, dataType &distance, bool isCalled=false, bool useDoubleInput=false, bool isFirstInput=true) |
template<class dataType > | |
void | computeOneDistance (ftm::MergeTree< dataType > &tree1, ftm::MergeTree< dataType > &tree2, dataType &distance, bool isCalled=false, bool useDoubleInput=false, bool isFirstInput=true) |
template<class dataType > | |
void | initVectorFromMatching (ftm::MergeTree< dataType > &barycenter, ftm::MergeTree< dataType > &tree, std::vector< std::tuple< ftm::idNode, ftm::idNode, double > > &matching, std::vector< std::vector< double > > &v) |
template<class dataType > | |
void | initRandomVector (ftm::MergeTree< dataType > &barycenter, std::vector< std::vector< double > > &v, std::vector< std::vector< std::vector< double > > > &vS, std::vector< std::vector< std::vector< double > > > &v2s) |
template<class dataType , typename F > | |
int | initVectors (int axeNumber, ftm::MergeTree< dataType > &barycenter, std::vector< ftm::MergeTree< dataType > > &trees, ftm::MergeTree< dataType > &barycenter2, std::vector< ftm::MergeTree< dataType > > &trees2, std::vector< std::vector< double > > &v1, std::vector< std::vector< double > > &v2, std::vector< std::vector< double > > &trees2V1, std::vector< std::vector< double > > &trees2V2, int newVectorOffset, std::vector< double > &inputToOriginDistances, std::vector< std::vector< std::tuple< ftm::idNode, ftm::idNode, double > > > &baryMatchings, std::vector< std::vector< std::tuple< ftm::idNode, ftm::idNode, double > > > &baryMatchings2, std::vector< std::vector< double > > &inputToAxesDistances, std::vector< std::vector< std::vector< double > > > &vS, std::vector< std::vector< std::vector< double > > > &v2s, std::vector< std::vector< std::vector< double > > > &trees2Vs, std::vector< std::vector< std::vector< double > > > &trees2V2s, bool projectInitializedVectors, F initializedVectorsProjection) |
template<class dataType > | |
void | computeOneBarycenter (std::vector< ftm::MergeTree< dataType > > &trees, ftm::MergeTree< dataType > &baryMergeTree, std::vector< std::vector< std::tuple< ftm::idNode, ftm::idNode, double > > > &matchings, std::vector< double > &finalDistances, double barycenterSizeLimitPercent, unsigned int barycenterMaximumNumberOfPairs, bool useDoubleInput=false, bool isFirstInput=true) |
template<class dataType > | |
void | computeOneBarycenter (std::vector< ftm::MergeTree< dataType > > &trees, ftm::MergeTree< dataType > &baryMergeTree, std::vector< std::vector< std::tuple< ftm::idNode, ftm::idNode, double > > > &matchings, std::vector< double > &finalDistances, double barycenterSizeLimitPercent, bool useDoubleInput=false, bool isFirstInput=true) |
template<class dataType > | |
void | computeOneBarycenter (std::vector< ftm::MergeTree< dataType > > &trees, ftm::MergeTree< dataType > &baryMergeTree, std::vector< std::vector< std::tuple< ftm::idNode, ftm::idNode, double > > > &matchings, std::vector< double > &finalDistances, bool useDoubleInput=false, bool isFirstInput=true) |
template<class dataType > | |
void | computeOneBarycenter (std::vector< ftm::MergeTree< dataType > > &trees, ftm::MergeTree< dataType > &baryMergeTree, std::vector< std::vector< std::tuple< ftm::idNode, ftm::idNode, double > > > &matchings) |
template<class dataType > | |
void | computeOneBarycenter (std::vector< ftm::MergeTree< dataType > > &trees, ftm::MergeTree< dataType > &baryMergeTree) |
template<class dataType > | |
void | preprocessingTrees (std::vector< ftm::MergeTree< dataType > > &trees, std::vector< std::vector< int > > &nodeCorr, bool useMinMaxPairT=true) |
template<class dataType > | |
void | preprocessingTrees (std::vector< ftm::MergeTree< dataType > > &trees, bool useMinMaxPairT=true) |
template<class dataType > | |
void | getMatchingVector (ftm::MergeTree< dataType > &barycenter, ftm::MergeTree< dataType > &tree, std::vector< std::tuple< ftm::idNode, ftm::idNode, double > > &matchings, std::vector< ftm::idNode > &matchingVector) |
template<class dataType > | |
void | getInverseMatchingVector (ftm::MergeTree< dataType > &barycenter, ftm::MergeTree< dataType > &tree, std::vector< std::tuple< ftm::idNode, ftm::idNode, double > > &matchings, std::vector< ftm::idNode > &matchingVector) |
void | reverseMatchingVector (unsigned int noNodes, std::vector< ftm::idNode > &matchingVector, std::vector< ftm::idNode > &invMatchingVector) |
template<class dataType > | |
void | reverseMatchingVector (ftm::MergeTree< dataType > &tree, std::vector< ftm::idNode > &matchingVector, std::vector< ftm::idNode > &invMatchingVector) |
template<class dataType > | |
void | getMatchingMatrix (ftm::MergeTree< dataType > &barycenter, std::vector< ftm::MergeTree< dataType > > &trees, std::vector< std::vector< std::tuple< ftm::idNode, ftm::idNode, double > > > &matchings, std::vector< std::vector< ftm::idNode > > &matchingMatrix) |
template<class dataType > | |
std::tuple< dataType, dataType > | getParametrizedBirthDeath (ftm::FTMTree_MT *tree, ftm::idNode node) |
template<class dataType > | |
void | computeBranchesCorrelationMatrix (ftm::MergeTree< dataType > &barycenter, std::vector< ftm::MergeTree< dataType > > &trees, std::vector< std::vector< std::tuple< ftm::idNode, ftm::idNode, double > > > &baryMatchings, std::vector< std::vector< double > > &allTs, std::vector< std::vector< double > > &branchesCorrelationMatrix, std::vector< std::vector< double > > &persCorrelationMatrix) |
![]() | |
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) |
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) |
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) |
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) |
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 (ftm::FTMTree_MT *tree, ftm::idNode nodeId) |
template<class dataType > | |
dataType | insertCost (ftm::FTMTree_MT *tree, ftm::idNode nodeId) |
template<class dataType > | |
dataType | relabelCostOnly (ftm::FTMTree_MT *tree1, ftm::idNode nodeId1, ftm::FTMTree_MT *tree2, ftm::idNode nodeId2) |
template<class dataType > | |
dataType | relabelCost (ftm::FTMTree_MT *tree1, ftm::idNode nodeId1, 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) |
Additional Inherited Members | |
![]() | |
float | CompactTriangulationCacheSize {0.2f} |
![]() | |
int | debugLevel_ |
std::string | debugMsgPrefix_ |
std::string | debugMsgNamePrefix_ |
![]() | |
bool | lastObject_ |
int | threadNumber_ |
Wrapper * | wrapper_ |
![]() | |
bool | doCompute_ |
bool | hasComputedOnce_ = false |
int | encoderNoLayers_ = 1 |
bool | scaleLayerAfterLatent_ = false |
unsigned int | inputNumberOfAxes_ = 16 |
double | inputOriginPrimeSizePercent_ = 15 |
double | latentSpaceOriginPrimeSizePercent_ = 10 |
unsigned int | minIteration_ = 0 |
unsigned int | maxIteration_ = 0 |
unsigned int | iterationGap_ = 100 |
double | batchSize_ = 1 |
int | optimizer_ = 0 |
double | gradientStepSize_ = 0.1 |
double | beta1_ = 0.9 |
double | beta2_ = 0.999 |
double | reconstructionLossWeight_ = 1 |
double | trackingLossWeight_ = 0 |
double | metricLossWeight_ = 0 |
double | clusteringLossWeight_ = 0 |
float | clusteringLossTemp_ = 10 |
bool | customLossDynamicWeight_ = false |
bool | customLossSpace_ = false |
bool | customLossActivate_ = false |
bool | normalizeMetricLoss_ = false |
unsigned int | noInit_ = 4 |
bool | euclideanVectorsInit_ = false |
bool | initOriginPrimeStructByCopy_ = true |
bool | trackingLossDecoding_ = false |
double | trackingLossInitRandomness_ = 0.0 |
bool | activate_ = true |
unsigned int | activationFunction_ = 1 |
bool | activateOutputInit_ = false |
bool | createOutput_ = true |
bool | fullSymmetricAE_ = false |
unsigned | noLayers_ |
double | baseRecLoss_ |
double | baseRecLoss2_ |
float | bestLoss_ |
std::vector< unsigned int > | clusterAsgn_ |
std::vector< std::vector< float > > | distanceMatrix_ |
std::vector< std::vector< float > > | customAlphas_ |
std::vector< std::vector< std::tuple< ftm::idNode, ftm::idNode, double > > > | baryMatchings_L0_ |
std::vector< std::vector< std::tuple< ftm::idNode, ftm::idNode, double > > > | baryMatchings2_L0_ |
std::vector< double > | inputToBaryDistances_L0_ |
std::vector< std::vector< std::tuple< ftm::idNode, ftm::idNode, double > > > | originsMatchings_ |
std::vector< std::vector< std::tuple< ftm::idNode, ftm::idNode, double > > > | reconstMatchings_ |
std::vector< std::vector< std::tuple< ftm::idNode, ftm::idNode, double > > > | customMatchings_ |
std::vector< std::vector< std::vector< std::tuple< ftm::idNode, ftm::idNode, double > > > > | dataMatchings_ |
std::vector< std::vector< double > > | branchesCorrelationMatrix_ |
std::vector< std::vector< double > > | persCorrelationMatrix_ |
double | t_allVectorCopy_time_ = 0.0 |
std::vector< unsigned int > | originsNoZeroGrad_ |
std::vector< unsigned int > | originsPrimeNoZeroGrad_ |
std::vector< unsigned int > | vSNoZeroGrad_ |
std::vector< unsigned int > | vSPrimeNoZeroGrad_ |
std::vector< unsigned int > | origins2NoZeroGrad_ |
std::vector< unsigned int > | origins2PrimeNoZeroGrad_ |
std::vector< unsigned int > | vS2NoZeroGrad_ |
std::vector< unsigned int > | vS2PrimeNoZeroGrad_ |
bool | outputInit_ = true |
float | bigValuesThreshold_ = 0 |
![]() | |
bool | deterministic_ = true |
unsigned int | numberOfAxes_ = 2 |
unsigned int | k_ = 16 |
double | barycenterSizeLimitPercent_ = 20.0 |
std::vector< std::vector< int > > | trees2NodeCorr_ |
![]() | |
int | assignmentSolverID_ = 0 |
bool | epsilon1UseFarthestSaddle_ = false |
double | epsilonTree1_ = 0 |
double | epsilonTree2_ = 0 |
double | epsilon2Tree1_ = 100 |
double | epsilon2Tree2_ = 100 |
double | epsilon3Tree1_ = 100 |
double | epsilon3Tree2_ = 100 |
double | persistenceThreshold_ = 0 |
bool | barycenterMergeTree_ = false |
bool | useMinMaxPair_ = true |
bool | deleteMultiPersPairs_ = false |
bool | branchDecomposition_ = true |
int | wassersteinPower_ = 2 |
bool | normalizedWasserstein_ = true |
bool | keepSubtree_ = false |
double | nonMatchingWeight_ = 1.0 |
bool | distanceSquaredRoot_ = true |
bool | useFullMerge_ = false |
bool | isPersistenceDiagram_ = false |
bool | convertToDiagram_ = false |
double | mixtureCoefficient_ = 0.5 |
bool | useDoubleInput_ = false |
bool | parallelize_ = true |
int | nodePerTask_ = 32 |
bool | cleanTree_ = true |
std::vector< std::vector< int > > | treesNodeCorr_ |
![]() | |
static COMMON_EXPORTS debug::LineMode | lastLineMode = ttk::debug::LineMode::NEW |
TTK VTK-filter that wraps the ttk::MergeTreeAutoencoder module.
This VTK filter uses the ttk::MergeTreeAutoencoder module to compute an auto-encoder of merge trees or persistence diagrams.
Input | vtkMultiBlockDataSet Input trees |
Input | (optional) vtkMultiBlockDataSet Input trees. If input are merge trees, then this input can be used to process join and split trees together. Pass as input either join or split trees in the first input and the other type of trees in the second input. If input are persistence diagrams, then this has no effect to use this input. |
Input | (optional) vtkTable Info (such as clustering assigment) |
Output | vtkMultiBlockDataSet Origins |
Output | vtkMultiBlockDataSet Bases Axes |
Output | vtkMultiBlockDataSet Coefficients |
Output | vtkMultiBlockDataSet Processed Input Trees |
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 Auto-Encoders of Merge Trees (and Persistence Diagrams)"
Mathieu Pont, Julien Tierny.
IEEE Transactions on Visualization and Computer Graphics, 2023
Online examples:
Definition at line 59 of file ttkMergeTreeAutoencoder.h.
Definition at line 525 of file ttkMergeTreeAutoencoder.h.
|
protected |
Implement the filter constructor and destructor (see cpp file)
Implement the filter constructor and destructor in the cpp file.
The constructor has to specify the number of input and output ports with the functions SetNumberOfInputPorts and SetNumberOfOutputPorts, respectively. It should also set default values for all filter parameters.
The destructor is usually empty unless you want to manage memory explicitly, by for example allocating memory on the heap that needs to be freed when the filter is destroyed.
Definition at line 37 of file ttkMergeTreeAutoencoder.cpp.
|
overrideprotected |
Specify the input data type of each input port (see cpp file)
Specify the required input data type of each input port
This method specifies the required input object data types of the filter by adding the vtkAlgorithm::INPUT_REQUIRED_DATA_TYPE() key to the port information.
Definition at line 49 of file ttkMergeTreeAutoencoder.cpp.
|
overrideprotected |
Specify the data object type of each output port (see cpp file)
Specify the data object type of each output port
This method specifies in the port information object the data type of the corresponding output objects. It is possible to either explicitly specify a type by adding a vtkDataObject::DATA_TYPE_NAME() key:
info->Set( vtkDataObject::DATA_TYPE_NAME(), "vtkUnstructuredGrid" );
or to pass a type of an input port to an output port by adding the ttkAlgorithm::SAME_DATA_TYPE_AS_INPUT_PORT() key (see below).
Note: prior to the execution of the RequestData method the pipeline will initialize empty output data objects based on this information.
Definition at line 79 of file ttkMergeTreeAutoencoder.cpp.
|
inline |
Definition at line 405 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 432 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 414 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 189 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 225 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 252 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 261 of file ttkMergeTreeAutoencoder.h.
|
virtual |
Reimplemented from ttkAlgorithm.
|
inline |
Definition at line 333 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 297 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 516 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 315 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 342 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 306 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 496 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 396 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 107 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 450 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 469 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 478 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 460 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 360 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 423 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 243 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 369 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 143 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 152 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 216 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 441 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 171 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 207 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 288 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 198 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 506 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 116 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 324 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 162 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 125 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 351 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 180 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 234 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 487 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 270 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 134 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 378 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 387 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 279 of file ttkMergeTreeAutoencoder.h.
|
virtual |
Reimplemented from ttkAlgorithm.
|
static |
|
static |
This static method and the macro below are VTK conventions on how to instantiate VTK objects. You don't have to modify this.
|
overrideprotected |
Pass VTK data to the base code and convert base code output to VTK (see cpp file)
Pass VTK data to the base code and convert base code output to VTK
This method is called during the pipeline execution to update the already initialized output data objects based on the given input data objects and filter parameters.
Note: 1) The passed input data objects are validated based on the information provided by the FillInputPortInformation method. 2) The output objects are already initialized based on the information provided by the FillOutputPortInformation method.
Definition at line 102 of file ttkMergeTreeAutoencoder.cpp.
|
protected |
|
protected |
|
protected |
|
static |
|
inline |
Definition at line 400 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 427 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 409 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 184 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 220 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 247 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 256 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 328 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 292 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 511 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 310 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 337 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 301 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 491 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 391 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 102 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 445 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 464 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 473 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 454 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 355 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 418 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 238 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 364 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 98 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 138 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 147 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 211 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 436 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 166 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 202 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 283 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 193 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 501 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 111 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 319 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 157 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 120 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 346 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 175 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 229 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 482 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 265 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 129 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 373 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 382 of file ttkMergeTreeAutoencoder.h.
|
inline |
Definition at line 274 of file ttkMergeTreeAutoencoder.h.