Super Sample Anti Aliasing aware Registration and Stacking [Deep Sky] Processing techniques · Travis McGeehan · ... · 11 · 480 · 12

tikevin83 0.90
...
· 
·  1 like
·  Share link
Here to document a technique I'm working on for improving the quality of image stacking especially from CFA/Bayer camera images.

In images, the overlapping of pixels on other pixels causes a pattern called Moiré interference. This can be seen optically when looking at a chain link fence through a screen door, or in day to day imaging if you take a picture of an LCD screen with a phone camera.

When drizzle stacking bayered data, typically people consider it unnecessary or even unhelpful to upscale at high factors without huge numbers of subframes to spread out the input pixels, and often also to not even do bayer drizzling and just do debayered registration, especially if data is not dithered. This ends up being inaccurate due to the exaggerated effects of the registration and stacking pattern interference especially when used with low numbers of subframes.

I made a change in Siril on my fork here to enable much higher scaling settings in drizzle, which you can download to test here. With this change it's possible to demonstrate the specific effects of higher scale resolutions on reducing Moiré especially color interference due to the addition of the bayer pattern.

I did 2 separate stacks of a set of non-dithered data from a Canon Eos 60D at 200mm fl, 22 images at 2.5 minutes each for 55 minutes of integration (thank you to callo in NebulaPhotos discord for the dataset). I first cropped the preprocessed light stack to an area that will cover the region of interest across drift/dither, by selecting the area and right clicking->crop sequence. The crop is necessary to be able to use scales higher than around -6x due to hard limits on output image sizes before the images just become black (I think this might be running up against a 32b 4gb filesize limit?) In the first stack, I used an upscale size of 2 and pixel fraction of 1. In the 2nd stack, I used an upscale size of 8 and pixel fraction of 1.2, then re-registered the individual color channels and downsampled 4x (giving the equivalent of a 2x with 4xSSAA). Siril has an additional quirk right now that the "native" pixel fraction in registration is (Scale-1)/Scale which makes the used values look a bit strange. For now the value of pixel fraction used should be tested until just big enough that you don't see any dots of completely missing color after stacking (often 2*(Scale-1)/Scale should work for regular bayered camera data).

And here's the visuals of the results:
2x, autostretched
callo-flame-2x-unprocessed.jpg
2x, 4x SSAA registered, autostretched
callo-flame-2x-4xSSAA-unprocessed.jpg
2x, zoom on Alnitak, autostretch
alnitak-2x-unprocessed.png
2x, 4x SSAA registered, zoom on Alnitak, unprocessed
alnitak-2x-4xSSAA-unprocessed.png
2x, zoom on Alnitak, after my full processing workflow with blurX and NoiseX
alnitak-2x.png
2x, 4xSSAA registered, zoom on Alnitak, after my full processing workflow with blurX and NoiseX
alnitak-2x-4xSSAA.png

This demonstrates how the interference patterns get picked up by typical processing workflows and exaggerated, but almost disappear with higher resolution registration and downsampling. You can also notice a star between the left diffraction spikes on the SSAA image that is lost into noise in processing in the simple 2x upscale.

Now here's the additional note:
On oversampled data like from this Eos 60D with a 200mm lens, the SSAA registration helps only with reduction of the interference caused by registration, and can't really help recover any additional resolution. On significantly undersampled data like from my SQA55 and ASI533MC, the SSAA registration should provide even more benefit. Since the moire interference  is at the same size as the resolution gains being pulled out of drizzle stacking, a significantly high upscale size should remove some of the interference and allow tools like BlurX/NoiseX to more easily differentiate the recovered signal. I will post next once I have a result finished from testing this with my latest set of Markarian chain data.
Edited ...
Like
jhayes_tucson 26.84
...
· 
·  1 like
·  Share link
You don't have any Moire in your images.  The pattern that you see around the bright stars is simply a diffraction pattern caused by a multi-vaned iris in a standard camera lens.   Those diffraction patterns will be constant from image to image so image registration will not amplify them.  It looks like you've shown some saturation effects but the diffraction pattern won't be reduced by over sampling.   Oversampling might change how BXT handles them but that an artifact of the neural net.

John
Like
tikevin83 0.90
Topic starter
...
· 
·  Share link
I'm aware that the diffraction pattern in the star is from how lenses work and not a registration artifact. When I'm back at my machine I will post crops of the improvement in the noise background as well. Also the cropped images are not at a different ultimate level of oversampling, they are both 2x the input data. The improved one has simply been registered at 8x and then area downsampled 4x. So there should be no difference in how blurX/noiseX handles the data unless there is an actual improvement in lessened artifacts.
Like
tikevin83 0.90
Topic starter
...
· 
·  1 like
·  Share link
Here is an autostretched sample of the noise floor and a small star to show the improvement to the "blockiness" of both the small star and the noise background achieved by registering at the higher 8x upscale and downscaling 4x vs registering at 2x upscale.
2x
Noise-2x.png
4x "SSAA"
Noise-2x-4xSSAA.png
Edited ...
Like
jhayes_tucson 26.84
...
· 
·  Share link
Have you measured any change in SNR?  If so, what are you getting?  That's the best way to quantify what it's doing.
Like
tikevin83 0.90
Topic starter
...
· 
·  Share link
Here's some photometry statistics - because it's using only the green channel I don't think the SNR staying roughly the same is capturing the color noise improvement, but the FWHM is radically improved, and these are without any processing steps besides autostretch. It's consistent poking around other stars too.
2x
Star1-statistics-2x.png
2x - 4x "SSAA"
Star1-statistics-2x-4xSSAA.png
2x
Star2-statistics-2x.png
2x "SSAA"
Star2-statistics-2x-4xSSAA.png

and I've triple checked and these images are at the same final scale, 2x original camera pixel size.
Like
jhayes_tucson 26.84
...
· 
·  Share link
Ok...good.  So the SNR started at 30.4 db and wound up at 27.0 db at 2x "SSAA".  If I'm not mistaken, that represents a bit of a decrease in SNR.  Isn't the reduced FWHM simply due to BXT?  That's what deconvolution does.



John
Like
tikevin83 0.90
Topic starter
...
· 
·  Share link
No the 30.4 to 30.5 and 26.8 to 27.0 are the changes in SNR between the two stacks, and both those star checks are with zero processing besides autostretch, no BXT or anything except autostretch.
Like
jhayes_tucson 26.84
...
· 
·  1 like
·  Share link
Ok, I'm lost.  I'm not trying to hound you but I don't get what you are trying to show here.  A few posts ago, you stated, "...to show the improvement to the "blockiness" of both the small star and the noise background achieved by registering at the higher 8x upscale and downscaling 4x vs registering at 2x upscale."   And, when I suggested that you should measure it, you provided numbers that appear to show decreasing SNR.  Now, you are saying that the data is with zero processing except auto-stretch.  So, at this point, I've reached the limit of my attention span and I'm going to give up on this thread, but thanks for trying to explain it to me.

John
Like
tikevin83 0.90
Topic starter
...
· 
·  1 like
·  Share link
Video about the concept is live
Like
RideTheLiger 0.90
...
· 
·  1 like
·  Share link
Very interesting, thank you!
Like
tikevin83 0.90
Topic starter
...
· 
·  Share link
https://www.astrobin.com/0vcrgr/

New image up with the process, M101 stacked at 6x scale and downscaled to 3x for 2xSSAA.
Like
 
Register or login to create to post a reply.