I've finally tried ART and it is amazing!

Intro: I’m a long time happy RawTherapee user, which I use exclusively and pretty extensively. I also test and compare a lot of other similar software (including paid ones), but always find that I like RawTherapee more, for a variety of reasons. I heard about ART but always thought that RawTherapee is already good and I don’t need some tweaked version of it.

But recently I finally gave ART a try and I was really surprised how good it is! For me, for the way I edit my photos - it really feels as a clear improvement for RawTherapee.

To be more precise, here is a list of the features I really liked, with explanations:

  • Tone Equalizer:

Working with big dynamic range is somewhat difficult for me in RawTherapee, it’s maybe the only real problem I currently have with RT. I always spend a lot of time trying different methods, sometimes they work well, but sometimes I feel unable to get the result I want. Now with Tone Equalizer it is so surprisingly simple, the process is very meaningful (like just lift shadows, darken highlights, shift midtones, etc.) and the result looks very good.

This feature is so tempting to use all the time, but I feel like it should be used accurately, because it still may produce halos (usually dark ones on the darker objects close to the border with brighter objects, which is better than the opposite type of halos - bright ones). Still, it produces much less halos/artifacts than “Shadows/Highlights” module from RT, it’s more capable and gives overall much better result.

It is easy to tweak the affected range by exposure comp. and check it by the tonal map. I think the reason why it works so well is because it is applied before tone curve (as opposed to S/H from RT) and it kinda compresses/stretches corresponding tonalities. I was so impressed by it that I went and checked its source code - turns out it’s only about 350 lines, just magic… Also, it is fast and doesn’t require 100% zoom for the accurate result as opposed to “Tone Mapping” and “Dynamic Range Compression” from RT (which is extremely inconvenient at times).

It covers like 95% of HDR cases for me, add “Dynamic Range Compression” (ART has it too) for the other 5% and I’m good to go.

  • Local Contrast curve:
    I’ve found, that the type of curve like below on the screenshot gives very nice boost in small contrast/details, while not producing to much of noticeable halos. I can’t get the same result with the only radius slider in RT.
    image

  • Haze Removal curve:
    Again it’s just more powerful, and so yields better result.

  • Channel Mixer Primes correction mode:
    If you use Channel Mixer not only for B&W mapping, it’s just ten times more convenient in this mode.

I didn’t get into / test other tempting features yet (such as masks or log tone mapping, for example), maybe some of them will be useful for me as well, as an additional bonus. And other stuff like some clutter removed is good as well, though for me personally it has never been a problem in RT.

I just wanted to share my surprisingly good experience with ART, which was completely unexpected for me. I’m still experimenting with it, but I feel like I’m switching to exclusively use ART now instead of RT. If you like me - using RawTherapee and like it, I urge you to try ART, maybe you will be pleasingly surprised!

Thank you for your attention!

p.s. I would like to express my gratitude to all the people involved in development of RawTherapee and ART - your work is simply amazing!

12 Likes

And to be fair I have to mention as well, that I already noticed some small bugs (nothing critical) in latest stable ART 1.5.3 on Windows 10:

  1. Name of module in history list glitches sometimes when I move mouse over it. To reproduce: enable “Saturation & Vibrance”, set some Saturation value, in history it will be “S & V - Saturation”, then set value to zero again - in history it will become “Saturation & Vibrance” (which is already incorrect). Now enable “Channel Mixer”. Now when I move cursor over last “Saturation & Vibrance” entry in history, it changes its name to “Channel Mixer”. Then I move mouse away, it changes it back to “Saturation & Vibrance”. I think I saw the same behaviour with some other modules, not only with S&V.

  2. Enable Local Contrast, enable Brush Mask, click on “Toggle on-canvas painting with the brush.”. Mouse cursor becomes brush when I move it over the image, everything is fine. Now disable Local Contrast. Cursor remains as a brush, and there is no way now to disable it (selecting hand tool, toggling Local Contrast/brush/etc.), other than closing this editor tab.

  3. Setting small WB temp like 1800 on any image at 100% turns it into green image. Also you can set 1800, then zoom in to 100%, and it will became green.

