Checkerboard pattern around stars after drizzling in WBPP Pleiades Astrophoto PixInsight · Klaus Haaken · ... · 43 · 2126 · 12

rambaut 1.20
...
· 
·  Share link
Here is a close up of the pattern I get. The grid is 2x2 pixels but definitely looks like the debayer mask to me (green-red-blue-green). The second image is the exact same region but the non-drizzled integration.

I have tried using the Gaussian drizzle function and bilinear CFA (instead of the default VNG) - no difference.  image.pngimage.png
Like
JamesPeirce 2.11
...
· 
·  1 like
·  Share link
Maybe an applied example of what CFA drizzle can be good for, and how I use it, might be of some use.

Here is a side-by-side example using data which ultimately ended up producing this photograph of Andromeda, showing, at this zoomed out scale, some of the reasons why CFA drizzle can be useful (e.g. for color accuracy), and zoomed in 1:1 showing some of the smaller-scale structural changes it affects.

Sorry about the 100% scaling, folks. Not sure how to limit it here except with a small image.
cfa-vs-non-cfa-2048.jpg
Click here for 1:1 scale (carefully compressed to avoid much loss of color and detail)

Of note, for a CFA drizzle, I would just use a drop shrink of 1. You will still get some enhancement of detail regardless, but a drop shrink of 1 is sufficient to bypass debayer interpolation. And I would rather deal with any enhancement of detail beyond this point in post-processing (especially simple as a mild application of BlurX structure detail enhancement). Those and other linear post-processing can be applied ahead of Integer Resample as one option if a larger resolution isn’t desired.

CFA drizzle integration is, in my opinion, a valuable tool when working with CFA data. And even if I don’t use it to upscale, I tend to appreciate it solely for the ability to bypass debayer interpolation. It can help a lot with certain types of aberrations (especially in stars), helps with some forms of color noise, balances the noise profile (a non-CFA drizzle of color data tends to create noise which varies in peaks and valleys that I find harder to work with and process around), and improves accuracy of color calibration.

The applied difference can vary quite a bit depending on the image. With a larger amount of well-dithered exposures differences can become less pronounced, and some of the color calibration and star form/aberration benefits are most pronounced when working with undersampled data. But I’ve certainly tested it a mess o’ times over trying to decide what workflow is best for my own images, at different scales, trying to sort out which is best for me.

Usually the S/N reading for the CFA-drizzled image is lower, and you can usually see that the non-CFA drizzled image will auto-stretch a bit brighter in mid-tones. But I’m not sure I take that strictly at face value as when you stretch the two samples to match and use noise reduction, as results tend to be a bit more comparable than the readout number implies. The noise profile of the CFA-drizzled image tends to be easier to work with in many ways. You tend to get some sort of vestige of the CFA showing up around stars in a CFA drizzle (you can see a much less dramatic example of it here), but if you look at the non-CFA drizzled image you get somewhat block-like artifacts in their place. Noise reduction can mitigate pixel-level artifacts as in this example reasonably well.

When CFA data is drizzled in WBPP it applies a CFA drizzle. Need to run Drizzle Integration independently to turn off the CFA drizzle option. And personally, I’m not sure how useful that option has been. I have found some uses for it with color data, but mostly I prefer the CFA drizzle result (for the reasons why it exists).

In the times I have been able to lend a hand to someone, complaints like “SPCC does not give me a good color calibration,” when working with color sensor data, tend to be helped out a lot by using a CFA drizzle (if it’s not a different issue like pedestals not being added when needed).

I don’t think I’ve ever seen a pattern quite as pronounced as OP’s, though. This dataset could have been better suited for a 2x drizzle with more subs and more dithering as well, and it shows a bit in the result (artifacts start to vanish with enough data), but it seems rather removed from OP’s example.
Like
JamesPeirce 2.11
...
· 
·  1 like
·  Share link
Klaus Haaken:
James Peirce:
Does it improve if you reduce the drop shrink? Are you sure you are dithering an adequate distance?

Even with a drop shrink of 1 you’ll still get an improvement to resolution with a CFA drizzle from sub-pixel sampling. I use it pretty regularly (not so much for resolution, as post-processing tools are available to solve many problems without sacrifice S/N, but to address other challenges associated with debayering, which affect tools like SPCC) and while sometimes characteristics owing to the CFA are present, I have rarely seen something this pronounced. Even when working with as few as 50 files.

