Suppose I have a mne.channels.DigMontage object (say, standard_1020), and the names of two channels (say, Fp1 and F3), how do I calculate their spatial distance? Specifically:
What distance measure should I use, and what’s the formula for this distance measure? Since we are talking about a sphere, I don’t suppose Euclidean distance is a good choice.
Is there a built-in MNE function that can calculate this? I know that by calling mne.channels.DigMontage.get_positions() I can get the 3D coordinates of the channels, but how do I calculate their distances?
I think in general you are dealing with a difficult problem, as you have measured the electrodes, but you have not measured the surface (the scalp) that they lie on. Yet you want the shortest distance on the surface.
So in one way or another you will have to make assumptions:
using template positions as a proxy instead of your measured positions … and then e.g., using arc lengths as in the eeg_positions repository
just using euclidean distance because it might be “good enough” (not sure about this)
projecting your measured electrodes to be on a sphere and then continue as in 1.