Denoise and highlight reconstruction with 5.2

Hello,

I’m still struggling with the procedures for denoising and spot light reconstruction in Darktable.

I come from DXO PL, where a few clicks in a clear module selection were always enough to achieve a good result.

Are there any recommendations as to which modules to use and in what order to process, for example, an OM-1 ORF with high ISO?

Thank you.

You could provide an image and make it a play raw to see how others would handle those issues.

1 Like

I agree with Bill that the best way to answer that question is to share a image as a playraw. There will be many different approaches to the denoising but also the sharpening has to be done in a way not to sharpen the noise and make the problem worse.

Here are some notes I have made on denoising. Just my personal observations and I know others could add to them or correct any mistakes I have made in them.

Noise Reduction Techniques
Sometimes it might be worth using a parametric mask to excluded highlights from noise correction as noise predominately occurs in the shadows. This masking approach is probably more suited to luma noise correction which can compromise detail.

Denoise (profiled)
This is the recommended denoise module for most images and I apply it to every RAW file image from supported cameras. Denoise profiled is based on a database of 200+ cameras. The default values work well for most images at reducing both chroma and luma noise without softening the image too much. Read the user manual for details of the non-standard options available.
• For very noisy images increasing the strength can be beneficial but may reduce fine detail. Instead try applying two instances of the module at default values.
• Lower the preserve shadows slider to denoise the shadows more aggressively in noisy images.
• To correct any color cast that may appear in the shadows from denoising increase the bias correction if dark shadows appear too green or decrease if they appear too purple.
• If the module defaults to generic poissonian the camera’s image file is not supported and this module may not produce a pleasing result.

Diffuse or sharpen
In combination with denoise (profiled), one of the best additional denoising options for very noisy images is the denoise: course/medium/fine pre-sets found in the diffuse or sharpen module. However, the pre-sets can perform up to 32 iterations of the processing and can be very resource and time consuming. Therefore, it may be best to apply this at the very end of your processing and not use it for everyday edits if you have a slow computer.

Raw Denoise

This module works well on some noisy images but on others can soften the details to much. I would only use this module if the denoise (profiled) module needed further assistance at reducing noise. The raw denoise module works by reducing the noise through blurring the RAW image data before demosaicing and can cause loss of detail if set to high. It is a wavelet-based tool, and it is possible to create a useful preset concentrating on fine detail if you understand how wavelets work.

Surface blur
Surface blur is used to denoise high ISO images while claiming to preserve sharp edges. It uses a lot of computer resources including RAM and CPU. I have had more success with other denoise options in Darktable. However, when combined with (denoise profiled) it may offer some benefit for very noisy images as it causes less softening of the image compared to astrophoto denoise. A parametric mask to limit effect to shadows may be useful.

Astrophoto denoise
Astrophoto denoise has separate sliders for luma and chroma (colour) noise. Reduces noise but preserves structures by averaging pixels with neighbouring pixels. I find the denoise (profile) module handles the chroma noise and the astrophoto denoise module can be useful for handling remaining luma noise. Set luma slider to the lowest effective value as the image is softened and details will be lost if set too high. Try setting luma to 40% and chroma to 0% and the default strength is 50% but this may be too much and sometimes even 1 or 2% can be sufficient. This can be a very useful module.

Hot pixels
• This module can automatically detect and fix hot pixels by replacing them with an average value of the neighbouring pixels.
• Threshold sets the sensitivity of detection and strength sets the level of elimination. Detect by three neighbors increases the number of hot pixels detected.
• Hot pixels are more common in high ISO images and long exposures.

Contrast Equalizer module
The contrast equalizer uses an edge-sensitive wavelet separation. Whilst it can be a complex module to learn it can also be a very helpful module for many issues including denoising.

There are nodes spaced from left to right which relate to feature size. Large smooth features are course and nodes to the left work on these features. Small details including noise are fine and are controlled by nodes on right.
• Luma tab alters luminosity values only.
◦ The upper nodes can be used to adjust contrast based on feature size. This can be useful for removing dehazing, clarity and local contrast type adjustments. For example, raising the middle two nodes produces an effect like clarity
◦ The lower nodes control luminosity noise correction based on feature size and since noise is fine the right-hand nodes are most useful.
• Chroma tab alters saturation and colour noise based on feature size
◦ Lower the right-hand upper nodes decreases saturation of colour noise
◦ The lower nodes control colour noise correction based on feature size and since noise is fine the right-hand nodes are most useful if raised to reduce colour noise.
• To reset the nodes to default position just double click on any node.
• The mouse wheel can be used to change the size of the circle which changes the range of sizes affected by that node.
• Moving the bottom triangles changes the position of the zones
• The mix slider increases or decreases the strength of the effect being applied by moving the nodes up or down.
• Edge tab only works if luma or chroma tabs are in use. It may be difficult to see any effect from this tab. The average user can just ignore this tab.