Thank you James for your comment.

I made further tests. I tried drop shrink of 0.9 and 1.0 for my quick 29-frames-example (from above). It only improved a very little bit.

Then I tested the approach that you, @Vitaly suggested, integrating the 29 frames in WBPP (without drizzle) and then use the process "drizzleIntegration" seperately with just the default settings (scale 2, drop shrink 0.9).

In the deafult of the tool the CFA drizzle is not enabled and the resulting image does not show this pattern. However, without the CFA drizzle, it does not really drizzle but only resample the image? Do I see this correct?

Maybe I am just not getting it ;) I am still learning...

I posted above some of my personal thoughts on CFA drizzle with an example, in hopes it may be useful.

If you do a drizzle in WBPP, when working with color sensor data, it will automatically select a CFA drizzle. As noted, you can do a non-CFA drizzle with color sensor data by running Drizzle Integration manually, but it does not seem helpful to do so in my own experience.

I would personally apply a drop shrink of 1 when working with color sensor data. If there is a resolution upside to a more aggressive drop shrink for color sensor data, I would rather not trade S/N for it in this case, nor make the drizzle more demanding of the data. The best upsides are available with a drop shrink of 1.

Also, generally speaking, reducing the number of frames you are working with won’t tend to affect any sort of positive outcome, as drizzle integration appreciates more, well-dithered data, and starts to fall apart as reality falls shorter from that standard.

If you upload your data, I’d be happy to have a peek. I am curious why the pattern is so pronounced in your example.
Like
klaushaaken 0.90
Topic starter
...
· 
·  Share link
James Peirce:
Klaus Haaken:
James Peirce:
Does it improve if you reduce the drop shrink? Are you sure you are dithering an adequate distance?

Even with a drop shrink of 1 you’ll still get an improvement to resolution with a CFA drizzle from sub-pixel sampling. I use it pretty regularly (not so much for resolution, as post-processing tools are available to solve many problems without sacrifice S/N, but to address other challenges associated with debayering, which affect tools like SPCC) and while sometimes characteristics owing to the CFA are present, I have rarely seen something this pronounced. Even when working with as few as 50 files.

Thank you James for your comment.

I made further tests. I tried drop shrink of 0.9 and 1.0 for my quick 29-frames-example (from above). It only improved a very little bit.

Then I tested the approach that you, @Vitaly suggested, integrating the 29 frames in WBPP (without drizzle) and then use the process "drizzleIntegration" seperately with just the default settings (scale 2, drop shrink 0.9).

In the deafult of the tool the CFA drizzle is not enabled and the resulting image does not show this pattern. However, without the CFA drizzle, it does not really drizzle but only resample the image? Do I see this correct?

Maybe I am just not getting it ;) I am still learning...

I posted above some of my personal thoughts on CFA drizzle with an example, in hopes it may be useful.

If you do a drizzle in WBPP, when working with color sensor data, it will automatically select a CFA drizzle. As noted, you can do a non-CFA drizzle with color sensor data by running Drizzle Integration manually, but it does not seem helpful to do so in my own experience.

I would personally apply a drop shrink of 1 when working with color sensor data. If there is a resolution upside to a more aggressive drop shrink for color sensor data, I would rather not trade S/N for it in this case, nor make the drizzle more demanding of the data. The best upsides are available with a drop shrink of 1.

Also, generally speaking, reducing the number of frames you are working with won’t tend to affect any sort of positive outcome, as drizzle integration appreciates more, well-dithered data, and starts to fall apart as reality falls shorter from that standard.

If you upload your data, I’d be happy to have a peek. I am curious why the pattern is so pronounced in your example.

Sorry for the late reply.
Thank you very much @James Peirce for your advices and explanations!

I will definately have that in mind for my next processing and make some tests/comparisons.

I was thinking about the reason for the pattern. Is this probably coming from camera-scope combination in addition with a certain S/N ratio?  I did not see it yet with my Skywatcher Quattro 200P. However, still don't have the Quattro for so long and here, the images are not undersampled with the IMX571.

