Local Lab build

I just pushed a lot of changes to locallab branch. Still only one region, but some bugs are fixed, it’s a lot faster now, ‘add noise’ is improved, it allows more accurate positioning of affected region (last version had a granularity of 1/200 of image dimensions, this one has 1/2000) and the size of the center circle corresponds much better to the region the averages are picked from. The change from 1/200 to 1/2000 breaks compatibility to old locallab pp3 files, which means you have to define the regions again.
you can follow the work here

2 Likes

Ingo thank you for all the improvements.

Here are several issues to deal or not.

  1. The first is almost resolved, it is to stabilize and accelerate the process that I developed there are now 2 years.
  2. The second is to improve the current operation to approach the old U-points CNX2. The current operation is approaching, but there are still issues to be resolved.
    It must be possible to make more efficient existing algorithm, but also can be (to be developed) using algorithms as Retinex and Wavelet.

Then and this is where I think we will have difficulties:
3) we will be able to set up layers (or something equivalent) to easily manage more than one point …or work around the problem by inserting more control points, for example in the RGB process, or wavelet, or elsewhere
This will not be easy to due to the construction of the pipeline RT
4) develop another GUI to replace the sliders, via an interface linked to the mouse
:slight_smile:

An idea of how multiple tool instances for multiple local adjustment points could work:

Every tool gets a new “instance” combobox at the top of the tool frame/vbox. Instance 0 is always the global effect the tool has, as every tool in RT currently works. But you could add a new instance of a tool which could be used by the Local Adjustment tool to adjust a small area, or it could be also global, working as a layer.
For example you set exposure compensation to +1EV globally, instance 0.

When you add a new adjustment point you select the tool you want it to use, e.g. Exposure to brighten up the left eye in a portrait, and place the local adjustment point on the preview. A new instance, 1, is automatically added to the Exposure tool’s instance combobox. The Exposure tool’s sliders are reset for instance 1. You set exposure compensation to 0.5EV for instance 1.

You can add a second local adjustment point also for the Exposure tool, so it gets a new instance, 2, for the right eye. +0.7EV.

You can select any instance from the combobox at any moment - this sets the sliders of that tool to show the settings which that instance uses. If you select instance 0 then the Exposure Compensation slider moves to the +1EV position, if you select instance 1 it moves to +0.5EV, if you select instance 2 it moves to +0.7EV.

The main preview shows a dot with a number, this number corresponds to the instance, so you can see “Aha, the left eye uses the exposure local adjustment instance 1”

