Skip to content

Releases: gfacchi-dev/meshmonk

meshmonk 0.4.0 — point-to-surface correspondences (fork)

Choose a tag to compare

@gfacchi-dev gfacchi-dev released this 15 Sep 21:29

Fork release used by AutoFaceMonker. Not published to PyPI: the meshmonk
name belongs to upstream, so wheels ship as GitHub Release assets.

Added

  • Point-to-surface correspondences on the non-symmetric path. With
    correspondences_symmetric=False and target faces supplied, each floating
    vertex corresponds to the closest point on the target surface instead of
    a distance-weighted blend of nearby target vertices. A triangle is the same
    surface however finely it is tessellated, so correspondences no longer
    depend on target sampling. Measured on the AppValidation study (1016 scans,
    5 facial scanners): re-tessellating targets moved the registered template by
    0.63 mm on average under the blended rule (1.04 mm on smartphone
    photogrammetry) and by 0.15 mm under point-to-surface.
  • Trade-off: the push-only rule lets the template slide off thin structures.
    On LAFAS it displaces four ear landmarks by 3.5–9.9 mm. A bidirectional
    variant (branch point-to-surface-symmetric) restores the ears but recovers
    only half the sampling invariance (0.42 mm) and is not adopted. The
    symmetric correspondence path is unchanged.

Changed

  • Build: cap nanobind below 3.x. nanobind 3 changed
    nb::detail::exception_new, so a clean checkout no longer compiled.
  • Release workflow: PyPI and TestPyPI publish jobs removed for this fork;
    tagged releases build the wheel matrix and attach it to a GitHub Release.

Internal

  • Area-weighted affinity is implemented but disabled (negative result).

Assets

  • meshmonk-0.4.0.tar.gz — source distribution (needs CMake and a C++20 compiler).
  • meshmonk-0.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl — CPython 3.12, Linux
    x86_64, built from this tag in the PyPA manylinux_2_28 image and repaired with auditwheel; runs on
    glibc >= 2.27 (verified on Debian bookworm). The build it came from registers identically to the one used
    in the AppValidation study (0.000000 mm).

Other platforms

The remaining wheels (Linux x86_64/aarch64, macOS arm64, Windows x86_64; CPython 3.10, 3.11 and 3.12+
stable ABI) were built by the release workflow from main at 7edc834. The library source is identical to
this tag; that commit only updates the fork's release-guard tests.