-
Notifications
You must be signed in to change notification settings - Fork 124
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wasserstein Auto-Encoders of Merge Trees (and Persistence Diagrams) #1006
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hi mathieu,
thanks a lot for the PR.
here's a first batch of reviews (more to come).
in short:
- I believe the code should be compatible with the latest version of libtorch (at least version 2)
- there's a few occurrences where some minimal documentation should be included
- some re-wording here and there (especially change "geodesic" into "axis" and "geodesics" into "axes").
thanks for the fixes
core/vtk/ttkMergeTreeAutoencoderDecoding/ttkMergeTreeAutoencoderDecoding.cpp
Show resolved
Hide resolved
core/vtk/ttkMergeTreeAutoencoderDecoding/ttkMergeTreeAutoencoderDecoding.cpp
Show resolved
Hide resolved
core/vtk/ttkMergeTreeAutoencoder/ttkMergeTreeAutoencoderUtils.cpp
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok, here's my second batch of comments (last batch for the moment).
core/base/mergeTreeAutoencoderDecoding/MergeTreeAutoencoderDecoding.h
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @MatPont ,
thanks for the PR, I added a few more remarks (we can discuss them at our next meeting). Best,
This reverts commit 1dbee0c.
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
andMergeTreeAutoencoderDecoding
.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.