PP3 handling: each tool section gets an instance index, so [Exposure] changes to [Exposure#0], [Exposure#1], [Exposure#2], etc. If an instance of e.g. Exposure is used locally, then the Local Adjustment tool gets a [Local Adjustment#1] section.

The local adjustment tool would not re-implement each supported tool as it does now. Instead, the tools would be made to handle multiple instances. Perhaps the output of instance 0 would go into the input of instance 1, if it exists, or into the input of the next tool’s instance 0 if the current tool does not have multiple instances. So the pipeline would still be fixed but allow multiple instances of a single tool.

I’m interested to know, from you guys at the centre of RT, what the “mission statement” is! Is it to build the best raw processor there is, with the proviso you take the output to Gimp, say, if you subsequently need layers? Or is the aim to make RT the full app with raw conversion, layers and maybe other stuff? (I haven’t had chance to try Local Lab yet, and have never used Gimp so far)

https://github.com/Beep6581/RawTherapee/blob/master/README.md

A new Windows 64-bit build of the “Local Lab” branch can be downloaded here.
Enjoy!

1 Like

Many thanks Sebastien, and to those who developed it. I just used it to make the fruit in the shade a bit punchier. Before-


With Local Lab -

This will be a useful tool and avoid me going into another app to do the local adjustment (which will involve a chunk of learning curve). A few comments though… It would be nice to be able to rotate the area like Graduated Filter. Also, with Local Lab switched on, I loaded the .pp3 profile for an old version of this photo, i.e. made with a previous version of RT. RT left the Local Lab on. I suppose ideally RT should detect that the pp3 pre-dates the new tool, and therefore ensure it is off? But thanks again for this nice new tool.

Thanks for the new RT Local Lab version!
Running RawTherapee_WinVista_64_Local_Lab_Release_4.2.912 here.

Love the lightness, blur effect and the new widget shape.
Local Lab is my fav RT version.

Did a quick test on one.
From far away this morning:

1 Like

For 32 bits users, you can find in my RT drive
Locallab branch 4.2.950 (release)

hi, I was using LocalLab on this photo:-


I wanted to liven up the strip between the railings, the buildings etc, and so I wanted it to act all the way across, at least all the way on the left side. Unless I missed something, I could only drag the marker to the boundary of the photo, and then with the “feathering” / gradient at the edge, it left a good chunk unaffected by the local lab settings. It would be nice if local lab could go right to the edge. One possible way to do this would be to add a function which allowed a strip of image to be added to one or more sides, after de-mosaicing. Then the markers (or selection tools, whatever) could go beyond the edge of the photo, and all the tools would hopefully work fine, being none the wiser. Andrew.

Looks awesome!

Is it likely to find it’s way to Linux and osx editions as well? Or have I completely missed something and it’s already there?

You can compile it yourself, see directions -

http://rawpedia.rawtherapee.com/Linux

Great. Thanks!
Now that I’ve downloaded the zip file, what do I do next? How do I compile for Linux Mint 18 (Ubuntu 16.04)?

Thanks in advance…

EDIT… Just checked the redme file, with a link to Rawpedia. Looks way to complicated for this fella. I think I’ll just wait for the final release. Thanks for the idea though.

No, it is not. Just follow the instructions.
Since you want to build the Local lab branch, there is
just one very small change in the instructions… I’ll start
a Linux machine in a few minutes’ time to check the
very small change needed & I’ll be back here with the info.

Be right back…

OK, now I am back!

Follow there instructions:
http://rawpedia.rawtherapee.com/Linux#Ubuntu_16.04_LTS_and_15.10

When all dependencies have been installed, goto to

  • Compiling: The Manual Way…

  • Clone the source…

  • Choose a branch…
    Here is the only change you have to make:
    to checkout the Local Lab branch, enter git checkout locallab
    Now you are ready to go on to

  • Compile RawTherapee.

If you are afraid of making typos in the long cmake instructions, just use copy/paste!

Since I can do it, so can you :slight_smile:

Have fun!

Thanks for this!

Just checking, is this the same git pacakaging that appears in darius’s highly explosive ppa? and if not, by installing from git, will this have any effect on the git package already installed from the above ppa?

Cheers.

'evening!

Now, Darius fetches the code from the same source as you will do, that is true. But does he use the Local Lab branch? I doubt it, I presume that he offers the gtk3 branch.

If you follow the instructions that I gave you this morning, your RT will be the Local Lab branch, and your RT will be placed in folder ~/rt.

Darius’ RT most probably will be placed in one of the bin folders in your computer, meaning that they both (i.e. yours and his) can coexist in a friendly manner – you simply decide which one you would like to start from time to time.

I cannot see that this will be a drawback, but if you have several RTs on your computer, they will all share the same config file (located in your home folder).

If anything should go wrong, just delete them and reinstall the version you would like to keep :slight_smile:

I repeat: if I can do it, so can you!

@Claes, nope, didn’t work.

here’s what I got in terminal…

 fotonut@fotonut02 ~ $ git clone https://github.com/Beep6581/RawTherapee ~/repo-rt
Cloning into '/home/fotonut/repo-rt'...
remote: Counting objects: 38573, done.
remote: Compressing objects: 100% (86/86), done.
remote: Total 38573 (delta 47), reused 0 (delta 0), pack-reused 38487
Receiving objects: 100% (38573/38573), 96.13 MiB | 3.65 MiB/s, done.
Resolving deltas: 100% (31230/31230), done.
Checking connectivity... done.
fotonut@fotonut02 ~ $ cd ~/repo-rt
fotonut@fotonut02 ~/repo-rt $ git checkout locallab
Branch locallab set up to track remote branch locallab from origin.
Switched to a new branch 'locallab'
fotonut@fotonut02 ~/repo-rt $ grep -c processor /proc/cpuinfo
4
fotonut@fotonut02 ~/repo-rt $ rm -rf build; make clean; ./clean
cat clean.sh >clean 
chmod a+x clean
rm: cannot remove 'install_manifest.txt': No such file or directory
rm: cannot remove './CMakeFiles': No such file or directory
rm: cannot remove './rtengine/CMakeFiles': No such file or directory
rm: cannot remove './rtexif/CMakeFiles': No such file or directory
rm: cannot remove './rtgui/CMakeFiles': No such file or directory
rm: cannot remove './rtdata/CMakeFiles': No such file or directory
rm: cannot remove './cmake': Is a directory
rm: cannot remove './rtengine/cmake*': No such file or directory
rm: cannot remove './rtexif/cmake*': No such file or directory
rm: cannot remove './rtgui/cmake*': No such file or directory
rm: cannot remove './rtdata/cmake*': No such file or directory
rm: cannot remove './Makefile': No such file or directory
rm: cannot remove './rtengine/Makefile': No such file or directory
rm: cannot remove './rtexif/Makefile': No such file or directory
rm: cannot remove './rtgui/Makefile': No such file or directory
rm: cannot remove './rtdata/Makefile': No such file or directory
rm: cannot remove './rtengine/librtengine.so': No such file or directory
rm: cannot remove './rtengine/librtengine.a': No such file or directory
rm: cannot remove './rtgui/rawtherapee': No such file or directory
rm: cannot remove './rtexif/librtexif.so': No such file or directory
rm: cannot remove './rtexif/librtexif.a': No such file or directory
fotonut@fotonut02 ~/repo-rt $ mkdir build && cd build
fotonut@fotonut02 ~/repo-rt/build $ cmake -DCMAKE_CXX_FLAGS="-std=c++11 -Wno-deprecated-declarations -Wno-unused-result" \
>       -DWITH_LTO="OFF" \
>       -DCMAKE_BUILD_TYPE="release" \
>       -DPROC_TARGET_NUMBER="2" \
>       -DBUILD_BUNDLE="ON" \
>       -DBINDIR="." \
>       -DDATADIR="." \
>       -DCACHE_NAME_SUFFIX="4" ..
-- The C compiler identification is GNU 5.3.1
-- The CXX compiler identification is GNU 5.3.1
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- CMAKE_BUILD_TYPE: release
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- Checking for module 'gtk+-2.0>=2.12'
--   
CMake Error at /usr/share/cmake-3.5/Modules/FindPkgConfig.cmake:367 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindPkgConfig.cmake:532 (_pkg_check_modules_internal)
  CMakeLists.txt:222 (pkg_check_modules)


-- Configuring incomplete, errors occurred!
See also "/home/fotonut/repo-rt/build/CMakeFiles/CMakeOutput.log".
fotonut@fotonut02 ~/repo-rt/build $ make -j4 install
make: *** No rule to make target 'install'.  Stop.
fotonut@fotonut02 ~/repo-rt/build $ mv release ~/rt
mv: cannot stat 'release': No such file or directory
fotonut@fotonut02 ~/repo-rt/build $

Any ideas?

Good morning!

Well done! There are just some minor things that we have to straighten out…

All those “cannot remove” are quite normal for the first run.

In order not to fill the forum with a discussion that is not of general interest, I suggest we move to the email section of pixls.us.
You will find my suggestions on how to go on in your mail box within short…