The basic principle for all algorithms is to minimize the chi-squared difference between the observed star positions in each frame and the model fit for the mean position of each star and the offset of each frame. Each frame is considered in turn (referred to as the ``central frame''). All other frames overlapping the central frame are adjusted with respect to the central frame to minimize the sum of the squares of the differences. All stars in the central frame are then averaged with the adjusted positions from the overlapping frames to get improved positions within the central frame. The next frame now becomes the central frame and its in-frame positions are refined accordingly. Note that the adjustments to minimize the sum of the squares of the differences of the new central frame are determined from scratch. Once the refinements of the star positions in the new central frame are complete, its position with respect to the previous frame is adjusted to minimize the sum of the squares of the differences between the two sets of refined positions. The central frame is advanced and the process repeated until the last frame is reached.
The least-squares algorithms required for the two steps described above can be setup to solve directly for frame-to-frame spacing or to solve for the coefficients of a function which defines the spacing. The ``moving function'' approach allows bridging frames without stars. A cubic function (re-determined for each central frame) was found to work well.