Skip to content

Refactor guider, adjust UI, convert to 0-1.0 control parameter, use...

Hy Murveit requested to merge murveit/kstars:guider-fix9 into master

Refactor guider, adjust UI, convert to 0-1.0 control parameter, use calibration, add calibration test.

This is a significant refactor of the internal guider. Of course, there's more to do, but...

  • Moved the older star detection algorithms out of gmath.cpp and into the new files guidealgorithms.h,cpp (the newer ones were already elsewhere in guidestars.cpp and starcorrespondence.cpp and using stellarsolver).
  • Moved most of the calibration code out of internalguider.cpp and into the new calibrationprocess.h,cpp.
  • Added a new calibration unit test in Tests/internalguide/testcalibrationprocess.cpp
  • Minor additional adjustments to the guider UI following up on the previous MR. Notable is exposing the parameter for maximum-number-of-pixels that the calibration could move in each axis.
  • The standard control algorithm now uses calibration information when computing pulses. The control gain parameter for RA and (a separate one for DEC) now go from 0 to 1.0. It multiplies the error and the calibrated arcsec_per_ms_pulse. (Similar adjustments were made to the optional integral_gain.)
proportionalResponse = arcsecDrift * proportionalGain * arcsecPerMsPulse
  • I changed the name of the control gain parameter (also called Proportional Gain) to the industry standard name of "Aggressiveness".
  • I made the GPG control gain, and GPG min move parameters use the main guider versions of these parameters, and removed the UI for those in the GPG section.
  • Changed the guider's min-pulse and max-pulse (both in milliseconds) parameters to "Min error" and "Max response", both with units of arc-seconds instead of milliseconds of pulse. Hopefully more intuitive to users.
  • Added/edited several tooltips in menus.
  • Allow an aggressiveness > 1 (up to 2.0) though in the menu and tooltip it recommends < 1.0. User request.

3 users have tested this without issue. From my perspective it's ready to merge.

Edited by Hy Murveit

Merge request reports