Geometry processing with functional maps.
Project description
GeomFuM is a Modular Python Package for Machine Learning with Functional Maps. Have a look at our Software Paper Preprint.
Installation
We have a pipl package that you can install with the following command from your terminal
pip install geomfum
Or directly from the GitHub repository
pip install geomfum@git+https://github.com/3diglab/geomfum.git@main
Or the classic pipeline: clone + pip install.
Make sure you have installed the most recent version of Geomstats to correctly handle the backend.
- ::
pip install geomstats@git+https://github.com/geomstats/geomstats.git@main
⚠️ ISSUES
Installation issues may arise from dependencies relying on C++ (particularly robust_laplacian).
Make sure all their requirements are installed.
Some functionality requires packages that are not published on PyPI and must be installed manually:
Rematching:
pip install git+https://github.com/filthynobleman/rematching.git@python-binding
Polpo:
pip install git+https://github.com/geometric-intelligence/polpo.git@main
How to use
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?
Choose the backend
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 automatically. The GeomFuM backend add functionality, especially regarding sparse matrices and device handling.
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 geomstats.backend as gs import geomfum.backend as xgs
Contributions
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.
Community
Join our Discord Server! https://discord.gg/6sYmEbUp
List of Implemented Papers
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
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
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
PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation
Acknowledgement
We thank the geometry processing and functional maps community for their foundational research and ongoing contributions that inspired this work. 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!
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file geomfum-0.1.1.tar.gz.
File metadata
- Download URL: geomfum-0.1.1.tar.gz
- Upload date:
- Size: 67.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c036af4d586dc5dbeae4d8bf02cdbfc00ae0a3ba44727eb65338015efa8d507f
|
|
| MD5 |
9fc2b09f5298b8b1c799df0749899a02
|
|
| BLAKE2b-256 |
4d1eb4eb5f1c2047883a15baffe1be10dbd2074a8ce665a60158eee1eb8ed2a9
|
File details
Details for the file geomfum-0.1.1-py3-none-any.whl.
File metadata
- Download URL: geomfum-0.1.1-py3-none-any.whl
- Upload date:
- Size: 83.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dfefd16edb3a046a0ec4e7bb968ba19969bedf0635312a4bc80328cfc34d2839
|
|
| MD5 |
9e218803fffbce52c130b33734e6b2d3
|
|
| BLAKE2b-256 |
91180d7dbad43a692d62d6b2c038706e08eaafe9e5856ef920a34acd66284d7e
|