opensim-creator icon indicating copy to clipboard operation
opensim-creator copied to clipboard

Add an OpenSim model warping UI based on TPS mesh warping and ISB-derived frame definitions

Open adamkewley opened this issue 2 years ago • 1 comments

This issue was broken out from #467, which was originally an all encompassing issue for building an OpenSim model warping UI.

It turned out that creating such a UI would require a lot of auxiliary tooling+code to do robustly, so it was broken into three separate pieces that were deemed to be handy in isolation:

  • A mesh warping UI that uses the TPS algorithm (#467)
  • A frame definition UI that enables users to define frames based on relationships between landmarks and meshes (#490)
  • An OpenSim model warping UI that takes multiple mesh warping definitions (from #467) and high-level frame definitions (#490) to warp OpenSim models (this issue)

Work List

  • [x] Implement minimum-viable version of a mesh warping UI that exports the necessary landmark data for this model-warping UI (#467)
  • [x] Stub a text-based UI for showing what was sucessfully/unsucessfully loaded:

Screenshot 2022-11-30 101611

  • [ ] Implement minimum-viable version of a frame definition UI that exports the necessary high-level (ISB-based) frame definitions for this model warping UI (#490)
  • [ ] Implement backing algorithms such that text-based UI seems to work
  • [ ] Implement basic input-to-osim conversion algorithm (possibly, with hacky maths)
  • [ ] Implement an actual 3D UI for providing user feedback on what's loaded/missing
  • [ ] Implement UX for validating user input, missing data, etc.
  • [ ] ... Draw the rest of the owl (UI wireup, making it entirely general, etc.)

adamkewley avatar Dec 13 '22 09:12 adamkewley

Note: it should (from my written notes):

  • Support loading the source model
  • Support loading "destination" assets (meshes+landmarks)
  • Load warping config
  • Show the user what's missing
    • E.g. missing landmarks
    • E.g.2. under-defined frames, missing LSQ
  • Provide user with concrete resolution steps (e.g. add landmarks)
  • Once all issues are resolved, provide a big green "Warp Model" button

Extra features:

  • Re-bake meshes via warp kernel
  • Re-bake meshes to be body-centered
  • Re-bake landmarks via warp kernel
  • etc. (bake a cake, why not, etc.)

adamkewley avatar Nov 07 '23 13:11 adamkewley

Closing this: it's now implemented as a working prototype in the UI and is awaiting user/research validation before features will be added. Those features will be put into new issues.

adamkewley avatar Jun 13 '24 14:06 adamkewley