Skip to content

Robust star correspondence.

Hy Murveit requested to merge murveit/kstars:robust-star-correspondence into master

This change allows the SEP MultiStar guider to continue to guide, even when the guide-star is not detected, which is an occasional circumstance. If enough of its reference stars are detected, the multistar algorithm places a "virtual guide star" in a position relative to the references where the original guide star was observed.

Detail: Even though SEP MultiStar uses about 10 stars to compute its drift, it still has the concept of a central guide star and it's companion/reference stars, which are found relative to the guide star. In fact, the guide star is detected as the only star which has the right position relative to those references. SEP detection of the guide star is a single point of failure (as opposed to the reference stars, which need not all be detected). I realized that even when SEP star detection does not detect the guide star for some unknown reason, if enough of those reference are detected by SEP, the guider could still find them relative to each other and guide. That is what's done here. If the guide star is not found, the references are used to create a "virtual guide star" using a median position derived from the reference star positions and the previously measured offsets from the guide star to those reference stars.

This was tested, by eliminating the guide star from the star detections, and the guider continued to work well. A test is also include in teststarcorrespondence.cpp.

In practice, this code should not fire often, but it should help the guider improve its robustness.

One oddity is that the guide star SNR is not calculated when a virtual guide star is used. In those guide frames, SNR is reported as 0. As SNR is purely a diagnostic, and not used as part of the guiding algorithm, this should not be disruptive. Another possibility would have been to redefine the SNR as relative to all the reference stars, instead of just the main guide star. This change has no impact on the UI (other than seeing the SNR go to 0 and the guiding continue).

Merge request reports