Calculating the axes of the ellipsoid part of the shape from l=1 coefficients

Hi there, really enjoying using the great tools of SPHARM-PDM.

I just wanted to know how I could go about finding the 3 axes of the ellipsoid part of my shape in object space (not for alignment purposes, rather for some other downstream analysis). I have computed all of the coefficients using SPHARM-PDM (positive ‘m’ only, as I believe is the case for this package), but can’t find anywhere how I would then compute the ellipsoid axes from the l=1 coefficients. I’m thinking it must be possible, since each set of l=1 coefficients uniquely map to an ellipsoid shape. The eigenvectors of a matrix containing these coefficients seems intuitive, but I can’t find a formula in any of the papers I’ve searched through.

Thank you very much in advance.

Took me down memory lane a bit:
The corresponding code related to this is located in ParametricMeshToSPHARMSpatialObjectFilter.cxx - RotateParametricMesh (here on GitHub SPHARM-PDM/ParametricMeshToSPHARMSpatialObjectFilter.cxx at master · NIRALUser/SPHARM-PDM · GitHub ). That function shows you how to set up the matrix from the l=1 coefficients. The eigenvectors & eigenvalues of that matrix are the axes of the ellipsoid.
see also:
Brechbühler, Ch., Gerig, G. & Kübler, O. Parametrization of Closed Surfaces for 3-D Shape Description. Comput Vis Image Und 61, 154–170 (1995).
Look at page 162

Hope this helps
Martin

1 Like

Dear Dr Styner,

Good memories only I hope! Ah fantastic, that works perfectly. Thank you very much.