Thanks for the replies,
Yes the head is assumed rigid and the between marker distances should be invariant except for measurement error AND if a marker fell off, which is the first thing I want to detect. Once that is done, I also want to detect movement of the subject's head as James said, with the goal of partitioning the time series in intervals where there was no detected movement (above noise). For now, I've been concentrating on the first aspect, and so dealing with the 3 distances between pairs of markers that should be constant.
We do co-registration with MRI images and we could also co-register multiple MEG scans as Bill suggested, but that is a separate issue, at this point I'm interested in within-scan movement.
My main question I suppose is whether the method I described has major flaws, or if there would be better (simpler, more efficient) alternatives. The aspect I'm least comfortable with is how to determine (automatically) the measurement error so I can detect real change. In what I suggested, I use the distribution of distances between adjacent time points and compare that with distances between all time points (within a cluster) to decide if it needs to be split, and where. But that assumes there are few rapid movements (slow ones aren't as bad). Is there a better way to "extract the noise profile" or to detect real change in the unknown noise? Another question more relevant to this list: I also wanted to know if there would be better clustering methods I could use here. I haven't found anywhere yet a clustering method that would be based on 3-d distances, but still restrict clusters to be time intervals.