You are correct and that is partially what the algorithm is doing except there is a part that is not very straight forward. So, the idea is that the user selects for example beads on the reconstruction and adds them to the ROI manager, next the correction algorithm calculates the center of the cluster correspondent to each bead and calculates the joint displacement over time. Each bead has its own displacement in time that is partially random by nature and is due to the noise fluctuations that create some localization inaccuracy, it is for this reason that it is important to select more than one (I would say at least 3) beads so that we can get a joint displacement that is mostly independent of the individual localization error. Once we have the displacement value it is then subtracted to the particle table and hopefully the drift is corrected.
The challenge comes from the probability of the beads not being detected in all the frames due to several possible problems such as noise fluctuation, bead blinking, other signals appearing on the same region, bad temper from the part of the detection algorithm and/or Godzilla attacking your local town. For this reason the drift correction algorithm tries to interpolate missing positions in time for each cluster - this is the main reason why the algorithm has an iterative part, it basically:
a) - tries to interpolate the bead missing positions in time
b) - recalculates the center of each cluster
c) - recalculates the joint displacement
d) - subtracts the displacement to all particles
e) - loops back to a) unless the joint displacement estimation stops varying from iteration to iteration
There are some conditions that need to be met in order for this to work well, namely:
- the beads/landmarks need to be sub-diffraction
- they cannot be saturated
- the sparsity of the tracks needs to be fairly small, or in other words, beads really need to be detected in most frames
- by experience the algorithm has problems dealing with drifts higher than 500nm XY and 200nm in Z
I would definitely appreciate if anyone has suggestions for improvements :).
Let me know if this is understandable or I can try to explain a bit further.
Cheers,
Ricardo Henriques
Av. Prof. Egas Moniz