If I wanted to upload the data, can I do this here? The size of the xisf-file is about 2.3 GB.
Like
rambaut 1.20
...
· 
·  1 like
·  Share link
Having done quite a few experiments now on the data I was getting the issue with I don't think it is anything to do with the drizzle settings (or the dithering). I think (not certain) that it is indeed not having enough data. It would seem not to be the number of frames but the amount of signal (relative to noise) in the frames. I was getting the issue in 140 frames of data taken over a couple of nights in a very light polluted area with a dual narrowband filter (i.e., lots of frames, not much signal). On the other hand with just 40 frames from a dark sky site with no filter, there was no issue. I was trying to use a subset of those frames to see how few I needed to get the pattern but WBPP kept freezing on the drizzle integration - no idea why, will submit a bug report.  If that is the case, I think the only solution when you get the issue is to not drizzle (luckily WBPP also gives you the non-drizzled integration).
Like
jerryyyyy 9.62
...
· 
·  Share link
Hi, I drizzle everything and have not seen your problem, but note these settings... scale is 1... drizzles and scales back to where you started in my oversampled 6200 (Mono) there is in general a pretty obvious improvement... like the stars are rounder and FWHMexcentricity notes about a 10% increase in stars identified. 

image.png
Like
whwang 15.16
...
· 
·  1 like
·  Share link
I don’t think OP’s problem is caused by insufficient frames. 50 is plenty. I almost never drizzle-stack more than 40 frames, 20 are the typical number for me. And I rarely got this pattern. (Sometimes I did, but it was almost always easily fixable.) People often claim that more frames are required. I believe this is because you dilute the problems (rather than eliminating the problem) with many frames, not because proper drizzling requires more frames.

Here are my suggestions to OP:

1. Run registration, integration, and drizzling outside WBPP. This allows for much more freedom, and easier going back and forth to test different parameters.

2. Always turn the CFA drizzle option on when you drizzle data from color sensors.

3. You can do 1x drizzle first. That serves as a  good baseline to be compared with 2x drizzle results to check if the 2x drizzle really gives you more details, or if it introduces artifacts like the checkerboard pattern here.

4. Run local normalization before drizzle-integration can be key to suppress the checkerboard pattern. 

I hope some of the above helps to resolve your problem.
Like
OklahomAstro 5.08
...
· 
·  Share link
Andrew Rambaut:
I have seen this exact same pattern (same camera, dithering every frame, same drizzle settings except I was using a dropshrink of 0.9). I was also wondering if it was some bad interaction with deBayering. I was going to try a few other settings (different shape function such as Gaussian and/or Bilinear interpolation for debayering). But I haven't had time to try it.

Set your drizzle settings to this: Dropshrink .85, Varshape = 3, Grid size of 8. Be sure to dither wider, and use a LOT of high SNR data.
Like
jrista 11.18
...
· 
·  Share link
Klaus Haaken:
Hello everyone,

in a recent processing I found a checkerborad-like pattern around bigger and medium sized stars, mostly on one half of them. But this only occurs in the drizzled image (see screenshot below: left: drizzled image, right: non-drizzled image). It becomes even more obvious in the finally processed image.

Imaged with a ZWO ASI2600MC Pro through an Askar FRA300 Pro, no additional filter.

The drizzle settings were:
- Scale: 2
- Dropshrink: 0.85
- Function: Square
- Number of light frames: 50, 300 s each, with dithering applied after every second frame, 10 pixels

Also noticeable is the much stronger color noise in the left image than on the right.

It probably has to do something with the bayer matrix/debayering in combination with drizzle? Since the bayer pattern is somehow visible.
Does anyone have an idea for the reason of this result and how to fix it? 

Can it be solved with different debayering settings or different drizzle settings or both?
Or do I "just" have to increase the number of light frames?

Thanks for your help!

CS, KlausScreenshot 2024-10-03 114125.png

Took me a sec to see the checkerboard. I'm not used to seeing it in color images. ;) 

First, I noticed your dithering frequency. If your intent is to drizzle, dither every frame. Always. Period. Dithering is foundational to achieving the right results with drizzling, and insufficient dithering will indeed cause problems like this. In effect, you have drizzled 25 frames, not 50, due to the dithering every other frame. Every pair of frames will effectively have mostly the same data, so drizzling will disperse the same data the same way. So your effective frame count is low...due to the sparse dithering. This is probably your primary problem. 

