Mukund Balasubramanian did something with barycentric coordinates to solve this problem, but I don't know whether he ended up publishing it or not.
On 03/30/2017 06:19 PM, Burke Rosen wrote:
I am interested in finding the distance between two vertices along the cortical surface.
So far I have used two methods:
(1) Compute the shortest path with a variant of Dijkstra's algorithm on the white surface.
(2) Compute the great circle distance on the sphere surface. (as done by Risk et.al http://et.al. 2016 Neuroimage)
Method (1) is slow and will tend to overestimate distances as the path only goes along mesh edges.
Method (2) is very fast and gives a true geodesic but gives a scaled result because the radius of sphere surface is arbitrary; also this method is subject to distortions introduced by the inflation algorithm.
My current strategy is to perform a linear regression between the triangle face areas of the sphere and white surfaces. And then apply the coefficients to the sphere surface diameter before calculating geodesic distances. This yields a distance matrix with a similar pattern to the Method (1) at about 62% scale. That scale seems like it might be reasonable. However, the regression only explains ~58% of the variance. My hunch is that the rest is due to inflation distortions.
Is there a better way of scaling the sphere surface? Or a way to inflate in such a way that inter-vertex distances are preserved? Or, more generally, what is a good method of computing geodesic distances on freesurfer surfaces.
Thank you,
Burke Rosen
Freesurfer mailing list Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer