48#include <ttkMergeTreeAutoencoderModule.h>
52#include <vtkMultiBlockDataSet.h>
53#include <vtkUnstructuredGrid.h>
70 double oldEpsilonTree1;
71 int DiagramPairTypes = 0;
77 std::vector<ttk::ftm::MergeTree<double>> intermediateDTrees;
78 std::vector<vtkUnstructuredGrid *> treesNodes, treesNodes2;
79 std::vector<vtkUnstructuredGrid *> treesArcs, treesArcs2;
80 std::vector<vtkDataSet *> treesSegmentation, treesSegmentation2;
82 void setDataVisualization(
int ttkNotUsed(numInputs),
86 void resetDataVisualization() {
87 setDataVisualization(0, 0);
88 treesSegmentation.clear();
89 treesSegmentation2.clear();
98 using vtkAlgorithm::SetInputArrayToProcess;
100 vtkAlgorithm::SetInputArrayToProcess(0, 2, 0, 6, name);
106 resetDataVisualization();
115 resetDataVisualization();
124 resetDataVisualization();
133 resetDataVisualization();
142 resetDataVisualization();
152 resetDataVisualization();
161 resetDataVisualization();
170 resetDataVisualization();
179 resetDataVisualization();
188 resetDataVisualization();
197 resetDataVisualization();
206 resetDataVisualization();
215 resetDataVisualization();
224 resetDataVisualization();
233 resetDataVisualization();
242 resetDataVisualization();
251 resetDataVisualization();
260 resetDataVisualization();
269 resetDataVisualization();
278 resetDataVisualization();
287 resetDataVisualization();
296 resetDataVisualization();
305 resetDataVisualization();
314 resetDataVisualization();
323 resetDataVisualization();
332 resetDataVisualization();
341 resetDataVisualization();
350 resetDataVisualization();
359 resetDataVisualization();
368 resetDataVisualization();
377 resetDataVisualization();
386 resetDataVisualization();
395 resetDataVisualization();
404 resetDataVisualization();
413 resetDataVisualization();
422 resetDataVisualization();
431 resetDataVisualization();
438 DiagramPairTypes = diagramPairTypes;
440 resetDataVisualization();
442 vtkGetMacro(DiagramPairTypes,
int);
447 resetDataVisualization();
457 resetDataVisualization();
466 resetDataVisualization();
475 resetDataVisualization();
484 resetDataVisualization();
493 resetDataVisualization();
503 resetDataVisualization();
513 resetDataVisualization();
550 vtkInformationVector **inputVector,
551 vtkInformationVector *outputVector)
override;
553 int run(vtkInformationVector *outputVector,
558 vtkInformationVector *outputVector,
563 vtkInformationVector *outputVector,
#define ttkNotUsed(x)
Mark function/method parameters that are not used in the function body at all.
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
unsigned int GetNumberOfProjectionSteps()
void SetJoinSplitMixtureCoefficient(double joinSplitMixtureCoefficient)
void SetInitOriginPrimeStructByCopy(bool initOriginPrimeStructByCopy)
void SetCreateOutput(bool createOutput)
double GetReconstructionLossWeight()
void SetEuclideanVectorsInit(bool euclideanVectorsInit)
double GetBarycenterSizeLimitPercent()
void SetLatentSpaceOriginPrimeSizePercent(double originSize)
unsigned int GetNumberOfEncoderLayers()
void SetClusteringLossWeight(double clusteringLossWeight)
void SetEpsilon3Tree1(double epsilon3Tree1)
double GetClusteringLossTemperature()
void SetMinIteration(unsigned int minIteration)
bool GetNormalizedWasserstein()
unsigned int GetActivationFunction()
double GetEpsilon2Tree1()
double GetTrackingLossDecoding()
bool GetCustomLossSpace()
void SetCustomLossSpace(bool customLossSpace)
double GetTrackingLossInitRandomness()
void SetActivationFunction(unsigned int activationFunction)
void SetCustomLossActivate(bool customLossActivate)
double GetPersistenceThreshold()
static ttkMergeTreeAutoencoder * New()
bool GetCustomLossActivate()
void SetNodePerTask(int nodePerTask)
void SetScaleLayerAfterLatent(unsigned int scaleLayerAfterLatent)
double GetEpsilon3Tree1()
void SetNumberOfInit(unsigned int noInit)
void SetNumberOfEncoderLayers(unsigned int numberOfEncoderLayers)
void SetMaxIteration(unsigned int maxIteration)
void SetDiagramPairTypes(int diagramPairTypes)
void SetDeleteMultiPersPairs(bool delMultiPersPairs)
bool GetNormalizeMetricLoss()
bool GetInitOriginPrimeStructByCopy()
ttkMergeTreeAutoencoder()
void SetReconstructionLossWeight(double reconstructionLossWeight)
unsigned int GetInputNumberOfAxes()
unsigned int GetNumberOfInit()
void SetActivate(bool activate)
double GetJoinSplitMixtureCoefficient()
void SetDeterministic(bool deterministic)
double GetInputOriginPrimeSizePercent()
void SetNormalizeMetricLoss(bool normalizeMetricLoss)
void SetInputOriginPrimeSizePercent(double originSize)
int run(vtkInformationVector *outputVector, std::vector< vtkSmartPointer< vtkMultiBlockDataSet > > &inputTrees, std::vector< vtkSmartPointer< vtkMultiBlockDataSet > > &inputTrees2)
bool GetActivateOutputInit()
bool GetCustomLossDynamicWeight()
void SetGradientStepSize(double lr)
bool GetFullSymmetricAE()
void SetInputArrayToProcess(const char *name)
void SetFullSymmetricAE(bool fullSymmetricAE)
void SetClusteringLossTemperature(double clusteringLossTemperature)
double GetMetricLossWeight()
void SetTrackingLossDecoding(double trackingLossDecoding)
void SetBeta1(double beta)
bool GetEuclideanVectorsInit()
void SetEpsilon2Tree1(double epsilon2Tree1)
int runCompute(vtkInformationVector *outputVector, std::vector< vtkSmartPointer< vtkMultiBlockDataSet > > &inputTrees, std::vector< vtkSmartPointer< vtkMultiBlockDataSet > > &inputTrees2)
double GetTrackingLossWeight()
bool GetEpsilon1UseFarthestSaddle()
void SetTrackingLossWeight(double trackingLossWeight)
unsigned int GetScaleLayerAfterLatent()
void SetNumberOfAxes(unsigned int numberOfAxes)
bool GetDeleteMultiPersPairs()
unsigned int GetMinIteration()
void SetBatchSize(double bs)
double GetGradientStepSize()
void SetNumberOfProjectionSteps(unsigned int noSteps)
void SetBarycenterSizeLimitPercent(double percent)
void SetIterationGap(unsigned int iterationGap)
int runOutput(vtkInformationVector *outputVector, std::vector< vtkSmartPointer< vtkMultiBlockDataSet > > &inputTrees, std::vector< vtkSmartPointer< vtkMultiBlockDataSet > > &inputTrees2)
void SetEpsilon1UseFarthestSaddle(bool epsilon1UseFarthestSaddle)
void SetTrackingLossInitRandomness(double trackingLossInitRandomness)
void SetBeta2(double beta)
unsigned int GetNumberOfAxes()
void SetNormalizedWasserstein(bool nW)
unsigned int GetMaxIteration()
void SetEpsilonTree1(double epsilonTree1)
void SetOptimizer(int optimizer)
void SetCustomLossDynamicWeight(bool customLossDynamicWeight)
double GetClusteringLossWeight()
double GetLatentSpaceOriginPrimeSizePercent()
void SetPersistenceThreshold(double persistenceThreshold)
void SetActivateOutputInit(bool activateOutputInit)
void SetInputNumberOfAxes(unsigned int numberOfAxes)
void SetMetricLossWeight(double metricLossWeight)
bool normalizeMetricLoss_
double latentSpaceOriginPrimeSizePercent_
double inputOriginPrimeSizePercent_
float clusteringLossTemp_
double reconstructionLossWeight_
double trackingLossInitRandomness_
double trackingLossWeight_
bool trackingLossDecoding_
double clusteringLossWeight_
unsigned int inputNumberOfAxes_
bool scaleLayerAfterLatent_
bool customLossDynamicWeight_
unsigned int numberOfAxes_
double barycenterSizeLimitPercent_
double mixtureCoefficient_
bool epsilon1UseFarthestSaddle_
bool normalizedWasserstein_
bool deleteMultiPersPairs_
double persistenceThreshold_
bool euclideanVectorsInit_
unsigned int activationFunction_
bool initOriginPrimeStructByCopy_
unsigned int iterationGap_
unsigned int minIteration_
unsigned int maxIteration_