Hi Ilaria and Marcel,
My name is Marco and I am doing my PhD at Ansys, and I am registered at the University of Sheffield. I am generally interested in simulations to aid orthopedic surgeons, and I am mainly working on the lumbar spine.
Scalismo seems a very powerful tool for SSM. While trying to understand the potential of methods behind Scalismo, I am reading the following paper:
Clogenson, Marine and Duff, John M. and Luethi, Marcel and Levivier, Marc and Meuli, Reto and Baur,
Charles and Henein, Simon. (2014) A statistical shape model of the human second cervical vertebra.
International journal of computer assisted radiology and surgery, 30.10.2014, 11 S.
As far as I understand, in this study the algorithm used for the registration did not include any projection. However, it is not reported any registration error between the fitted meshes and the original geometries from segmentation.
Therefore, I assume that that registration error was zero. Is it possible to tune the Gaussian process and the optimization parameters so well to obtain an error equal to zero without projection?
I think that without a projection it is very hard to obtain a perfect registration. So I was very interested by the question asked by Ilaria. In ScalismoLab, I managed to compute the projection with the following, already mentioned, lines:
val projection = (pt : Point[_3D]) => {
val targetPoint = targetMesh.findClosestPoint(pt).point
targetPoint}
val mesh_proj = mesh.transform(projection).
From your last email, I understand that another way to compute the projection would be by transforming surface meshes in distance images. If I understood correctly, a Distance image is a continous function that associates each point in the space to the shortest distance to the mesh.
I guess that this information could be useful to compute the projection of one fitted mesh on the target shape, but I am not sure about how to implement it.
Any suggestions would be very much appreciated.
Sorry for the long email.
Thanks, and best regards
Marco