They relate to StarTools version 1.7 to 1.7.449
Please let me know if anyone sees any errors or has any additional advice they think helpful.
I will update this as needed.
For an index of similar notes on the other StarTools modules see StarTools Main Window Use.
Denoise Module
Purpose:
To get rid of different types of noise while preserving detail.
Description
For a general overview see De-Noise: Detail Aware Wavelet-based Noise Reduction.
Noise reduction is applied at the very end when Tracking is switched off. Due to StarTools' noise evolution Tracking noise reduction will be much more targeted.
- Separates Brightness and Colour - this allows separate control of brightness and colour noise.
- Uses information gained while Tracking was on to help target the noise.
- Tracking identifies the areas of higher noise.
- Scale Correlation techniques are used to identify detail.
Useful Sources
The StarTools video tutorial A simple processing workflow tutorial with imperfect real-world data includes the use of the Denoise module. This relates to v1.5 but is still relevant for this module.
The processing video M8 in Color with modest data has a demonstration of the Denoise module between 8m16s and 9m43s. This relates to v1.5 but is still relevant for this module.
When to use:
- Final Denoise is usually done after the Color module.
- (before 1.7.416) The Denoise module can also be used in 'Preview Only' mode at any time when Tracking is on.
- This allows you to see the effect the Denoise module will have when Tracking is switched off based on the current image.
- It can show when you have overdone something (like the final Develop/AutoDev module stretch was too aggressive) and too much noise will remain visible even after applying the Denoise module.
- It can show you need to go back and redo a step, or do further noise-reduction steps, prior to turning Tracking off and final Denoise. - Also, try using the Super Structure (Life) modules' 'Isolate' preset with no mask set just before using the Color module then final Denoise module - this will help to push back the noise. Watch out for halos around the stars though.
AutoDev-{Lens}-Bin-Crop-Wipe-AutoDev(or FilmDev)-{Contrast/HDR/Sharp/Decon}-Color-{Shrink/Filter/Entropy/Super Structure}-Unified De-Noise-{Layer/Flux/Repair/Heal/Synth/Stereo 3D}
Key: {...} optional modules
Method:
This is a way of using the module which should give good results in most cases:
- (before 1.7.416) Turning 'Track' off and select the option to 'Grain removal'.
- (1.7.416+) Click the 'Track/NR' module button and select the option for 'Grain removal'. This selects this Denoise Module.
- (v1.7.416+) Set Walking Noise Size and Angle parameters as necessary so as to eliminate any Walking noise in the image. Then set the Grain Size.
- Select Grain Size so the noise grain and clumps can no longer be seen - as described below. Structures larger than the Grain Size are considered detail, not noise.
- Click 'Next' - StarTools will do its initial attempt using that grain size with other settings at their default values. When complete screen 2 is shown.
- Select an area to sample to speed up the processing while you adjust the parameters.
- In many cases the remaining parameters can be left at their default values. However, if further adjustment is needed then experiment with the following controls:
- Adjust Brightness Detail Loss and Color Detail Loss - to balance detail loss and noise reduction.
- To control the balance between detail retention and noise reduction within the subject adjust the Scales (e.g. consider using Scale 5) and Scale Correlation. Scale Correlation identifies how much of the smaller structure is considered detail.
- Toggle top "Pre Tweak/Post Tweak" button to see effect of last adjustment if needed.
- Press 'Full' to apply the effect to the full Image.
- If you make a mistake, the 'Reset' button discards all the changes since you started using the module.
- Press Keep to exit, keeping the results.
- Background noise should be greatly reduced or eliminated without affecting detail significantly.
- Look out for any remaining noise blotches - if found go back and check the Grain Dispersion settings.
- Look out for any reductions in the detail - if found:
- make sure the Grain Size (Screen 1) is no higher than needed
- try reducing Brightness Detail Loss - and Color Detail Loss if that doesn't work.
- try reducing the larger scale settings (e.g. 5 and perhaps 4)
- Use the 'Before'/'After' button to see the effect of the module.
- Improve the Signal-to-Noise ratio (SNR) of the original image - by taking more subs. Also, make sure the subs are long enough.
- With light polluted data you will need many more subs to get equivalent results.
- If you have pattern noise try Dithering if you don't already.
- Make sure you have used the Bin module to reduce the resolution (and improve the SNR) if the image is oversampled.
- Try using the Super Structure (was Life) module 'Isolate' preset with no mask set just before using Color and Denoise modules - to help push back the noise.
- If there is background colour noise this may be de-emphasised by using the Dark Saturation control in the Color module.
- If the background noise cannot be controlled successfully in Denoise - it may be necessary to go back and redo Develop/AutoDev to control the final stretch a little to limit the noise to a level Denoise can handle. To do this use the Restore - 'Linear, Wiped' button.
- Save the image and finish - or apply one of the modules not available when Tracking is on i.e: Heal, Magic, Repair or Synth as needed.
Selecting optimum noise reduction settings
In cases where you are struggling to find the right noise settings this approach may help.
- This is experimental - please let me know how well this works for you.
- Select an area which includes background and large scale structures.
- Increase Brightness Detail Loss to 30%, and reduce Scale Correlation to 2 - this allows us to see the effects of our changes.
- Increase Grain Dispersion from 4.5 in increments until there is no further discernable smoothing of the background noise.
- Increase Scale Correlation from 2 to 6 to see the increase in detail in the larger structures - stop when the level of detail is about right.
- Reduce the Brightness Detail Loss - making sure the background noise is smoothed enough.
- Keep the result.
Screen 1 - Select filter type and grain size
Walking Noise Angle: (v1.7.416+)
If you have walking noise in your image, for example if dithering has not been used, use this setting and Walking Noise Size to identify and remove it.
Sets the angle of the walking noise to be removed.
Set Walking Noise Size and Angle parameters as necessary so as to eliminate any Walking noise in the image. Then set the Grain Size
- Increase the Walking Noise Size above 1.0 to enable Walking noise removal
- Set the Walking Noise Angle before you do final adjustment of the Walking Noise Size. Set the Grain Size last.
- Adjust the value to reflect the angle of the walking noise. The angle is measured from the vertical.
- The angle can be set by clicking and dragging a line on the image at the angle of the walking noise.
- Default is 0 degrees. Range is 0 to 359 degrees.
Sets the size of the walking noise to be removed.
- Increase the value above 1.0 to enable walking noise removal.
- Set the Walking Noise Angle before you do final adjustment of the Walking Noise Size.
- Once the walking noise has been removed you can adjust the Grain Size to remove the other noise.
- Default is 1.0 pixels (Off). Range is 1.0 to 30.9 pixels.
Specifies the maximum size of the noise grain that is visible in the image.
- Once set tells module that anything larger in scale than this is not noise.
- Specifies over how large an area it spreads the energy that was contained in pixels that are smoothed.
- Default is 2.0 pixels. Range is 1.0 to 30.9 pixels.
- Experiment until you find a value which causes the noise grain and clumps to be dispersed so that can no longer be seen at any scale. Values up to 15-30 are fairly common with noisy data.
- Do not exceed what is needed so as to preserve large scale detail as much as possible.
- Concentrate on the noise and don't worry about the detail. This is a visual representation to help find the right setting and the signal is not being affected.
Identifying and protecting detail
- Structures larger than the Grain Dispersion are not considered to be noise.
- Scale Correlation identifies how much the smaller structures are analysed when looking for detail.
See also the description for Grain Size above.
- The Grain Dispersion influences the noise reduction of all the other controls apart from Scale Correlation - which define how parts of the image are protected from noise reduction.
[*] Structures larger than the Grain Dispersion are considered detail, not noise.
[*] Defines a surface area over which it can safely redistribute energy that was taken away (denoised).
[*] Typical values <30 pixels - there will be a value beyond which there will be little effect - don't exceed the maximum size needed.[/list]
Scale Settings:
Defines how hard the noise reduction is done for different sizes of noise.
- Scales do not have absolute limits to the range - its is more like a particular scale brings detail of a certain size into focus - and that other size detail is out of focus to varying degrees depending on its size.
- The following are broad guidelines:
- The largest scale (Scale 5) is approximately 100-120 pixels.
- The smallest size (Scale 1) is around one pixel.
- The intervening scale sizes increase exponentially.
- Increase the scale value if noise is noticeable at that scale. Decrease it if detail is being affected.
- For Scales 1-4 the default is 95%. For Scale 5 the default is 50%. Range is 0% to 100%.
- Scale 5 may need to be increased if there is large scale noise. If there is noise at this scale it has often been introduced artificially during debayering or subsequent processing and is not from natural Poisson noise sources. This type of noise can show scale correlation too - so we need to reduce the Scale Correlation (from the default of 6 to 4 - 2) to avoid the algorithm mistakenly identifying noise for signal.
- Values up to 95% aren't unusual.
- Scale 1 - This controls the extent of noise reduction in fine detail - such as single pixels.
- Scale 2 - This controls the extent of noise reduction in small to medium detail.
- Scale 3 - This controls the extent of noise reduction in medium detail.
- Scale 4 - This controls the extent of noise reduction in medium to large detail.
- Scale 5 - This controls the extent of noise reduction of large noise blotches/grain.
Usually, when there is a correlation between image elements over multiple scales it indicates important detail in an image. This is how Denoise identifies detail. It can then provide the control to protect this detail from the denoising algorithm.
For every scale, the scale correlation algorithm looks at the immediate neighboring scales to see if detail in that scale exists. If detail in the neighboring scale exists, this is taken into account when determining how much noise reduction is applied. The Scale Correlation parameter specifies how much neighboring scales are evaluated.
- Defines how much Denoise identifies smaller scale features as being detail that correlates with large scale detail that contains it. The scale correlation value controls how far the correlation propagates to other scale levels.
- Default value is 50%. The range is 0% to 100%
- Certain types of noise can have scale correlation that makes them look like detail. To avoid this mis-identification in noisy images the Scale Correlation value can be reduced so it doesn't search for correlation in the smaller elements. This can be a problem when:
- There are too few sub-frames taken when using an OSC or DSLR or when using drizzle, or
- Using insufficient dithering.
- The noise has been introduced artificially during debayering or subsequent processing and not from natural Poisson noise sources.
- Larger values mean smaller elements of a larger structure are searched for to identify detail.
- Smaller values means that more of the smaller elements of detail will not be identified and so will not have the additional control over the denoise process.
Defines how much grain to retain in the background. This helps in cases where the background looks unnaturally smooth.
- If set to 0% then no grain is retained and the detail identified using Scale Correlation is smoothed completely.
- If set to 100% then all grain is retained and there is no smoothing.
- Set to 0 initially and then, at the end, after the noise has been removed, increase until the correct amount of noise is found.
- Default is 10%. Range is from 0% to 100%.
This balances noise reduction with detail loss in brightness. Larger values will do more aggressive noise reduction possibly causing some detail loss. Smaller values will reduce noise reduction. 0% is no noise reduction.
- Default is 50%. Range is 0% to 100%.
- Reducing to 0% turns off noise reduction completely.
This balances noise reduction with detail loss in colour. Larger values will do more aggressive noise reduction possibly causing some colour loss.
- Default is 50%. Range is 0% to 100%.
StarTools denoise techniques
- By doing denoise late in the workflow - Tracking has had time to follow noise evolution over most of process and identify areas prone to noise, allowing noise reduction to target these areas.
- The traditional method of identifying detail in an image is to use a mask - either based on luminance or created manually. To avoid this Startools identifies detail automatically by using a technique called Scale Correlation.
- Usually, when there is a correlation between image elements over multiple scales it indicates important detail in an image. This is how the Denoise module identifies detail. It can then provide the control to protect this detail from the denoising algorithm.
- By making the Denoise module scale aware it allows the comparison of elements at different scales. Looking for correlation between elements at different scales enables identification of likely detail.
- The number of scale levels which the algorithm tries to correlate dictates the smallest detail that is identified - and therefore may be protected. If the scale is too small it is possible, under certain conditions, that you start to protect noise that is mistaken for detail. That is why we control the depth of the search for detail in the scale levels.
- Wavelet scale extraction - classifies features and structures into 5 different size scales.
- Noise removal is done by an enhanced wavelet denoiser - removes features (such as noise) based on their size.
- Noise grain caused by shot noise exists at all scale levels - becoming less noticeable as size increases.
- Denoise aggressiveness at each scale is adjustable using the Scale parameter.
- Global noise reduction (i.e. not scale-specific) is done by the Brightness/Colour detail loss setting.
StarTools looks for inter-scale pattern/structure correlation to identify image detail.
- Correlation is higher in areas that look 'busy' - this is normally associated with image detail.
- Correlation is low in areas that have little change such as large, smooth, gas clouds.
- Scale Correlation removes the need for a mask to protect image detail from noise reduction.
- Where noise does not exhibit a Poisson distribution it may exhibit scale correlation - which can cause noise to be mistaken for detail.
- To avoid this, reduce the depth of correlation using the Scale Correlation parameter.
See also this Wikipedia article on Image Noise
Here is a very good video: Craig Stark: What do all great shots have in common?. Discusses noise sources and SNR clearly.
Shot Noise
- Caused by the random arrival of photons.
- Proportional to the square root of the intensity of light falling on the pixel.
- Independent of other pixels.
- Poisson distribution.
- Reduced by stacking multiple sub-frames.
- Caused by random varations in the current in the equipment electronics.
- Mainly thermal noise - temperature dependent.
- Independent of the amount of light falling on the pixels.
- Gaussian distribution.
- Dominant at low intensities.
- Reduced by stacking multiple sub-frames.
- Noise reduction of (Gaussian) Read Noise is done differently from the noise reduction of the (Poisson) Shot noise.
- Caused by the dark current - which increases linearly with time and exponentially with temperature.
- Poisson distribution.
- Independent of the amount of light falling on the pixels.
- Reduced by cooling of the sensor.
- Derived from quantisation error in A-D converter.
- Depends on the number of bits.
- Can be intensity dependent.
- Small for A-D converters of 12 bits or more.
Salt and Pepper Noise
- Descriptive of noise where there are bright pixels in dark regions (salt) and dark pixels in bright regions (pepper).
- Random errors of large variation.
- Caused by bit errors, A-D errors, electronic interference.
- Normally removed by use of dark frames or median filtering.
- Descriptive of noise which is distributed in a fixed pattern.
- e.g. Row or column patterns.
- May be caused by small differences in the characteristics of pixels.
- May be due to debayering issues in colour cameras.
- Normally removed by using bias frames or dithering.