Brian,
I've been been using some of my log data files to reverse engineer how the new lock position is calculated when dithering is applied, and I believe the algorithm is first rotating each dither (x,y) offset to allow for the angular offset between the camera axis and the mount axis and then simply adding the rotated dither coordinates to the old lock position to generate the new lock position.
The problem with this is that cumulatively adding each dither change to the previous one results in a random walk which introduces an unnecessary long term shift from sub exposure to sub exposure. Addition of N random steps results in an average walk distance of root(N) times the step magnitude, even though on average the steps may be drawn a distribution with zero mean. This means that pixels have to be unnecessarily clipped from the final image.
Of couse the worst case is much worse than this up to a maximum of N times the step size, although the chance of such high offsets becomes increasingly small as N increases
To take an example, if we do 100 sub exposures and apply a random dither within the range +/-10 camera pixels between each exposure, this means on average we would end up root(100) x 10 = 100 pixels away from the start position (assuming other sources of drift are negligible). Of course if we were unlucky, the random changes could result in a much larger offset than this average value.
It would be better if each dither change was applied to the original position rather than being applied cumulatively. This would still distribute hot and cold pixels randomly over (in this example) 20 x 20 = 400 pixels in the final image, but would not introduce any systematic random walk.
I think the simplest way of achieving this is to store the previous dither offset, and subtract it from the lock position before adding in the new dither offset.
I appreciate that the dither algorithm has to work in the presence of other effects which are causing the signal to drift in RA and Dec, but I think the simple modification I have suggested above would still work in this case.
Would it be possible to make this change to the way the random dithering is applied in a future update to PHD2, or at least provide an option to add this as an optional setting, please?
Regards
Dave