RawTherapee Website release post (aka: we're not dead yet)

Pat, I just discovered that feature in 5.8 Dev, and just tonight was learning this same thing! What a fantastic addition to RawTherapee.

1 Like

@patdavid

Yes, there are explanations somewhere. They are (partially, because not yet translated, it takes time…) in Rawpedia in French version, and partially in “Rawpedia in English version”.
https://rawpedia.rawtherapee.com/Local_Adjustments/fr

https://rawpedia.rawtherapee.com/Local_Adjustments

For example, non-exhaustive (still in French), this part which shows the differences between “Local adjustment” and "main "
https://rawpedia.rawtherapee.com/Local_Adjustments/fr#Quelques_particularit.C3.A9s_du_mode_local_.28par_rapport_.C3.A0_Lab_adjustements.29

The improvement for “Local adjustments” takes into account (compared to main), for example for Denoise a better control of levels, and larger level values, additional DCT functions , Non-local means, Denoise based on luminance mask, etc… But also for wavelet with more important levels and a better control of levels , Tone-mapping for Wavelet, Graduated Filter (which acts on the local contrast), etc.

And obviously the possibility to work on parts of images, or on the whole image with the advantages of “Local adjustments” : DeltaE, transition, excluding spots, etc.

But excuse me, my English is very bad (and big health problems), fortunately there is Wayne @Wayne_Sutton , with whom I cooperate very well, who on the one hand helps with the development by testing, trying, criticizing, and on the other hand ensures the texts of the English version (tools, sliders, tooltips, etc.) and the documentation but he also has a schedule, a family,…

Jacques

6 Likes

I’m baack.

I’ve made a little headway in drafting this news item.
I’m at a point where I could probably use some help in a couple of places and/or criticisms or suggestions for content. To reiterate, the post is being written on the repo here:

I’ve tried to collect information from all of the posts but I’m afraid I’m missing many things.

If you have comments or additions please make a separate post in this thread with each one (easier to track what I’ve done).

3 Likes

Hello @patdavid, good article. Just some remarks from a former copy editor.

  • many PRs - what are PRs?
  • There is also a rotatino option - I only see a rotate option in the perspective control panel
  • the optical center to prodce a physically correct < produce
  • Film Negative was added back in RawTherapee 5.7 to invert raw images of film negatives (while accounting for the light response of properties of film ). < add )
3 Likes

@patdavid

Many thanks for this synthesis work.
Could we add in local adjustments, 2 points that seem important to me

  • you can work with “local spots”, but also in “full image”.
  • it is possible for each tool to choose a level of complexity: Basic, Standard, Advanced

Also as I mentioned a few days ago add

Abstract Profiles
Here is a summary of the main features

  • TRC: adjust gamma and slope to: a) modify the image rendering, which by default is g=2.4 s=12.92; b) raise the shadows and modify the lighter tones while preserving the colorimetry and the gamut.
  • Illuminant (white point): a) adjust the gamut of the Working profile to adapt it to the shooting conditions taking into account the colorimetry. If an image is taken at 4000K, in sRGB (which is D65), the gamut may not be suitable. The joint action of the Illuminant and CIECAM (symmetrical mode) allows you to ensure good chromatic adaptation; b) used in conjunction with the modification of the Primaries below.
  • Primaries: this is where the notion of Abstract profiles comes into its own. Several possibilities are available: a) Use this module as a Channel Mixer in order to create special effects similar to Color Toning, with or without CIECAM; b) Use it to modify or refine the result of the Input profile to improve the colorimetry (calibration).

D: Jacques Desmis, Ingo Weirich

C: Wayne Sutton, Andy Astbury

Thank you very much :grinning:

Jacques

1 Like

Great work here, Pat. I wouldn’t change the content you’ve created here. The only suggestion I have is, should the link to the nightly builds be more prominent somewhere on that page? Right now it looks a little difficult to find. Since everything in that post points to features in the new development version (and future stable release), I’m wondering if a more prominent link would encourage potential users to try it out. Just a thought.

For the nontechnical, PR should be fully expanded to Pull Request at least once.

