I’m going to do a reminder of noise processing in RT and before.
Before 2010 we worked, Emile Martinec, Manuel LLorens and me on Dcraw (not the original), then on Perfectraw.
Emile Martinec had made a very good noise treaty and we came up with several types of tools : Wavelet, DCT Fourier, Median, Bilateral filter,…
Emile Martinec in the same era, works on Amaze, and me to bring LMMSE to RT
When appaers Rawtherapee, and independenly of tools, the first question was : where to put the treatment, at the beginning or at the end ?
The first version was…at the end.
Indeed there are advantages and disadvantages to the two positions, but everyone explores these advantages and disadvantages.
Now, Denoise is at the beginning.
One of the important things Emil has brought is the notion of MAD (Median Absolute Deviation), which takes into account the signal (wavelet) by level and in a way the “histogram of this signal” (whether for luminance or chrominance).
This “MAD” acts as a filter (or as a guide) and for the same adjustment (slider, curve, etc.) will modulate the action of “shrink function”.
This allowed me around 2013 to develop an “automatic” action for chroma noise.
I also introduced Lab mode for denoise : Lab is better with “normal” noise… the real difference is introduced by the internal gamma (3.0) due to lab, which you can bypass with the gamma slider.
But, because denoise is complex, there is always a but, and we didn’t solve the problem before / after.
When we do a treatment to bring out the shadows or act on the contrasts - shadows higlight, Tone mapping (Fatal, Mantiuk, Desmis…), Encoding log, etc…, the noise increases considerably…and it’s after “denoise”!.
More it can be interesting to keep noise and to be able to differentiate the action.
The first action of this type was in 2014, by introducing denoise luminance in “wavelet levels” which acts at the end ot the threatment. But, two remarks, it’s global and only acts on luminance.
Others actions to improve quality originate from Ingo @heckflosse : very good Capture Sharpening or dual demoisaicing (ex : Amaze + VNG4)
But, the last action is the creation of “Local adjustements” with “Denoise module”. This module allows:
- of course local denoise (with the 4 delimiters)
- change the action with “scope”, for example you can denoise only the “reds”
- I have keep the sames good algorithms from Emil, but I add
** possibility to differentiate the action according to the level of detail : for the luminance with 4 levels instead of 1, for chrominance 2 levels instead of 1
** add DCT (Discrete Cosinus Transform) for chroma (uses a lot of resources)
** other settings to improve DCT and differantiate action between shadows / highlight , red or blue…
** posibility to use masks
** etc
Of course, nothing is perfect, noise processing is complex, maybe one day artificial intelligence will bring more, but it will always be necessary to take into account the variations of luminance, illuminants, the perception of the photographer and his wishes, etc.
I think a “good” treatment is one that mixes before and after:
- before (with “Denoise main”) to allow sharpening and reduce some of the defects : this settings must be to the minimum
- after (with Local adjustements") to refine the treatment that the user wishes, according to the colors, the parts of the image
Jacques