I have this recurring issue that I clone the darktable repo into a directory. I have called it darktable-HLR
Then I add a remote branch from @hannoschwalm darktable repo.
It works the first time I do it and I can build but when there are updates or if I do a git pull in the remote branch that I have fetched and checked out I get merge conflicts…
This is my sequence for a successful build but then when I go to build it after some changes made on the remote and do a git pull I see the errors noted above and I have not been able to resolve them with git add or other suggested strategies… i am sure i have missed something and I must admit the whole Git environment is still largely a mystery to me at times…
Cloned DT master into darktable-HLR
git clone https://github.com/darktable-org/darktable.git darktable-HLR
cd darktable-HLR
git pull (if first time should say up to date)
git submodule init
git submodule update
lensfun-update-data
git remote add Hanno https://github.com/jenshannoschwalm/darktable.git
git fetch Hanno
git checkout -b hl_recovery_v5 Hanno/hl_recovery_v5
mkdir build
cd build
For generic build…if release drop -dbinary
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/darktable -DBINARY_PACKAGE_BUILD=ON …/.
cmake --build .
cmake --build “/home/prior/darktable-HLR/build” --target package – -j16
Thanks @priort for your effort, it certainly helps Iain as he can’t build dt on windows himself! Just a reminder, this is highly experimental stuff, for sure only a small part of that will find it’s way into an official dt pr. Some parameters in the module are changed / treated in a way that would be concidered “no and never”.
Thanks for the explanation. I did try cycling through the various modes in the drop down. I was not able to discern much from that exercise… perhaps I just need the right image or the differences are indeed subtle…
I just tested the merged PR. This is very fast and very good at recovering the highlights. The slides changed since the last time I did a build. In one image I had I wanted to feather or bloom the segment selections because it was not picking up the edges correctly. It is a very tricky image, so it might be an outlier case for recovery.
The v5 code only adds the “guess values in areas with all color channels clipped” code. I have yet not decided if I will do a pr for this part, results must be pleasing and performance good. Otherwise no chance for me.
In dt github there is a pull request (currently marked as WIP) implementing the recovery code.
As we calculate distance for every segment we can avoid processing very small/narrow segments for performance.
the strength of the effect is now controlled via a slider
we can select gradient attenuation for small and large segments and we have an new “generic” mode that calculates date based on maximum distance in that segment.
noise can be added to all-clipped segments
Performance is pretty good - here even on 45Mpix images with lots of segments the recovery mode adds less than 100msec in almost all cases.
@priort I would appreciate if you could again compile for windows to allow Iain proper testing.
Please report back your experience, current code seems to be good after a lot of testing but a) don’t know what you think of it and b) we should concider if it’s ready for open-world.