With just 25 effective dithered frames, 10 pixels seems to not be enough, given the checkerboarding you are in fact experiencing. I would increase the frequency and magnitude of your dithers. and see if that helps. If the magnitude is low enough, then you might not get enough randomization in the magnitude of each dither, and there is a possibility that the bayer matrix could align across dithers... Keep in mind, with OSC you really need to dither a 2x2 group of pixels, and you want that group of pixels to move enough so that entirely different information lands on it in each and every frame... Where 10 pixels might be enough (at least as a starting point, always test and evaluate to make sure!) for monochrome dithering, I truly wonder if its enough for OSC. I'd say try doubling your dither magnitude...20 pixels. Maybe more. Especially if you have a large high density sensor, losing a border of a few dozen pixels in your final stack isn't going to matter much. 

I am also curious...are you using BAYER drizzle? Or are you using a normal drizzle? Bayer drizzle takes into account the CFA in a bayer matrix sensor. If you haven't chosen this option, that might be part of the issue as well.
Like
WhooptieDo 10.40
...
· 
·  1 like
·  Share link
Without reading the whole thread here, the answer is dithering more.   With OSC dither every frame, and I suggest an odd number of pixels to overcome the bayer matrix.    3, 5, 7px etc.    You need to consider that in a 2x2 square, only one of those pixels is red, and one is blue.   You have to overcome this lack of signal.
Like
dkokinda 1.20
...
· 
·  Share link
To those saying anyone with a OSC camera should dither EVERY frame period, I respectfully disagree.  I agree that insufficient dithering is likely involved, but I believe with dithering, you need to dither enough, but not necessarily every frame.  If you have a lower frame count, then yes, every frame.  If you have many hundreds of frames, then less frequent is sufficient.

I do agree that you want to dither an amount that is not an easy multiple.  An example of both of these beliefs is my recent posting of M31.  It consists of 1034 subs, dithered 7.1 pixels, and is drizzled X2.  I personally do not see any drizzle artifacts upon pixel-peeping.

To the idea that dithering reduces the effective number of frames by the dither count, again I respectfully disagree.  I agree that it does reduce the number of frames when considering drizzling, but there are other factors involved in pre-processing.  The total number of frames affects signal to noise ratio improvement in stacking, not the dithered frame count.  After all, isn't that why we take as many subs as we do?
Like
rambaut 1.20
...
· 
·  Share link
I agree - dithering is not the issue on its own. I have always dithered 5 pixels between every frame (because why not - other than loss of time). The consistent factor I have seen is low signal to noise ratio (not strictly number of frames, as a small number of frames from dark sky has no issue - large number (>100) of light polluted frames give the issue). Not had time to do some systematic experiments but will soon. However I think the solution is simply to look in the drizzled image and if the issue is there, use the non-drizzled integration.
Like
jrista 11.18
...
· 
·  Share link
Dan Kokinda:
To those saying anyone with a OSC camera should dither EVERY frame period, I respectfully disagree.  I agree that insufficient dithering is likely involved, but I believe with dithering, you need to dither enough, but not necessarily every frame.  If you have a lower frame count, then yes, every frame.  If you have many hundreds of frames, then less frequent is sufficient.

I do agree that you want to dither an amount that is not an easy multiple.  An example of both of these beliefs is my recent posting of M31.  It consists of 1034 subs, dithered 7.1 pixels, and is drizzled X2.  I personally do not see any drizzle artifacts upon pixel-peeping.

To the idea that dithering reduces the effective number of frames by the dither count, again I respectfully disagree.  I agree that it does reduce the number of frames when considering drizzling, but there are other factors involved in pre-processing.  The total number of frames affects signal to noise ratio improvement in stacking, not the dithered frame count.  After all, isn't that why we take as many subs as we do?

To be clear, my comment about having 25 effective frames, was SOLELY in the context of drizzling's effectiveness, not in terms of SNR. There are still 50 frames from an SNR standpoint. With an OSC sensor, I honestly do not believe that 25 distinct positions for the pixels is really optimal to ensure you don't run into artifacts when drizzling. I think more frames should be used if you want the best results, and I think strong dithers will help here as well. There is a matter of how the innate gaussian/poisson distribution of noise correlates with any kind of stacking, and larger dithers help there. 

