2023-09-28: APP 2.0.0-beta24 has been released !
Improved application startup, fixed application startup issues, upgraded development platform to Oracle GraalVM JDK21
We are very close now to releasing APP 2.0.0 stable with a complete printable manual...
[Sticky] What is Drizzle and when can I benefit from it ?
Can someone explain drizzle in simple terms, and why I should or should not use it?
Edit by Mabula: Good Question ! Upgraded to a Sticky !
Hi Adam @singding,
Sure, let me try 😉
Drizzle is a special method of integrating your data, invented by astronomers working with and for Nasa on the Hubble Space Telescope data initially.
Famous Nasa article introducing Drizzle integration :
Drizzle: A Method for the Linear Reconstruction of Undersampled Images
A. S. Fruchter, R. N. Hook
Information on Nasa website:
And explanation by Andy Fruchter, one of it's inventors:
So what's Drizzle then in simple terms? Let me try to formulate this as simple as I can.
Drizzle is a technique that can reveal more detail in your data when compared to simply integrating your data with a traditional average/median method (in combination with a data interpolation/resampling filter like Lanczos-3).
All pixel data of your light frames will be regarded as drops of data, therefore the term drizzle.
In Drizzle integration, the drops of data will rain down on the target pixel grid that will contain the integration result. This target pixel grid will have a higher resolution than the original data. For instance, the amount of pixels is increased with a factor of 2.0 in width and height:
image from the MultiDrizzle Handbook:
Now if the drops have the same size as the pixels, the drizzle integration will NOT give a sharper result when compared to traditional integration with average/median methods.
But, if you make the drops of data smaller than the initial pixels, you might start to see some improvements in sharpness in the integration result.
The possible sharpness increase is offset by an increase of noise in the integration result.
This is very important !
Drizzle is always about sharpness versus noise !
A sharper result will be noisier and vice versa.
Now, When can I use Drizzle to benefit from an increase in sharpness in the integration result ?
To be able to really benefit from Drizzle, your data needs to comply to 3 rules:
- The data must be undersampled
- the data must be well dithered
- you must have a lot of data
1) undersampled means that your camera is sampling the data with a lower resolution thant the resolution of the data that falls on our camera's sensor.
For an earth based observer using exposure times of several seconds and longer, this usually means that drizzle can be beneficial if your imaging scale is larger than the atmospheric seeing. So wide-field images with focal lenghts less than 200mm will almost always benefit from drizzle if 2) and 3) are met.
On the other hand, if you image with long focal lenghts with an image scale of 0.5 arcseconds /pixel and the seeing is 2 arcseconds. Then drizzle makes no sense really, you will only get more noise in your final result and no real increase in sharpnes.
2) dithering, this means that each exposure is slightly shifted in orientation with respect to the other exposures. This will gather the extra data needed for the possible increase in sharpness. It's important to realize, that these dither shifts/steps only need to be sub-pixel sized. So if each image is shifted with 0.18 pixel to the left and to the top of the field of view, you are dithering the data in a way required for Drizzle to make sense.
3) finally, a lot of data is needed to offset the increase in noise as a result of drizzle integration to acquire a sharper integration result. Drizzle is a BIG ! noise injector which is often forgotten I think. To qoute the official Nasa MultiDrizzle Handbook v3.0
Section 126.96.36.199 Correlated Noise Details: Overview
Drizzle frequently divides the power from a given input pixel between several
output pixels. As a result, the noise in adjacent pixels will be correlated....
The correlation of adjacent pixels implies that a measurement of the noise in a
drizzled image on the output pixel scale underestimates the noise on larger scales.
So this is what Drizzle does with noise. It's rarely mentioned in the astrophotography sphere on the internet fora but it's really important to realize.
Drizzle is injecting Signal & Noise of 1 original pixel into several pixels in the target pixel grid for integration. This results in sharper integrations possibly, but also in more noise as a consequence.
The Drizzle implementation is completely according the Nasa handbook. You can control the
- drizzle drop (droplet) size,
- the increase in resolution of the target pixel grid (scale setting for integration)
- choose the drizzle kernel, different kernels exist that have different outcomes on both sharpness, detail and noise in the final result. A square kernel will give less round stars than a tophat kernel for instance.
Finally, Bayer Drizzle is an additional form of integration in which OSC Bayer data is not debayered. Only the Bayer pixels are used in the drizzle integration.
Hello Mabula, I recently had an article in an astro magazine about Drizzle
read. There it was noted that an integration only with the average mode goes. Without outliere rejection, because the pixels of the finer grid are only operated alternately with content, which is similar to the occurrence of a disturbing pixel. Those would be sorted out at median or sigma stacking. Would this also apply to Bayer Drizzle?
- Thank you Mabula, this is super helpful. I will test out different integrationsto see what works best! Thank you
When you say A LOT OF DATA, how many subs at least would be ideal, say at Unity Gain?
I would say, >50 subs at the very least, likely more. It's the same thing in general, the more data you have the lower the noise. In this case it adds noise, so you would require even more than usual.
A (probably silly) question. I can relatively easily imagine how drizzle works with a scale = 2.0 and droplet = 0.5: each input pixel is kinda split in two and fills two output pixels, which is possible because of dithering. But it's tricky to understand how would droplet = 0.5 and scale = 1 work, because the droplet is smaller than a pixel, so it looks like it will always fall into the same pixel, but with reduced weight (half-value). Or I'm getting it completely wrong?