1 Like

@patdavid
I Just see, I have put 2 changes, in one post.
Excuse me
From my smartphone
Thank you again

Jacques

Hello and many thanks to everyone for all this work!

@patdavid in the part where you refer to Dual-Demosaic with Bilinear, I think a change of line is needed. Take a look at:
" Main developer: Ingo Weyrich There are…"

I guess you mean to format like:
" Main developer: Ingo Weyrich

There are…"

1 Like

@patdavid another change in the same line as mentioned above, I mean within Dual-Demosaic with Bilinear:

“options in RawTherapee that blends the results from”

I think it should be blend instead of blends

1 Like

@patdavid in the Wavelet Improvements section,

“Main developers: jacques Desmis, Ingo Weyrich”

A capital J for Jacques.

Thanks again for your time and effort!

1 Like

Ok, you all rock!

Thank you for taking the time to proofread and get me fixes/suggestions. I’ve incorporated all of the changes you’ve mentioned.

I do still have a question - mention was made of improvements to wavelets but I cannot find a link or explanation about what was done. I apologize if I’m being dense but is there a good reference for the improvements to wavelets? Is it just for local adjustments or as part of a larger module?

Could I please get a link to some material to review?

Also - I’ve added the section on Abstract profiles - if someone could take a quick look and make sure it makes sense that would be awesome.

If there are no further changes to be made I can see about publishing this weekend possibly (I still need to test pushing to the website host with the credentials Gabor passed on to me).

1 Like

The post is looking good, Pat! There’s a few things I wanted to say but I haven’t had the time in the past few days. I’ll get them to you tomorrow. One quick thing though. AFO is an abbreviation for the Spanish of “waveform analyzer”. In English, it’s simply referred to as “waveform”.

2 Likes

@patdavid

I will try, from memory, to note the main changes in Wavelets. Note the excellent quality of Rawpedia - Wavelets (made for the graphics, images, general presentation, by @XavAL , and for the content by Jacques Desmis, @Wayne_Sutton , @Andy_Astbury1 and @XavAL )

For “Abstract profile”, this has been subject to many heated debates (that’s an understatement), mostly related to the lack of understanding of what I had done (what is this thing, it’s not usual, etc.). I think, they can give their opinion that it was validated by myself (obviously), @Wayne_Sutton and @Andy_Astbury1 (with a video)

Jacques

@patdavid
Some explanation on “Wavelets”. Excuse my very bad english

The “Wavelets” module in the “main” menu has also been greatly improved. It is on this occasion that I introduced the notion of “Attenuation response”, which I will explain as simply as possible, a little later.

Several modules have undergone profound changes, notably by the addition of this function and its corollaries (offset…). For example, the “Contrast”, “Chroma” and other modules.

The " Toning " module has been enriched with a graphic possibility of visualizing the changes.

The " Denoise " module (which I have separated in " Local Adjstments ") is clearly improved, but it limits certain possibilities of wavelet, by its limitation in number of levels of decomposition (memory occupation, processing time). It includes (in “Advanced” mode) complex optimization functions to improve the results, which I will not detail here. Moreover, it is now equipped with a “Chroma” module.

Edge sharpness" (an extremely complex module), which increases the contrast on the edges, is also improved.

A “Blur levels” module is also new. Its usefulness is obvious…

“Residual image” has also been improved, in particular with the “Blur” function and a new “Clarity” module.

“Final Touchup” has also been significantly improved, in particular by the “Directional contrast” function, which acts to differentiate the response of the 3 wavelet decompositions (horizontal, vertical, diagonal) and “Final smoothing”, which allows you to attenuate images that are too “hard”;

