Skip to main content

Geometry processing with functional maps.

Project description

GeomFuM logo

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

  1. Functional Maps: A Flexible Representation of Maps Between Shapes

  2. Rematching: Low-resolution representations for scalable shape correspondence

  3. ZoomOut: Spectral Upsampling for Efficient Shape Correspondence

  4. Fast Sinkhorn Filters: Using Matrix Scaling for Non-Rigid Shape Correspondence with Functional Maps

  5. Structured regularization of functional map computations

  6. Bijective upsampling and learned embedding for point clouds correspondences

  7. Deep Geometric Functional Maps: Robust Feature Learning for Shape Correspondence

  8. Laplace-Beltrami Eigenfunctions Towards an Algorithm That “Understands” Geometry

  9. The Heat Method for Distance Computation

  10. A Concise and Provably Informative Multi-Scale Signature Based on Heat Diffusion

  11. The Wave Kernel Signature: A Quantum Mechanical Approach To Shape Analysis

  12. Informative Descriptor Preservation via Commutativity for Shape Matching

  13. DiffusionNet: Discretization Agnostic Learning on Surfaces

  14. 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

geomfum-0.1.1.tar.gz (67.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

geomfum-0.1.1-py3-none-any.whl (83.9 kB view details)

Uploaded Python 3

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

Hashes for geomfum-0.1.1.tar.gz
Algorithm Hash digest
SHA256 c036af4d586dc5dbeae4d8bf02cdbfc00ae0a3ba44727eb65338015efa8d507f
MD5 9fc2b09f5298b8b1c799df0749899a02
BLAKE2b-256 4d1eb4eb5f1c2047883a15baffe1be10dbd2074a8ce665a60158eee1eb8ed2a9

See more details on using hashes here.

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

Hashes for geomfum-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 dfefd16edb3a046a0ec4e7bb968ba19969bedf0635312a4bc80328cfc34d2839
MD5 9e218803fffbce52c130b33734e6b2d3
BLAKE2b-256 91180d7dbad43a692d62d6b2c038706e08eaafe9e5856ef920a34acd66284d7e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page