topology-tool-kit / ttk

TTK - Topological Data Analysis and Visualization - Source Code
https://topology-tool-kit.github.io/
Other
415 stars 124 forks source link

Wasserstein Auto-Encoders of Merge Trees (and Persistence Diagrams) #1006

Closed MatPont closed 3 months ago

MatPont commented 8 months ago

This PR adds the code corresponding to the following work:

Wasserstein Auto-Encoders of Merge Trees (and Persistence Diagrams) Mathieu Pont, Julien Tierny IEEE Transactions on Visualization and Computer Graphics, 2023

It adds 2 filters to TTK : MergeTreeAutoencoder and MergeTreeAutoencoderDecoding.

The first one, MergeTreeAutoencoder, takes an ensemble of merge trees or persistence diagrams as input and compute a wasserstein auto-encoding minimizing the reconstruction error of the data. It outputs the processed input data (with some information attached to them, like correlation and so on), the origins of each basis, the vectors of each basis, the coefficients of the input for each layer (i.e. the coordinates of each input for each basis).

The second filter, MergeTreeAutoencoderDecoding, is used to reconstruct merge trees (or persistence diagrams) given the model parameters, it can reconstruct the input and can construct other trees/diagrams like user-defined locations in the latent space. It takes as input the outputs of the previous filter (except the processed input data) and output an ensemble of merge trees (or persistence diagrams).

It also adds the Torch support to TTK.