IMO, stacking 1000+ frames is pretty rare, and if you stack that many, then you are probably not going to have problems with drizzling. Further, if you are stacking that many frames, then perhaps sparse dithering could be ok... IMO, though, there are often ways to dither less frequently, without having to skip frames (i.e. dither every subset of say RGB, switching filters between each frame, or something like that.) 

I also think you make a good point about the SNR of individual subs... I don't know what the exposure criteria or SNR criteria o the OP's frames are, but with only 50, I would hope that each frame is sufficiently exposed. If they are not, then yes, deeper sub exposures are probably needed.
Edited ...
Like
rambaut 1.20
...
· 
·  Share link
Removed this past as more details posted on PixInsight forum:https://pixinsight.com/forum/index.php?threads/checker-board-pattern-from-drizzleintegration.24747/#post-162566
Edited ...
Like
rambaut 1.20
...
· 
·  Share link
Removed this post. Follow up on PixInsight forum:
https://pixinsight.com/forum/index.php?threads/checker-board-pattern-from-drizzleintegration.24747/#post-162566
Edited ...
Like
rambaut 1.20
...
· 
·  Share link
Have submitted a bug report to PixInsight forms.
Like
@littlehubble 1.81
...
· 
·  Share link
Andrew Rambaut:
Further test on the above data, repeating the drizzle integration:
I tried drizzling at 3x scale (to try and move away from factors of 2) - didn't fix it.
A 13x13 grid for VarShape=3 (with 2x scale) - didn't fix it.
A square function (with 2x scale) - didn't fix it.
A Gaussian function (with 2x scale) - didn't fix it.
1x drizzle scale (no upscaling) - didn't fix it.

As you might expect the pattern repeat is 2x2 for the 1x scale, 4x4 for the 2x scale and 6x6 for the 3x scale.

Hey. Have you drizzled with enabled image weighting? If yes, I would suggest trying with this option turned off.
Like
rambaut 1.20
...
· 
·  Share link
Vitaly:
Andrew Rambaut:
Further test on the above data, repeating the drizzle integration:
I tried drizzling at 3x scale (to try and move away from factors of 2) - didn't fix it.
A 13x13 grid for VarShape=3 (with 2x scale) - didn't fix it.
A square function (with 2x scale) - didn't fix it.
A Gaussian function (with 2x scale) - didn't fix it.
1x drizzle scale (no upscaling) - didn't fix it.

As you might expect the pattern repeat is 2x2 for the 1x scale, 4x4 for the 2x scale and 6x6 for the 3x scale.

Hey. Have you drizzled with enabled image weighting? If yes, I would suggest trying with this option turned off.

That doesn't fix it either.  https://pixinsight.com/forum/index.php?threads/checker-board-pattern-from-drizzleintegration.24747/#post-162566
Like
@littlehubble 1.81
...
· 
·  Share link
Andrew Rambaut:
Vitaly:
Andrew Rambaut:
Further test on the above data, repeating the drizzle integration:
I tried drizzling at 3x scale (to try and move away from factors of 2) - didn't fix it.
A 13x13 grid for VarShape=3 (with 2x scale) - didn't fix it.
A square function (with 2x scale) - didn't fix it.
A Gaussian function (with 2x scale) - didn't fix it.
1x drizzle scale (no upscaling) - didn't fix it.

As you might expect the pattern repeat is 2x2 for the 1x scale, 4x4 for the 2x scale and 6x6 for the 3x scale.

Hey. Have you drizzled with enabled image weighting? If yes, I would suggest trying with this option turned off.

That doesn't fix it either.  https://pixinsight.com/forum/index.php?threads/checker-board-pattern-from-drizzleintegration.24747/#post-162566

I got yesterday weird results for drizzle from FBPP for my old RGB data on M27.
Non-drizzled was also looking awful, like there were only a small amount of frames stacked (although more that 2k+ were processes).
I have a feeling my weighting measurements are to blame.

When I manually re-drizzled with the weihting off I got what I was expecting. And I probably didn't dither those frames, can't remember.

Weights ON:
image.png

Weights OFF:
image.png
Like
 
Register or login to create to post a reply.