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
Hello Burke, you might want to check out https://github.com/NeuroanatomyAndConnectivity/surfdist . It works directly on Freesurfer output. The approach is described here: Margulies, D.S., Falkiewicz, M. and Huntenburg, J.M., 2016. A cortical surface-based geodesic distance package for Python. GigaScience, 5(suppl_1), pp.19-20; https://gigascience.biomedcentral.com/articles/10.1186/s13742-016-0147-0
I hope that helps!
Cheers, Marcel
2017-03-31 0:19 GMT+02:00 Burke Rosen bqrosen@gmail.com:
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
Freesurfer mailing list Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
The information in this e-mail is intended only for the person to whom it is addressed. If you believe this e-mail was sent to you in error and the e-mail contains patient information, please contact the Partners Compliance HelpLine at http://www.partners.org/complianceline . If the e-mail was sent to you in error but does not contain patient information, please contact the sender and properly dispose of the e-mail.
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
freesurfer@nmr.mgh.harvard.edu