I think I saw something else, I can’t remember. But nothing critical.

4 Likes

Hello, compliments for your enthousiast post! I’m a long time user of RawTherapee (since v2.4 or something) and the really big thing for me in ART are those masks. Sometimes/often I think it’s the only tool I need to process my raws. Just give it a try!

1 Like

ART appreciation thread continues.

I realized that “Log Tone Mapping” module in ART is kinda the same thing as Filmic module in DarkTable, which I was really missing in RawTherapee (since it helps to deal with my problem which I mention in the first post - HDR). This is another really pleasant and unexpected surprise for me.

Now, its UI is much simpler than in DT, but still I have found it incredibly powerful. As Alberto mentioned somewhere here in this forum, Source/Target grey point sliders are kinda redundant - exposure compensation and tone curve do essentially the same thing, so it’s basically only two important sliders: Black Ev and White Ev.
Additional slider - Regularization works kinda like local contrast, and I found it really convenient - I can add/remove that contrast while controlling how noticeable/visible are halos (which it produces), which depends on how busy is the scenery on that particular photo.

Now of course Tone Equalizer module, which I praised in my first post, becomes second tool after Log Tone Mapping in my HDR workflow :slight_smile:

Yes, I tried masks as well, and I was more interested in brushes (since I already experimented with parametric/dE masks in RawTherapee) and found them implemented really well. I was able to quickly do that I want - add some light on face under the hat in a sunny day - and was satisfied with the result after the very first try. I couldn’t do that in RawTherapee 5.8 at all, and in locallab build it was much less convenient without brushes (to the extreme point on some pictures) than in ART.

And another small bug report:

In “Defringe” module, changing hue curve doesn’t change the picture, though processing indicator is showing and something is happening. Toggling module Off/On, changing zoom, changing Radius/Threshold sliders - any of these updates picture properly. I see this behaviour on any zoom level.
Seems like due to pipeline changes, reprocessed part of pipeline, which defringe hue curve change triggers, doesn’t include Defringe module?

Hi,
Thanks for the reports! I’m fixing the glitches and hope to release a new version soon…
And big thanks for the positive feedback as well :slight_smile:

3 Likes

Yes, but exposure compensation comes before all the local editing modules, so changing it might have an impact on your luminosity masks and also on the tone equaliser. Therefore I am leaving the source and target gray sliders there, as they are convenient to manipulate brightness without messing with (most of) your masks…

1 Like

That makes sense and sounds very meaningful. I didn’t figure that out myself, though I already used exposure compensation to tweak Tone Equalizer mapping. Thanks for clarification! :+1:

I must confess not knowing/understanding what ART was until I read your post. I tried it and I agree with you @a286: neat, simplified workflow with powerful tools for landscapers, love it, good job Alberto!

3 Likes

This is exactly why I decided to make such a post :blush:

I have some smart 8th graders that need a RAW editor. Would ART be within their grasp?

Definitely

2 Likes

@agriggio: I would like to learn how to best use the new/improved tools in ART. Can you list what algorithms are being used and related papers, if any?

I am especially interested in Exposure Compensation, Tone Equalizer, Log Tone Mapping, Local Contrast, Texture Boost.

Thanks (and great work!).
Jack

Hi @JackH,

