Filter offsets


What’s the best way to accurately determine filter offsets? I’ve tried in the past but I guess I didn’t spend enough time on it as the results weren’t great and I moved back to focusing on each filter.

I’m keen to get this nailed down in time for the darker nights, so I know the next couple of months is the time to get it done.

My thoughts are to create a sequence using all the filters with say 1s exposures, focus on filter change enabled and rotate through events. Am I right in thinking this will give me a bunch of autofocus plots for each filter and if so am I able to ignore temperature shift through the evening?

Should I get exactly the same offsets between my frac and newt, or do I need to analyse both?

If my thinking’s correct here how then do I get the offsets from the log?


Hi Ian,

You can use the AF Logviewer to analyse the logs, see the thread here: SGP AF Logviewer v1.2 Release - Auto Focus - Main Sequence Software

If you scroll down in that thread you’ll see an example of what you just described, a sequence of many AF runs using different filters. You provide the logviewer with that logfile and it should compute the filter offsets. If there is a significant change in focus postion with temperature it will also compute that temperature coefficient.


Thank you Mikael, this is great, I’ll have a good read through and hopefully get my offsets figured out and validated in the coming month.

Great work!


I too have question about filter offsets - this topic popped up but it didn’t give me the info I need. I have a full complement of filters (LRGBHaSiiOiii) and have spend several nights calculating a proper temperature compensation value and proper offsets for each filter from the luminance.

What I would like to do is just focus on the luminance at the start of a session (per target) and let temp compensation and filter offsets do the rest. From what I can tell SGP only allows me to put in absolute focus positions and not relative (+ or - from the lum).

So… am I missing something?


SGP will do it for you. If you have the focus positions in after one test run…i.e. like on this screen shot,

…the narrow band filters here are all 5 points less than the Lum. When I do a focus run with the Lum filter and say focus position is 1758, when I switch to do a sub with Ha filter, SGP will automatically set the focuser to 1753----5 points less than the Lum. It reads the offsets from the above window and applies them as needed.

…I should have added; make sure “Auto adjust focus per filter” is checked.
Screenshot 2024-05-29 234656

Thank you for your reply. My issue is that the values in Focus Pt are “absolute”. That means if I put in 1750 (for example) for the lum filter, it is always going to go to 1750 regardless of temperature. And the actual focus point changes based on ambient temp - I can have as much as a 200-300 step difference from the start of one night to the start of the next night. I found the place to put the relative filter positions (it is within the settings for the EFW itself and not SGP), so after focusing on the lum, it will subract 54 steps when it goes to blue.

Next issue is temp comp. I see you have -10 set for your system - mine is -44. I watch the progress and I see it adusting 4 steps per 1/10th of a degree, but the focus is moving OUT instead of IN as the temp drops. Clearly I am missing something?


