Synthetic offset

I’m currently testing subtracting a synthetic offset from flat frames according to this tutorial:
Siril - Synthetic biases

Now I want to try that for the light frames, too. So basically I’m going for the “(L-O1)/(F-O2)” approach.
O1 = median ADU of dark
O2 = median ADU of bias

In this case I’d still like to apply cosmetic correction without subtracting the actual Masterdark but only the dark offset.

Is it somehow possible to use cosmetic correction in this case?

cosmetic correction is only enable when using master dark because we use it to set a map of bad pixels.
So, if you don’t subtract master-dark you can’t.

However, there is a standalone tool to apply a cosmetic correction in the processing menu. To be used on preprocessed CFA images.

Thanks for your fast reply! I do understand that you create the bad pixel map from the masterdark. But that doesn’t mean that you also have to subtract this masterdark and instead use the bad pixel map only.
I see that creating a bpm from a masterdark but subtracting an offset only isn’t implemented yet (and maybe never will). A tick box like “Do not subtract this Masterdark. Use for cosmetic correction only” would be really great. :relaxed:

So the standalone tool to apply a cosmetic correction uses the light frames themselves to find bad pixels, right?


If you take a look closer this approach is not perfect.

You mean that you can’t get rid of dust spots completely with this approach? I’m aware of that, but I think it’s still worth a try in favor of not introducing additional noise.
Or anything else I’m missing here?

I mean your lights won’t be perfectly flats.
I prefer to have some more noise that a light not well calibrated.

I would say on top of not correcting for dust spots, it will also not get rid of ampglow. Depends on how much your sensor is sensitive to this. It will also not correct for hot pixels mapped from the masterdark, but provided you have numerous frames and have dithered your session, that should be handled by rejection at the stacking step.
In the tutorial, it says that it’s better to correct the lights with the level of darks in case you did not have a chance AT ALL to capture a series of dark. I would say it is always better to substract a masterdark from the lights, because of the low level of signal (while for flats, substracting the offset level is good enough because the signal is huge). But would be interested to see a comparison of both approaches.


I’m using an ASI2600MC Pro, so ampglow isn’t a problem.

But isn’t that the whole point of a bad pixel map? That’s why I like to create a bad pixel map (cosmetic correction) from the masterdark, but don’t want to subtract this masterdark itself.

That’s “O1” in this case. Well … I have the chance to take a series of darks and I want to use the corresponding masterdark as source for the cosmetic correction.

That’s what it is all about. :wink:

Ok, so for the sake of testing, here’s a hack to achieve what you want to do.

  • Open your masterdark and convert to 16b (if that’s not already the case)
  • make a stat to determine median and sigma, I’ll assume 100 for sigma and median level O1 of 1920 (because that’s what I have in the masterdark I’ve been testing with to devise this trick :wink: )
  • now let’s say we want to consider “hot” any pixel which is higher than median+3*sigma, so 2220.
  • type offset -2220 in the command line => Thanks to using 16b, it will clip all the non-hot pixels to 0.
  • then type again offset 1920, it will raise all the non hot-pixels to level O1 and the hot pixels above.
  • save the file.
  • you can use it as a dark which has a constant level O1 and hot pixels above.
    You can see how many pixels are detected as hot by loading it in the pre-preprocessing tab and clicking Estimate. You should change the detection level of hotpixels to the smallest possible value to make sure they all get detected.

OK so I went ahead and did the test myself…
I preprocessed a light with a regular masterdark and this synthetic dark with hot pixels + same masterflat. In both cases, same number of hot pixels detected and removed.
If I check the background noise on preprocessed lights I get the following:

  • classic masterdark:
    12:34:20: Background noise value (channel: #0): 33.979 (5.185e-04)
    12:34:20: Background noise value (channel: #1): 33.752 (5.150e-04)
    12:34:20: Background noise value (channel: #2): 33.087 (5.049e-04)
  • synthetic masterdark:
    12:34:40: Background noise value (channel: #0): 34.691 (5.293e-04)
    12:34:40: Background noise value (channel: #1): 34.242 (5.225e-04)
    12:34:40: Background noise value (channel: #2): 33.597 (5.127e-04)

So it seems the light processed with the synthetic masterdak is a bit more noisy. But one might say that this is caused by ampglow, I have an ASI294MC and ampglow is definitely a problem. And anyway, noise will be visible most of the time in the sky background. So I cropped a box (the same on both files) where I have mostly sky and a few stars and went ahead comparing:

selected box:

And here again, the classic masterdark is doing a better job:

  • classic
    12:50:46: Background noise value (channel: #0): 33.979 (5.185e-04)
    12:50:46: Background noise value (channel: #1): 33.752 (5.150e-04)
    12:50:46: Background noise value (channel: #2): 33.087 (5.049e-04)
  • synthetic:
    12:49:54: Background noise value (channel: #0): 35.439 (5.408e-04)
    12:49:54: Background noise value (channel: #1): 34.527 (5.268e-04)
    12:49:54: Background noise value (channel: #2): 33.342 (5.088e-04)

So from this, I would conclude that I will keep using masterdarks (required by my ampglow problem so I don’t have much of a choice). Anyway, with a cooled camera with which you can take plenty of darks, the amount of noise you will leave in the stacked master should be really small. And I will keep on using synthetic biases for my flats because I find it much more handy than maintaining a library.
Very interested to see if you come up with the same conclusions.


1 Like

Sorry for the delay. Here are my results:

  • sigma of masterdark: 24.4
  • median of masterdark: 251

BTW … in my case the median of a 300s dark is the same as the median of a bias frame which is awesome. So actually O1 = O2. And yes, I tested how low a I can go with the camera offset and still avoid black clipping.

  • classic masterdark (20x300s)
    Background noise value (channel: #0): 22.748 (3.471e-04)
    Background noise value (channel: #1): 24.495 (3.738e-04)
    Background noise value (channel: #2): 24.057 (3.671e-04)

  • synthetic masterdark/bad pixel map
    Background noise value (channel: #0): 22.788 (3.477e-04)
    Background noise value (channel: #1): 24.515 (3.741e-04)
    Background noise value (channel: #2): 24.072 (3.673e-04)

This doesn’t change if I measure a small selection.

Quite the same result as @cissou8’s with an even less and negligible difference. So same conclusion for me: synthetic biases for flats are handy, but will keep using classic masterdarks.

1 Like