-
Notifications
You must be signed in to change notification settings - Fork 305
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Local Adjustments Exposure compensation acts differently on clipped highlights #6274
Comments
Yes, I know...and I think there is no solution...with "exposure"... By the way, as I mention in the Rawpedia documentation, I ranked this algorithm last...and there is a reason.... jacques |
Good to know. |
It's inherent at this algorithm... On the other hand, I had thought of removing this algorithm from "LA", because if we compare it to the others (Tone equalizer, TRC, Log encoding...), it is always lower gradually with LA users will have to change their behavior, by unlearning and learning new practices Jacques |
I would not have guessed that Lab would work so poorly in this case. With the steps I mentioned, all values are clipped prior to local adjustments, so Lab should be able to handle it without issues. Am I missing something? |
Yes but in this case, look at the Lab values in the cloud...L=100 a=0 b=0, the algorithm is unable to deal with this But I recall for me, the worst algorithm to handle exposure in LA is "exposure". jacques |
I agree the other tools are more useful than Exposure compensation. Nevertheless, I attempted to find the cause. RawTherapee/rtengine/iplocallab.cc Lines 3090 to 3104 in d86888e
hlfactor is wrong for clipped values. It turns out this is because exp_scale is wrong too. Why is pow_F returning bad values? Keep in mind the second argument: lp.expcomp + addcomp pow_F is defined in two places:RawTherapee/rtengine/opthelper.h Line 23 in d86888e
Line 29 in d86888e
The one in sleef.h is redundant. After removing that one and surrounding b in parentheses, I get better results. There is still a problem when Exposure compensation is > -0.6 . I noticed lp.expcomp doesn't match the values in the UI and found this:RawTherapee/rtengine/iplocallab.cc Lines 1650 to 1656 in d86888e
Removing this solves the final issue, but I have no idea what the purpose of this code is and if it is a bad idea to remove it. |
Could you send me the code for "surrounding" (After removing that one and surrounding b in parentheses) The last part for expcomp < 0.6 was a precedent issue....because some users found that the system varied too quickly for low values. I think now we can disabled at least for negative values... Thank you Jacques |
I changed |
OK for this case, but this change will affect all pow_F calls in RT...? But, excuse my bad english...and my bad knowledge in C++.I now know what an added parenthesis () does :) |
I briefly checked all the usages and none of them should be affected by the extra parentheses. The extra parentheses is the correct version, so if the change breaks something, it's because it wasn't using pow_F correctly in the first place. If you don't want to change pow_F, you can just change The parentheses are necessary because |
Please wait before committing this change directly to |
Edit: nevermind, my example was flawed. When you enter an arithmetic expression into the |
There is no difference in that example because you used simple arguments. When dealing with macros, the tricky parts come from order of operations and using code with side-effects. |
@Desmis @Lawrence37 I went through all cases of @Lawrence37 Feel free to update |
I just create a new branch "laexposure" with 3 changes
Now the behavior is better...Thanks to @Lawrence37 Jacques |
I just create a PR
|
Short description
Local Adjustments > Dynamic Range & Exposure > Exposure compensation changes the lightness of clipped highlights at a different rate compared to the rest of the photo.
Steps to reproduce
Expected behavior
Clipped highlights darken at more or less the same rate as the rest of the image.
Screenshots
![image](https://user-images.githubusercontent.com/45837045/120906758-0248c800-c611-11eb-97b3-1856a1c248c7.png)
Without adjustment:
Clipped highlights don't darken as quickly as the rest of the image:
![image](https://user-images.githubusercontent.com/45837045/120906766-1f7d9680-c611-11eb-9be4-36c0f5cd2362.png)
At this point, the clipped highlights "catch up":
![image](https://user-images.githubusercontent.com/45837045/120906776-39b77480-c611-11eb-8090-a12016a4747a.png)
Now it darkens quicker than the rest of the image:
![image](https://user-images.githubusercontent.com/45837045/120906794-52c02580-c611-11eb-895b-550e6cbf714a.png)
The text was updated successfully, but these errors were encountered: