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

pip install geomfum@git+https://github.com/3diglab/geomfum.git@main

Or the classic pipeline: clone + pip install.

⚠️ 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
  • Geopext:

pip install git+https://github.com/luisfpereira/geopext.git@2b7a7be1a8fdc6e5755e5f4bda88bc284065e829
  • 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.0.tar.gz (67.7 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.0-py3-none-any.whl (83.1 kB view details)

Uploaded Python 3

File details

Details for the file geomfum-0.1.0.tar.gz.

File metadata

  • Download URL: geomfum-0.1.0.tar.gz
  • Upload date:
  • Size: 67.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for geomfum-0.1.0.tar.gz
Algorithm Hash digest
SHA256 af5fa94b1d102b261ac317d12a6604c8c1d6cca9aaee767dab1e86a1cbef3bfc
MD5 82c1cb3e27c7f03b36c03da32fe0d93f
BLAKE2b-256 2ae206aa558b64f2a304b47df20c82b3707bc4fdcb3a1ad2952819c0a66bd744

See more details on using hashes here.

File details

Details for the file geomfum-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: geomfum-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 83.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for geomfum-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 38ad57347d3bdce7633b19022ee20fc93aa7becfe20066fb2c928a9d011df5a9
MD5 e6fba8b3c981cfb10db55e5ec426ff76
BLAKE2b-256 7dcd2d7a7f398fbb21b46f790a603e376f1f2af3e77640e91cf02454b6aa8cf4

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