2026-10-09 APP 2.0.0-beta48 has been released !
This is mainly a bug fix release for the reported bugs in beta47. In addition it has a significant User Interface performance improvement noticable when you need to process 1000s of images in APP.
2026-10-03 APP 2.0.0-beta47 has been released !
This is a very big release... many code optimizations/rewrites, many parts of APP are much faster and more precise, especially star analysis and registration are much faster ! Big mosaics will go much faster 🙂
And we introduce a new preview filter, which includes the new Adaptive Deep Sky Stretch and a General Levels Stretch, this has been long over due. The old preview filter (the panel on the right side to stretch and preview your data) has not been updated for a couple of years and it is a critical part of any APP session.
Adaptive Deep Sky Stretch or ADSS is a much more intuitive stretch algorithm. It is also color preserving (which is a great new addition in itself ! ) which means that the highlights are no longer bleached, color is maintained from the linear data while stretching. You can simply stretch your data using the sky background level and signal width sliders which work much easier and more intuitive. You no longer need to fiddle with the old complicated sliders with zoom buttons. All the zoom buttons for the sliders are made redundant. And you can enter slider values in the slider value fields yourself. I will make a youtube video in the coming days to explain and fully introduce ADSS. Once the video is ready, it will be highlighted on the forum.
RGB Combine upgrade !. The RGB Combine Tool has been rewritten mostly. The tool is faster and easier to use and most importantly, the Luminance slider to inject a luminance channel or channels into the RGB composite is now working correctly. It no longer bleaches the RGB colors. Combined with the new ADSS preview, you will get much better and easier great composites with great color! I will also explain this in a new youtube video.
Hi,
Can someone explain drizzle in simple terms, and why I should or should not use it?
Thanks!
Adam
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
by
A. S. Fruchter, R. N. Hook
https://arxiv.org/abs/astro-ph/9808087
Information on Nasa website:
http://www.stsci.edu/hst/wfpc2/analysis/drizzle.html
And explanation by Andy Fruchter, one of it's inventors:
http://www.stsci.edu/~fruchter/dither/
Wikipedia:
https://en.wikipedia.org/wiki/Drizzle_(image_processing)
Â
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
http://www.stsci.edu/hst/HST_overview/documents/multidrizzle
Section 3.3.1.1 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.
Mabula
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
Â
Adam
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?
