I am trying to create a GP model (like the femur example), for small (15mm) dental metal clasps.
I have 3D scans of a clasp before (pre) and after (post) it has been used. The clasp arm bends a little after excessive use and I planned to used Statismo to measure the amount of displacement using point-to-point correspondence.
What I did:
1) Build GP model using the 'pre' clasp: statismo-build-gp-model -r c:\clasps\pre_cocr_19_aligned.vtk -k gaussian -s 0.05 -p 0.5 -n 250 c:\clasps\GaussMod_cocr_pre_19.h5
2) Use this Gaussian to try and fit the surface of the 'post' clasp (so I have registered the two meshes) : statismo-fit-surface -i c:\clasps\gaussmod_cocr_pre_19.h5 -n 1000 -t c:\clasps\post_cocr_19_aligned.vtk -w 0 -p -o c:\clasps\fit_post_cocr_19.vtk -j c:\clasps\fit-projected_post_cocr_19.vtk
I then have a look at the resulting fit_post_cocr_19.vtk file, expecting it to match the post_cocr_19_aligned.vtk mesh (if the Gaussian Process was good), but it seems that no matter what parameters I try, it always ends up fitting the 'pre' model (on which the Gaussian was formed) ie pre_cocr_19_aligned.vtk
Questions
1) Am I misunderstanding how to check the validity of my GP ? I presume 'statismo-fit-surface' should create a version of the input mesh which has the same number of (registered) points as the model the GP was created on, BUT in the shape of the input mesh (not the shape of the GP-training mesh) ?
I had planned to use 'statismo-fit-surface' on a number of clasps, then create a PCA model for future use. However, it looks like I will just be building the PCA model on identical looking clasps (which obviously won't work).
I attach my two vtk files - the issue is that the larger 'arm' is flexed out slightly in the 'post' mesh, but every time I try to fit this surface to the GP from the pre mesh, the arm flexes back to the pre position.
I presumed that rigid registration was the way to go, because the shapes are still almost identical.
It is the movement of the tip that I am interested in.
Can anyone guide my misunderstandings? How do I generate the fit_post_cocr_19.vtk such that it matches post_cocr_19_aligned.vtk but has the same number of registered points as pre_cocr_19_aligned.vtk ?
Thanks
Andy