Some thoughts on auto focusing

To begin this lengthy post, let me say that this is neither request nor recommendation – merely some ideas related to future updates to the auto focus routines in SGP. While I have been an active amateur astronomer for several decades, I have only been active in imaging for a little more than a year. In that time, I have used most of the popular image capture packages – including Nebulosity, CCDSoftV, MaximDL v6 and many more. I’ve only been using SGP since early January and, IMHO, SGP is by far the best designed and implemented of them all. The integration of auto focus and plate solving routines into the image capture process in combination with a modern GUI puts SGP at the top of the list, as far as I am concerned.

I am imaging with a 12" Meade LX850-ACF f/8 OTA and the issue of obtaining and then maintaining accurate focus is a challenge. Focusing is further complicated by the significant temperature effects of that big OTA. Since revisions to the current auto focusing logic have been extensively discussed in this forum, I would like to offer some ideas that I believe could speed up the focusing process.

It seems to me that the process of auto focusing can be divided into two parts. First, we need to continue to support full auto focusing based on image analysis with the revisions that have already been discussed in this forum. Secondly, I would like to see an implementation of a faster method of focusing, which I will refer to as “focus adjustment.” Thirdly, I believe it is very important that temperature readings be used as part of all focusing routines.

The concept of focus adjustment implies moving the focuser to a preset position without using image capture for the purpose of confirmation or refinement. I believe the use of a focus adjustment concept could allow an imager to maintain accurate focus through out the night without the constant need to invoke lengthy (5+ minutes), full focusing routines. The following describes a way of implementing the concept of focus adjustment.

One filter of the set is defined as the reference filter with the other filters having an associated offset relative to the reference filter. While I don’t think these filter offsets are temperature dependent, just mechanical, it would be useful to have some feed back on that point.

In the Control Panel (Focus tab), you need to be able to define the reference filter info:

Ref Filter: Lum Focus at: 3215 Ref Temp: 6.7 C Temp compensate: 82 steps/deg C


1.  Ref Filter: drop list showing all the filters that are setup plus an entry for
    one-shot-color cameras;

2.  Focus at: records the focuser position of best focus for the reference filter;

3.  Ref Temp: the temperature associated with that best focus position;

4.  Temp Compensate: the calibrated focuser temperature coefficient.

Any time the full, auto focusing routine is invoked for the reference filter, the resulting position and temperature is updated if the result changes the current values. That is, if the focus point changes but is consistent with the temperature compensation curve, no update is needed.

If we use the luminance filter as the selected reference filter, I see the need for something similar to the following in the filter wheel definition dialog box:

    Filter    AF Exp   Offset  Adjust Only
    LUM         10.0        0       [ ]
    RED         12.0      +20       [X]
    GREEN       12.0      +12       [X]
    BLUE        12.0      -10       [X] 

This says:

1.  When auto focus is invoked for the Luminance filter, perform a full auto focus procedure;

2.  When auto focus is invoked for the Red / Green / Blue filters, simply move the focuser 
    to the calculated position for the selected filter;

3.  The calculated focuser position is always considered to be temperature dependent.

If I am using round robin on my subs, L-R-G-B, L-R-B-G, etc. this setup specifies that SGP is to do a full auto focus when changing to the Luminance filter but is to do a focus adjustment when moving to the other filters. So, when moving to the Red, Green or Blue filters, the actual position is calculated by taking the recorded position of the reference filter (Luminance), plus a correction for temperature difference between the reference filter temperature and the current temperature (the temperature delta), plus the offset recorded for the selected filter.

Going back to the Control Panel (Focus tab), when we want to record a focus position, the button "Set Focus for ‘filtername’ " is clicked. If the filter name matches the reference filter, the current focuser position and temperature is updated for the reference filter. If not the reference filter, the filter’s offset is updated using the temperature delta, the actual focuser position and the reference filter’s focus position to compute the offset for the selected filter.

When we want to force a camera focus for a filter, the "Focus For ‘filtername’ " button is clicked. If the reference filter has been selected, the focus position recorded for the reference filter is adjusted by the temperature delta. For the other filters, the focus position is computed based on the reference filter position, the temperature delta and the selected filter’s offset. Once calculated, the focuser is simply moved to the calculated position and the sequence continues.

All this implies the focuser being used has been accurately calibrated for temperature but that is a reasonable requirement.

I suspect that imagers using short focus APOs can make extensive use of the “focus adjustment” logic but that is for them to evaluate. Those of us with long focus, mirror systems may need to invoke the full auto focus more frequently but this design automatically updates all filter data whenever the reference filter is used for a full auto focus routine. For example, a slight mirror shift after a meridian flip can be corrected by using the full focus routine with the reference filter. That single focus step allows all the other filters to get automatically corrected for that mirror shift. For imagers using portable equipment, a single focus routine using the reference filter automatically sets up all the other filters.

Of course, I still want to be able to invoke the full auto focus routine as part of the automatic meridian flip; or when the temperature changes by more than 1C; etc.

For the automatic temperature compensation feature to be really effective, it might be necessary to implement it as a background thread that continuously monitors the temperature. This would allow SGP to make small, continuous adjustments to the focus position – even during an exposure. I have observed a 1C temperature change occurring during a 10 minute sub. That is enough focus shift to ruin that sub on my system.

Anyway you cut it, automatic focusing is a complex task and it may take a few revisions of any new logic to meet the needs of the broad range of SGP users.