New texture boost implementation

Hi,
I just pushed a new branch new-texture-boost with a complete reimplementation of the texture boost module. The new code is simpler, faster, and should avoid the mismatches between preview and output that can happen with the old version when pushed to the extremes (see agriggio / ART / issues / #35 - Segfault Local edit - Texture boost — Bitbucket). However, the new version is not backwards compatible: it will give similar results to the old version (in the sense that both will boost details), but they won’t be identical.
Therefore, I’d like to collect opinions from users, before deciding whether to merge.
If you have feedback, please post here your observations.
Thanks in advance!

4 Likes

Sounds good to me. Sometimes it is necessary to sacrifice backwards compatibility to progress…

1 Like

For Windows testers
ART_new-texture-boost_1.2-7-g2be350da1_W64_generic_200324.7z
ART_new-texture-boost_1.2-7-g2be350da1_W64_Skylake_200324.7z
ART_new-texture-boost_1.2-7-g2be350da1_W64_Znver2_200324.7z

uploaded at
ART-W64NightlyBuilds/ – Keybase.pub

1 Like

Hi @agriggio,
my test of your new boost texture shows me much finer and more predictable results than the original. There are far fewer artifacts when the sliders are pushed all the way in. I notice a noticeable increase in contrast with the new module (the blacks get darker) whereas with the old module the image tended to lighten. The module is also much faster on my old machine (mac pro 2011 under manjaro linux). For my part, I validate this new module! :wink:

I noticed a bug in the reset buttons on the local modules. (except the color correction module). When you try to reset a module, the image doesn’t reset. You have to turn the module off and on again… while everywhere else, the reset recalculates the image immediately…

Thanks again for your work alberto !

indeed, confirmed. thanks for your comments!

So the issue would be that any image with existing texture boost edits that has not been exported will not show up the same?
I don’t think this is an issue for me.

I agree, the results are different - darks get darker rather than lighter, but overall it seems a much more useful tool than the old one. I would definitely be inclined to use it more often now…
Great work!

Thanks to all the people who replied!

Yes, that’s basically it. Plus, since the results are different, I want to make sure that people actually find them better, not worse.

I am happy this seems to be the general opinion :slight_smile:
I’ll wait a few more days, and if no issues arise, then I’ll merge.
Thanks again!

The new texture boost better keeps the general brightness of image.

It doesn’t spread the black or shadow regions. for instance the black stripes of tiger are quite enlarged by old texture boost.

Perhaps it doesn’t enhance small texture details as much as the old one.

Overall it is more usable, and I don’t mind if it is not backward compatible.

New texture boost

Old texture boost

I’ve added a few more tweaks and some optimisations. For me, the code is now ready for wider testing.

After some more test with your last tweaks, I am brought to much better like the new texture boost. Contrary to what I said above, It can really enhance the texture. The effect is strong and surely users have to be cautious when using it to not overdo.

1 Like

I like the new method, and indeed it’s much faster now.
I tried the earlier version, and the latest. I think I like both. I only tested quickly, but it seemed to me that the earlier version could produce a result that reminds me the “clarity” effect in Lightroom. I don’t see the same effect with the latest version, but this latest version indeed boosts texture in a nicer way.
Maybe you could recycle the earlier code to create a new “clarity” filter, and keep the lates for “texture boost”?

@agriggio With the latest code, “edge stopping” behaves oddly: it seems to change by steps, and the size of the step depends on the preview zoom.
For example, at 33% zoom, with strength=0.50 and iterations=3 (to best view the effect), I found the following steps for edge stopping:
0.10-1.28
1.29-2.14
2.15-2.99
3.00-3.85
3.86-4.00

Also, whatever the “edge stopping” value, the histogram is not updated.

  • I noticed that but was unable to express. The old texture boost resulted in something that was comparable, but not the same as local contrast. effectively kind of clarity.
  • Confirmed. But it did not bother me. I see a modification of histogram at 2.58

  • Although I made experiments, what is edge stopping remains mysterious for me. @agriggio could you explain this function in a few words?

Thanks for the feedback! I have made the “Edge stopping” slider smoother, now you should not see big jumps in behaviour anymore.
I have also renamed it to “Detail threshold”, I hope this clarifies its meaning.

Hi,

regarding clarity. Here’s Adobe Camera Raw (as shipped with the free Adobe Bridge, I don’t have Lightroom but I assume they work the same?), default settings and Clarity +20:

Here’s the latest texture boost, with strength 0.2, detail threshold 1.0 (the new default) and iterations 1:

4 Likes

I agree with @sguyader, I like both versions.The latest incarnation does more to enhance texture so perhaps lives up to its name better. I find it needs to be used very sparingly to avoid a very ‘crunchy’ looking photo.

A comparison of the same crop without Texture boost (NoTB) with Texture boost from 1.2 version (OldTB) and from Texture boost branche (NewTB)

![OldTB|690x379]

Of course in each case the same parameters. For texture boost : strengh 0.2 and threshold 1.

thanks for the test! This is now in master btw