I have been trying for some time to come up with a robust ‘salient ridge/valley’ curve detection method for mesh analysis. So far I have tried using curvature analysis point clustering, mesh walkers, and also a method posted by Daniel Piker using face to face angles to extract the mesh edges between faces who’s normal angle differs by a defined threshold. Yet neither methods are quite giving me the desired result as they either miss some features or are simply composed of disconnected edges an not a continuous curve.

There is a paper describing a method using tensor maths, yet I’m unable to translate the mathematics into a Grasshopper workflow.

I am wondering if it is even possible to achieve such result with a machine learning approach inside GH using either Owl or Dodo plugins for example?

This is an example of the kind of triangulated 3D scans I am using. ScannedMesh.3dm (1.6 MB)

And this is the result i’m working towards (From Extracting Scar and Ridge Features from 3D-scanned Lithic Artifacts )

Any advice on how to proceed would be really appreciated!