Two points there…1) with a change of 200-300 steps I am unaware how you can automate such a big change from one night to the next…that appears very large. I am lucky that, even if it changes from one night to the next, it is within a range that the first focus run will be able to correct for whatever difference in temperature has occurred from the previous night. (I only have to change my set initial
focus position from one season to the next (e.g. Summer to Autumn)
2) Your focuser is moving OUT rather than IN : … For me the 0 position is all the way in…so calling for -10 steps moves my focuser OUT. Either change your -44 to + 44 to if you want it to move IN. (Also check if it is set up correctly in the 1st place…perhaps you need to consider selecting “Reverse Focuser Direction”… on top of that screen …if perhaps things are not going as expected overall.
I am just pointing out the different settings…I really have no idea how you have your particular equipment set up…so cannot actually point to a definite solution.
EDIT: - 10 on my focuser moves it IN 10 steps because the ZERO position is all the way in. Is your ZERO all the way In or all the way OUT?

Sorry…I was confused in my last answer… -10 actually moves MY focuser IN …but the general advice about changing the sign from -44 to +44 still holds true for you OR perhaps use the REVERSE FOCUSER DIRECTION option as stated above.


Thank you for your answer. I have an Optec Focuslynx focuser on a 140mm f7 refractor. My focus routine step size is 100. I have a 44 step change with each degree change in temp. It is not unusual for me to have one night start at 22C and the following start at 17C. That does cause issues so what I do when I turn everything on I check the current temp from the previous night’s starting temp and move the focuser in or out via the manual controls in SGP to be at an approximate start point that won’t cause autofocus failure.

My zero position is all the way in as well. The focuser moves IN when I use the manual IN button, and it moves OUT when I use the manual OUT button (for frame and focus). It doesn’t seem to matter if I use -44 or +44 in the temp comp value field. It still moves OUT only. I may try to check the Reverse Focus Direction option to see if that “fixes” things. But that would also reverse the directions for frame and focus, would it not?


At this stage…I really can´t help further (not that I really was much help). I guess either @Ken or @Jared will have to step in to help further. No doubt they will require a log to see what instructions are being passed to the focuser.

Actually you did help a bit - sometimes talking through these things give me ideas on what to check. I will probably start with my focuser and re-zero it just to make sure things are fine there, then do another test run to check temp comp movement. I’ll keep the log this time and can post that as appropriate.

But as is usually the case, now that new moon is approaching, weather has turned bad… LOL

After reading through, I don’t have any additional information to add. If you continue to have issues the next step is to capture the behavior on logs so that we can take a deeper look at what is happening.

Hi Ken

I think my issue may be in understanding how filter offsets work in SGPro. So here is my attempt to explain what I want to do, and what I think SGPro is doing,

What I want to do:

  1. Run an initial focus with the luminance filter at the start of a sequence
  2. subsequent focus positions modified by (1) temp compensation and (2) specific filter offset

Thus, let us say my initial focus brings the focuser to position 1000 with the lum filter. I image with the lum filter, during which time the temp drops 2 degrees. I have a temp comp factor of -10 per degree so at the end of the lum filter run, the focuser is now at position 980. I go now to the blue filter, which has an offset of -50 - which now puts the focuser at position 930.

I have a ZWO EFW, and I have used the EFW settings to load the offsets per filter. But SGPro seems to ignore them.

What I think SGPro is doing when filter compensation is being used:

  1. SGP goes to the Focus tab of the focuser and looks for an absolute focuser position for the lum filter and sets the focuser at that position
  2. When you switch filters, it retrieves the absolute position stored in the focus tab and goes to that, but first applies temp compensation.

So - if this is indeed the case - my question becomes this:

  1. If I put in an absolute position of, say 1000 for lum focus and in my example from above 950 for the blue filter, what happens next? Since the temperature at the start of a sequence can vary here by many degrees, actual focus could be anywhere from 960 to 1040 and most certainly won’t be the stored value of 1000.

Does SGPro load this initial value of 1000, then run the focus routine to get the exact focus, and dynamically adjust all the stored values accordingly? For example - let’s say the stored 1000 value is set, autofocus runs and determines actual focus is 1010. Will it now change the stored value of the blue filter from 950 to 960 (absent temp comp which I believe SGPro does before doing filter offsets)?

If that is indeed the case then I know how to proceed.

Thank you in advance in helping me understand how this routine works.

Frank Dibbell

Sorry, I’m not 100% sure what you mean by this. If the ZWO CPW driver allows users to define focus offsets per filter, SGPro does not import them. It will only import the actual filter names and positions. Are you using the import function on the Filter Wheel setup dialog?

The exact order of operations is as follows (assuming you have auto focus at sequence start or trigger otherwise):

  • Sequence starts
  • Does sequence have an approximate focus position defined from last session? If so, move to this position and apply temp comp.
  • Run auto focus using a broadband filter (presumably LUM)
  • Capture data
  • temp drops, adjust focus position
  • Filter changes, apply relative difference between old filter and new filter. SGPro will never move to the absolute position (except in rare cases at the beginning a sequence)

I am unsure how to interpret the section you titled `What I think SGPro is doing when filter compensation is being used because it seems to conflate temperature compensation and filter offsets. These things may or may not occur together, but are not related.

@fdibbell As Ken says the filter offset movements are always relative, so SGP will just use the difference in filter positions entered into the table.

If you look at the relevant section of the manual, this is well explained. Look particularly at the Example given on this page:


Here is the extract from the manual:


Assume you have a focus point for a Red filter set to 7010 and a focus point for a Green filter set to 7030. You are imaging at a temperature much colder than the one used to set these focus points. You are currently at focus with your Red filter at 6940. If you are using this option and switch to your Green filter, your focuser will move out to 6960 (not 7030) to obtain focus. This is because, at the same temperature, the filters differ in focus position by 20 steps.*

Hi Ken (et al)

OK you answered one primary question - SGP does not import offset data, only filter names and positions.

I am sorry if I confused you on the temp comp and filter offset - I know that they are separate operations, and that SGP is actually doing compensation every 0.1C (comp value is 44 steps per degree for my system and every 0.1 degree drop I see the focuser change position 4 steps in real time). The manual states that SGP will apply temp compensation before applying filter offset computation. Fine with that.

The only bit of confusion I had, which is now cleared up - was the offset values entered into the filter table in SGP. Upon first read of the manual, it appeared to me that these were absolute values and SGP would advance to the entered position, which in my mind would not be the actual position given temp changes etc.

As I understand it now (using the lum as my base), I enter the lum filter focus point (say it was 1000), then if my offset for blue was -50, enter 950 as focus point and specify “lum” as focus with filter. SGP will use the 1000 as a starting point for the first focus run - let us say the actual focus is 1010. When it comes time to go to the blue filter, SGP notes that there is a -50 step difference between lum and blue, and applies that -50 step difference to the actual value of 1010 and not the stored value of 1000.

On subsequent nights it will do the same thing - use the stored value of 1000 as a starting point.

Apologies for beating this to death. I read the manual, but I still had questions, which is why I posted :slight_smile:

Thanks in advance

We are not opposed to importing this data… the only reason we don’t is that it didn’t exist when we made the filter settings a long long time ago. If those numbers are what I think they are and are compatible with SGPro concepts, importing them would be pretty easy.

1 Like

Hi All

I now have filter offsets working as they should - thank you all for your help.

I did get some anomalous behavior on temperature compensation though… I received a modal dialogue box upon sequence start that warned me something to the effect that temp comp environment was not set up - do I want to continue? I said yes, and temp comp worked just fine. I have the log file - which I will have to figure out how to upload…


1 Like