tl;dr—how do I calculate a shape operator in paraview?

I’ve been trying to get curvature calculations (mean, gaussian, max, min) from BrainWorks (some in house software we use) to line up with ParaView curvature calculations.

Both take different approaches to calculating this; while BrainWorks calculates eigenvalues from a shape operator, ParaView seems to use a mix of different algorithms… angle deficit method for Gaussian and some iterative sum method for mean.

I feel like the approach to solving this problem would be to “simply” find a way to calculate the shape operator in ParaView then use some linear algebra package to generate the eigendata I need. Any suggestions towards calculating this shape operator would be appreciated!