A few words about “Attenuation Response”. This addition has been the subject of very long debates, you can find the explanation in the excellent diagrams made by @XavAL , in the “Wavelet” documentation.
To simplify, the wavelet decomposition, if we don’t apply this addition, often risks to bring artifacts. Why is this? Simply because when you act on a contrast slider, for example, all the signal (which is not the luminance, but the variation of it in positive and negative, for each of the levels, and each of the dimensions : horizontal, vertical, diagonal). The basic idea is simple, but difficult to grasp. We look for the maximum of the signal (of course for each level, dimensions), we calculate a standard deviation (on a distribution which is all but Gaussian, but which serves as a reference). From these two values, we concentrate the action on the most pronounced “central” part of the signal, “Attenuation response” will allow us to reduce or increase this “central” part and « offset » to move this central part .
This addition makes wavelets usable in most cases, without adding artifacts.

All this work required the precious collaboration of @Wayne_Sutton , @Andy_Astbury1 , and @XavAL , and of course the code has been improved by @heckflosse

Compared to “Local adjutments”, many modules seem similar, but because of the possible number of levels, and the deltaE, the performances of “LA” are in my opinion superior. Moreover, functions have been added in “LA” such as “Graduated filter” which acts on the contrast (in the wavelet sense), “Tone mapping” : another approach than the other “usual” algorithms, which in negative values allows for example to simulate a “Dodge and burn” and of course the masks and functions related to the masks such as “Recovery base on luminance mask”.

Jacques

2 Likes

For your convenience, Wavelet Levels - RawPedia. It may still be a little abstract for some readers… In general, when an image is broken down into wavelets, simply increasing or decreasing each wavelet by a factor (degree) would increase or decrease all the frequencies in each including undesirable artifacts such as FFT-related patterns and image noise related to the frequencies in question. Attenuation in our case is to narrow down the sweet spot per wavelet to reduce them.

Note the method used isn’t perfect. Hence, Jacques saying

Even though I haven’t tried the implementation, I can see it is user friendly: the user manipulates two sliders and sees the changes happen in a direct manner.

1 Like

@afre

Thanks for the link to Rawpedia

The debate was long, because we had to make it clear that:

  • we do not work on the contrast, but its 6 positives and negatives variations in the 3 directions (for each level)
  • this distribution is very far from a Gaussian distribution, the high frequencies are much more spread out than the low ones
  • the use I made of the standard deviation, which is in fact only a comparison, it does not serve itself. It is in fact a kind of modeling

Once this was understood, with the problems of the language, it was necessary to find a term, it is @Wayne_Sutton , who proposed “Attenuation response” which seems to me to translate what it does.

Yes it is approximate, but it works

Thank you again

Jacques

Completing the list of contributors for each feature (from memory and scanning the PRs and issues):

  • Waveform/Vectorscopes
    • Developers: Lawrence Lee, Ingo Weyrich
    • Contributors: Javier Bartol, Paco Lorés (both for documentation, correct me if I’m wrong), Andy Astbury
  • Camera-based perspective
    • Developers: Lawrence Lee, Flössie
    • Contributors: Roel Baars, Ingo Weyrich, Maciek Dworak
  • Inspector
    • Developers: Rüdiger Franke, Lawrence Lee, Ingo Weyrich
    • Contributors: Roel Baars, Javier Bartol
  • Improved film negative
    • Developers: Alberto Romei, Flössie
    • Contributors: Roel Baars
  • Spot removal
    • Developers: Jean-Christophe Frisch, Ingo Weyrich, Lawrence Lee
    • Contributors: Roel Baars, Andy Astbury

Edit: Added Andy for his video on waveform and vectorscopes

1 Like

These are the minor comments I have.

Note: Many of these features are available from the Automated Nightly builds

If “these features” refers to the ones highlighted in the post, then all of them are available in the nightly builds.

@Desmis has explained a summary…

Should the @ be a link?

accounting for the light response of properties of film

There’s an extra “of” (the first one).

The spot removal screenshot could use a caption explaining that the bird is being removed.

From (Jacques) @Desmis and Ingo (@heckflosse)…

The parentheses are flip-flopped.

1 Like

The color-correlation AWB section is very technical. That’s fine because there’s not much to say from a user’s perspective other than “choose the ITCWB option and that’s it”. The potentially confusing part is regarding the 3 phases and the 2 step process. It should be more clear that the numbers are not a mistake because they refer to two different ways of describing the algorithm.