well, that’s a lot of modules :slight_smile: I’ll try:

  • exposure compensation is just multiplication of each pixel (as a vector [r, g, b]) by 2^{value}, done in linear space, with no clipping

  • tone equaliser is a bit more complicated. At a high level, this is a parametric tone curve that tries to preserve local contrast. The basic algorithm comes from @anon41087856 of darktable, on top of which I’ve added my own tweaks. In summary:

    1. build a tonal map by taking log_2(luminance([r, g, b]) for each pixel (where luminance is Y in XYZ)

    2. apply some edge-aware smoothing of such map using some guided filters at different scales (this is controlled by the “regularization” slider)

    3. each band in the equaliser corresponds to a Gaussian mask in log space, centered around a specific EV value (e.g. EV 0 for whites, EV -2 for highlights, … and so on). Compute the exposure correction factor for each pixel as the weighted sum of the correction of each band, according to the Gaussian masks

    I took steps 1. and 3. directly from (the first version of) the tone equaliser of darktable (I don’t know if it evolved in the meantime), whereas 2. is my contribution. No reference that I’m aware of

  • log tone mapping applies, well, a tone mapping in log space :-), taken from GitHub - ampas/aces-dev: AMPAS Academy Color Encoding System Developer Resources (ACESutil.Lin_to_Log2 in particular), and then remaps to linear by making sure that toLin(source\_gray) = target\_gray. This is similar to the Filmic module of darktable, here are the main differences (to the best of my knowledge):

    • filmic applies also a “film-like S-curve” and some other look operators (e.g. saturation manipulation), whereas in ART you would do that afterwards with the tone curve

    • remapping from log to linear is done with a “gamma” curve in filmic, i.e. a function y = x^{\gamma}, whereas in ART this is done with an exponential, i.e. y = base^x

    • ART also has a regularization slider which (similarly in concept to tone equaliser, but implemented differently) uses guided filters to preserve local contrast

    • filmic lets you select the pixel norm to use for the tone mapping, in ART this is hardcoded to luminance

  • local contrast comes straight from RawTherapee. It applies a wavelet decomposition in Lab space and manipulates the contrast of the different levels by using the curve (leftmost points correspond to finer detail scales). @jdc can give you more details about this

  • texture boost is somewhat similar to doing sharpening or local contrast with unsharp masks, as described e.g. in Local Contrast Enhancement. Main differences:

    • this is done with a guided filter, which is edge-aware, rather than with gaussian blur

    • I apply two levels of details rather than a single one

    • this is applied in linear RGB (and in fact it can sometimes cause artifacts in the deep blacks – I still have to find a proper solution for this)

    Conceptually, texture boost is also similar to local contrast, the main differences being the methods for doing the extraction of the different detail levels and their amplification/dampening, the working space, and the position in the pipeline.

Hope this helps

8 Likes

Fantastic, thank you very much for the in-depth explanation @agriggio, I really like ART’s vision.

Jack

1 Like

I just tried ART seriously for the first time, for a couples portrait shoot. Really liking it, especially the Tone Equalizer and Log Tone Mapping. Also the sharpening tool with default settings and RL Deconvution is excellent. Contrast by Detail Levels seems to be missing, however. I had been using it to slightly soften texture in portraits. Not a huge deal as I can achieve much the same effect by bringing them into Gimp and using a subtle amount of Orton effect, but wondering if there’s a way to achieve this in ART.

2 Likes

In ART you can use Local Contrast module with “negative” values (curve points below middle line) to soften the image. Maybe this will give desired effect?

Thanks, that does what I want. :slightly_smiling_face:

Ability to update snapshots
Good morning. I have a suggestion to improve the functionality of snapshots. I often like to keep a number of snapshots (or versions) of a picture, eg Black and White Version, Colourful Version, Faded version. etc. Currently, if I want to tweak and update a version, I need to create a new snapshot, name it, then delete the old one, which can get cumbersome after a while. I wonder if it would be possible to have a quick button or shortcut key to update a snapshot with the current settings. Eg for example if I moved the cursor to the snapshot labelled ‘Colourful version’, then pressed shift and click, it would update ‘Colourful version’ to the current settings.

Just an idea, as always, feel free to ignore it!

You can! Select the snapshot you wish to copy then click on “copy” in the “processing profiles” box. Then select the destination snapshot and click on paste (in the same place as copy) and presto! it is done!