GUI tool (Blender add-on) that displays an MHR parametric body mesh and an OpenSim musculoskeletal model in the same 3D scene, lets the user map mesh vertices to anatomical markers on OpenSim segments, and exports a reusable correspondence file.
Mesh2Marker is an annex open-source project of the Mesh2Sim markerless- biomechanics pipeline. The link to the pipeline is the correspondence file, not code.
MHR topology is fixed: a given vertex index is the same anatomical point across all subjects, regardless of morphology. The mapping is defined once on a template mesh and reused for every subject. Mesh2Marker therefore produces a reusable, shareable asset (the equivalent of a standard marker set in optical mocap), not a per-subject output.
This repository ships two distinct artifacts.
Pure Python, no bpy. Parsing of .osim, Procrustes alignment, local-offset
computation, correspondence-file schema and IO, validation against the shared
vocabulary. Fully testable with plain pytest.
- Channel: published to PyPI —
pip install mesh2marker. - License: MIT.
- Audience: developers and the Mesh2Sim pipeline.
The thin bpy layer: UI, vertex picking, scene display, panels. It calls
core/; no business logic lives here.
- Channel: distributed as a Blender extension (4.2+), via "Install from Disk"
.zipor the Blender Extensions Platform. Never via pip for end users. - License: GPL-3.0-or-later (any code importing
bpyis a derivative work of Blender). An MITcoreconsumed by the GPL add-on is fine; the dependency direction iscore→ add-on, never the reverse.
Early scaffolding. Business logic (.osim parsing, Procrustes alignment,
correspondence-file schema) is not implemented yet.
# Core: WSL / Linux, plain pytest
cd core
pytestThe Blender add-on is built with blender --command extension build.