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. 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