Skip to content

lace/entente

Repository files navigation

entente

version python version license coverage build docs build code style

Library for working with lacecore-style polygonal meshes which are in vertex-wise correspondence.

Features

  • Create a composite.
  • Transfer landmarks from the surface of one mesh to the surface of another.
  • Shuffle vertices.
  • Restore correspondence of vertices.
  • Spatial search, lightly wrapping [trimesh][].
  • Complete documentation: https://entente.readthedocs.io/en/stable/

Installation

To use the landmarker, run pip install entente[surface_regressor] which installs proximity.

To use the CLI, run pip install entente[surface_regressor,cli] which also installs tri-again and pyyaml.

Usage

python -m entente.cli transfer_landmarks source.obj source_landmarks.json target1.obj target2.obj ...
base_mesh: examples/average.obj
landmarks:
  - knee_left
  - knee_right
examples:
  - id: example01
    mesh: examples/example01.obj
    knee_left: [-10.0, 15.0, 4.0]
    knee_right: [10.0, 14.8, 4.1]
  - id: example02
    mesh: examples/example02.obj
    knee_left: [-11.0, 13.0, 3.5]
    knee_right: [12.0, 12.8, 3.4]
python -m entente.cli composite_landmarks recipe.yml

Development

First, install Poetry.

After cloning the repo, run ./bootstrap.zsh to initialize a virtual environment with the project's dependencies.

Subsequently, run ./dev.py install to update the dependencies.

License

The project is licensed under the MIT license.