Details threshold slider to improve sharpening and denoising modules
To access the details threshold slider, activate the drawn or parametric mask option, but It is not necessary to create a mask.
So, in any module used to sharpen images the effect can be restricted to the main details by apply a positive value to the slider. This will minimise the undesirable sharpening of noise in smooth areas of the image while enhancing the sharpening of details. High values such as 50-90% are required.
In any module used to denoise images, except the raw denoise module, you can restrict denoising to the smooth areas of an image and avoid the edges of details by applying a small amount of negative value to the details threshold slider. Since luma denoising softens details this method will preserve details while maximising denoising in smooth areas. I usually do no use this technique with the denoise (profiled) module, but use it extensively with the other modules used for denoising.

8 Likes

Dear Terry,
a lot of thanks for the detailled instructions.
I will play with the next days.
If I don’t get good results I will follow yours and Bill’s suggestion with play raw.

To test everything, I did the following in 5.2.

I took a directory and reset all editing steps.
Then I opened an image in the darkroom.
I noticed that I had 2 exposure points (points 9 and 11).
When I go back to point 10, “Auto orientation,” the image looks more balanced.
I then took a second image from the directory, and here too I have two exposure points.
Before I continue, I would like to resolve my questions.
The good thing is that I could relatively easily delete the entire database, including the XMP files in the directories, as I am only testing and playing around with DT so far and still do the rest of my productive workflow in other programs.
I would really like to switch completely, as I love the parametric mask, for example, but…

Please bear with me.

(My two NEC monitors are calibrated with Spyder to 100%sRGB)

You are looking at the history stack (Verlaufsstapel), which shows a history of changes. When there are two entries for exposure it means that the value in the exposure module has been changed. The first entry (no.9) was created with the default values for the scene-referred workflow, when you first started to edit the image. Then, there has been a change to the exposure module, e.g. you have adjusted the value. This is when the second entry (no. 12) was added to the history.
When you click on no. 11 (Ausrichtung) you will see the image with the initial setting of the exposure module (as in the preset “szenenbezogene Vorgabe”).
For more details on the history stack see here.

2 Likes

And to add, the history steps have nothing to do with the module processing steps. Dt will process the modules that are active (look at the right side of your screen) in the order they appear from bottom to top. For it to execute a module twice, it will need to show you that module twice on the right side.

2 Likes


Consider using the duplicate manager with your experimentation. By clicking on original it will create a new xmp file reset to defaults. You can then edit the image in a new way and compare its results to your previous editing methods. Duplicate manager only creates a new xmp file with no duplication of the raw file so disk space is preserved.

1 Like

Thank you for all your kind support and help.
I think I need to process all this for myself first. I was already familiar with many things, such as internal processing from bottom to top, but I had forgotten about the Duplicate Manager, and…and…and :thinking:
But what I always thought was that another module instance is always created by right-clicking on the existing instance, for example, to treat masked areas separately. Making a change in an existing instance behaves very differently in DXO, for example, as there is only one instance per tool. Processing takes place when exporting an internal logic.
The learning curve for DT is really very steep.
So now I’m going to bravely update to 5.4 and gradually finish developing my Norway pictures.
Just one more question: what happens to a picture developed in 5.2 if I activate AGX as my preferred workflow after updating to 5.4?
Is the image first developed and viewed as in 5.2, and if so, what happens when I activate the AGX module and make changes? Are all modules used so far compatible with the use of AGX?

Thanks again to everyone who supports me here, and I wish you all a nice weekend.

If already edited it will be faithful to your previous edit. Only new images will open using AgX if that is what you select.

Changing the preferred workflow in the preferences does not affect images already processed with an older version or other settings. Only if you discard the history or open an untouched image in the darkroom, the new workflow is applied and AgX automatically activated. You can, of course, activate AgX in an already processed images afterwards. Just make sure to use only one tone mapper. So, you have to switch off the previously used one, in your case I assume it is Filmic RGB.
The image may look a little bit different, though, with AgX compared to Filmic or Sigmoid. You may want to do some adjustments in other modules, e.g. Color Balance RGB. Just let your eyes guide you.

1 Like

That has been answered already in your other thread

so that means by editing a photo which has “Sigmoid scenic” and activate “AGX scenic” I have to deactivate “Sigmoid Scenic” manually ?

You cannot deactivate “Sigmoid Scenic” for an image individually (if you refer to the setting in the preferences). With the setting in the preferences certain modules are activated by default when processing an image the first time. When you change the setting to “scene-referred (AgX)” and open a previously processed image, you will see that Sigmoid module is still active and AgX is off. If you, for some reason, want to switch to AgX for this image, you should deactivate Sigmoid (or Filmic or base curve) and the simply activate AgX. Having two tone mappers active gives weird results.