modenaxe / msk-STAPLE

STAPLE (Shared Tools for Automatic Personalised Lower Extremity modelling) consists of a collection of methods for generating skeletal models from three-dimensional bone geometries, usually segmented from medical images. The methods are currently being expanded to create complete musculoskeletal models.
Other
59 stars 17 forks source link

[STAPLE/GIBOC] understand if surface extraction should be done using close geometries #65

Closed modenaxe closed 3 years ago

modenaxe commented 4 years ago

Currently the GIBOC algorithms are extracting MATLAB triangulations that are not closed. It is trivial to close them but I need to understand if it is necessary to do so. Action:

modenaxe commented 3 years ago

@clnsmith can I ask you advice about this? For generating joint models like those of OpenSim Jam is there any requirement on the topology of the bone and articular surface meshes?

clnsmith commented 3 years ago

With the standard ElasticFoundationForce in OpenSim you need to have closed (ie water tight) meshes where the normals face outwards.

In the Smith2018ArticularContact in OpenSim-JAM they don't have to be closed meshes (and for best performance, shouldn't be as the less triangles, the faster the contact detection). The meshes need to be made up of triangles (I always use .stl, but .vtp and .obj should work too). The normals need to be pointed towards the opposing contact mesh (when the meshes are out of contact, ie not overlapping). Any sort of triangles will technically work, but the more equilateral and constant area the better (area is included in computing potential energy, so you will get some strange color mapping if neighboring triangles have very different areas).

See the deoxygen PDFs here for some more details and figures.

https://github.com/clnsmith/opensim-jam/tree/master/opensim-jam-release/documentation/doxygen

modenaxe commented 3 years ago

thank you @clnsmith this helps a lot! I think the extracted articular surfaces are fine then...I might try to include an example where I build a OpenSim-JAM contact model.