GeomFuM is a Modular Python Package for Machine Learning with Functional Maps. Have a look at our Software Paper Preprint.
pip install geomfum@git+https://github.com/3diglab/geomfum.git@main
Or
pip install geomfum
Or the classic pipeline: clone + pip install.
- Installation issues may arise from dependencies relying on C++ (particularly robust_laplacian).
- Make sure all their requirements are installed.
- For pyRMT, follow the instructions here.
The how-to notebooks are designed to safely let you dive in the package.
Why not starting from the beginning and simply follow the links that inspire you the most?
GeomFuM can run seamlessly with numpy and pytorch.
By default, the numpy backend is used. The visualizations are only available with this backend.
The backend is based on the Geomstats backend, which is installed via its standalone package gsops .
You can choose your backend by setting the environment variable
GEOMSTATS_BACKEND to numpy, or pytorch, and
importing the backend module. From the command line:
export GEOMSTATS_BACKEND=<backend_name>
and in the Python3 code:
import gsops.backend as gs
We welcome contributions from the community! If you have suggestions, bug reports, or want to improve the code or documentation, feel free to:
- Open an issue
- Submit a pull request
- Improve or add new examples/notebooks
Please follow our contribution guidelines and adhere to best practices for clean, modular, and well-documented code.
Join our Discord Server! https://discord.gg/THHku2ckJs
- Functional Maps: A Flexible Representation of Maps Between Shapes
- Rematching: Low-resolution representations for scalable shape correspondence
- ZoomOut: Spectral Upsampling for Efficient Shape Correspondence
- Fast Sinkhorn Filters: Using Matrix Scaling for Non-Rigid Shape Correspondence with Functional Maps
- Structured regularization of functional map computations
- Bijective upsampling and learned embedding for point clouds correspondences
- Deep Geometric Functional Maps: Robust Feature Learning for Shape Correspondence
- Laplace-Beltrami Eigenfunctions Towards an Algorithm That "Understands" Geometry
- The Heat Method for Distance Computation
- A Concise and Provably Informative Multi-Scale Signature Based on Heat Diffusion
- The Wave Kernel Signature: A Quantum Mechanical Approach To Shape Analysis
- Informative Descriptor Preservation via Commutativity for Shape Matching
- DiffusionNet: Discretization Agnostic Learning on Surfaces
- PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation
We thank the geometry processing and functional maps community for their foundational research and ongoing contributions that inspired this work, particularly open-source libraries on functional maps such as pyFM (RobinMagnet), FMNet (pvnieo), and Unsupervised-Learning-of-Robust-Spectral-Shape-Matching (dongliangcao), which provided valuable implementations and examples. We tried our best, referencing all relevant works in the library to give credit to researchers and developers; however, we acknowledge that we could have missed some! Please contact us and propose a change if you want recognition and think something is missing!
If you use Geomfum, please cite the Software to give recognition to any contributor of the project.
This work was partially supported by the European Union (Next Generation EU), MUR (REGAINS), NVIDIA Academic Hardware Grant, and the NSF (MRSEC and CAREER awards).
Have FuM!
