GIMP

Adaptive saturation curve for LabCurves

Hi folks,

finally here is the first update for LabCurves.

The main new feature is a saturation curve, which could be used in an absolute or adaptive way. You can change the saturation of certain colors or of certain luminosities. Furthermore it is now possible to have a linear curve which helps changing only the saturation of some colors. However, for the other curves this will not be very important. You can change these things in the context menues of the corresponding curve windows. Finally, there are several internal changes like the switch to lcms 2 and several improvements for multicore systems, on which it should be much faster now (depending on the number of cores).

LabCurves

However, because of lcms 2 I'm not able to share linux binaries at the moment, since lcms 2 is not yet included in most distributions. Statically linking would be a way to have binaries again, but I don't know how to do this, so please help me with it.

More about LabCurves here.

greets mike

Installation instructions

 Hi folks, 

since I got several questions about installing LabCurves, here are some tips that might help you.

  • Make sure Gimp can use Python. You can test this with python scripts from the gimp plugin registry (files ending with "py"). Python on windows.
  • "7z" archives can be extracted with 7-zip.
  • On linux: You need the regular lcms, graphicsmagick and libqt4 packages, the dev packages are only needed if you want to recompile the program.
  • On linux: Copy the script and the folder containing the program to your gimp plugins (not scripts) directory.
  • On linux: Set the script and the program executable.
  • On windows: copy the script to your gimp plugins directory and the folder containing the program to "C:\Tools\". If you choose a different folder alter the script accordingly. Don't choose a subfolder of your gimp directories.
  • The filter is located in "Filters - MM Filters".

I hope this clarifies most of the questions.

greets mike

WIP: Saturation curve for GIMP

Hi folks, 

just a few lines, to give you an impression of the next step for LabCurves (16 bit L*a*b* curves for GIMP).

Since a link to LabCurves is always followed by a link to L*a*b* color space basics, people seem to have troubles with this color model. Although it is very powerful for image enhancements it is rather unintuitive. Working with the luminance L* is still ok, but working with a* and b* seems more or less try and error.

So, here is an approach towards usability with L*a*b*: a saturation curve which will work relative to the luminance or relative to the hue. I hope this will be easier to handle than a* and b*. And since harsher saturation adjustments are prone to banding anyway, they will profit from the 16 bit in LabCurves.

It is still work in progress, so you still have to wait a few days... The image edited in the screenshots is a 8-bit jpeg, after some minor luminance adjustments you can see the effect of the saturation curve; one image plain, one image with adaptive saturation and one with absolute saturation applied. The x-axis corresponds to the hue (which is not yet reflected in the GUI), starting with red on the left side.

Enjoy your weekend, 

greets mike

EDIT: Added a newer screenshot.

Lab curves and edge avoiding wavelets for GIMP

Hi folks,

so, out of the dlRaw development there are two small tools for you... I wanted to have a smaller version of dlRaw, which should be easy to adopt to new filters or new situations... To give it an additional purpose I added wrapper scripts for gimp and started with a long needed feature for GIMP: L*a*b* curves.

So you can finally play with curves in L*a*b* color space (using 16 bit calculation) and with preview. the best, it fits seemlessly into GIMP. Just call the script, the image is transferred to the program and when you're done, click save and you get back to you working space in gimp... 

Since the edge avoiding wavelets plugin (kindly offered by elsamuko) seems not to work on windows, I made an additional tool for edge avoiding wavelets on L* (which works on windows Wink).

Feedback is very welcome.

greets mike

Sigmoidal contrast for gimp

Hi folks,

here is another small plugin for gimp: sigmoidal contrast.

But wait, there is already a contrast tool in gimp, why another one?

Well, the contrast tool in gimp is linear, this sigmoidal contrast is non-linear and this gives several benefits.
First when you increase contrast, dark grey values get darker but not black (at least as long as you don't get into the limitations of 8bit). The same with bright grey values, they get brighter but not white. Second when you decrease contrast, black remains black and white remains white. You can verify this easily by starting with a blank image and adding a linear gradient from black to white to it. Then just look at the behaviour of the gimp contrast and of this sigmoidal contrast.

There are several sigmoidal contrast implementations, but I couldn't find one which really treats the threshold right and allows negative values for the amount. If you know such an implementation, please let me know, I would like to compare it to my approach.

You can achieve the same behaviour with a s-shaped curve, however pulling sliders is somewhat simpler and may be used in scripts. Furthermore this plugin computes internally with 32 bit (input and output are limited to 8 bit), so I hope this will reduce artifacts.

Drop me a line if you like it.

greets mike

Gimp: Edge avoiding wavelets

Hi folks,

finally I had enough time to make another promising algorithm accessible for gimp; edge avoiding wavelets. The inventor of the procedure is Raanan Fattal, you can get more information (including the research paper) here. The algorithm was implemented by Johannes Hanika and is part of darktable. I wrapped it into a small command line program and added a gimp script to call it. Binaries and source are attached.

Just copy the script in the plug-ins folder of gimp, NOT in the scripts folder. And set it executable on linux. (For windows read the readme file Wink).

I made there different modes available:

  • Linear amplification: This should model the linear presets from darktable, via the strength you can control if it denoises or sharpens the image, 1.0 is neutral. For denoising strength between 0.0 and 0.5 and nr of levels 2 give nice results.
  • Local contrast: This suppresses the finest detail, so noise is not amplified. A starting point would be, strength above 1.3 and nr of levels 6 or more.
  • Output level: This shows the individual levels, to get an idea how the algorithm works on the image. This is the only option where output layer effects the output. If it is larger then nr of levels you will see the residuum, otherwise the corresponding detail layer; all other are suppressed.

So have fun experimentating and give tribute to the inventors and the author!

Drop me a line, if you like it. Smile

greets mike

UPDATE: see here for a version with preview.

 

RAW image quality (new DCB)

Hi folks,

a few days ago Jacek Góźdź released a new version of his DCB demosaicing algorithm. I've already been a fan of the former method, but the new one is even better. Less artifacts and it computes faster (since less refining steps are needed). Additional there is a new denoiser (joint work with Luis Sanz Rodríguez), which works on the Bayer pattern, so the noise won't be amplified with the demosaicing.

Of course it cannot do wonders, but the results even on high ISO pictures are very good. I don't know any open source alternative which is on par with it... So, if you're looking for really high quality output, you should give it a try Wink

greets mike

Gimp: Dynamic range compression (fake HDR)

Hi folks,

in the RawTherapee forum a nice guy named ben_pcc offered source code for dynamic range compression (background to the algorithm). Since his results looked quite promising (and testing with just a source code file for RawTherapee is not so nice) I wrapped it into a small command line program and added a gimp script to call it. Binaries and source are attached.

The algorithm can be used to get a more even exposure on images with very high dynamic range, while preserving local contrast, so the image doesn't look washed out afterwards... With a little more work in gimp you can create fake HDR effects or a result similar to topaz adjust.

The attached image is a result of this filter and some post work in gimp; mainly local contrast and saturation. More results for this picture on flickr, original on deviantart.

So have fun experimentating and give tribute to the inventors and the author!

Drop me a line, if you like it. Smile

greets mike

UPDATE: Copy the script in the plug-ins folder of gimp, NOT in the scripts folder. And set it executable on linux.

UPDATE2: Ben wants to let you know, this algorithm is still work in progress. Also from my side, the script calling drc is just one way to do so, there could also be different workflows in the script calling it. So, if you have ideas or encounter problems, please tell me.

UPDATE3: This code is now part of Photivo, my open source RAW/Bitmap processor.

Gimp: Color gray decompose script

Hi folks,

so here is the next gimp script, color gray decompose.

It converts your current layer (or view) into two layers, one containing the gray values and one containing the colors. With this decomposition it's possible to sharpen without color modification (like in LAB sharpen) or to alter the contrast of the image without altering the colors, i.e. the saturation. The other way round on can work on the saturation without changing the luminocity. To increase saturation, just pull the contrast up on the color layer, or use a S-curve on the color layer. When done, a simple merge down of the upper layer will give you your original image back...

Drop me a line if you like it or if you have ideas to improve it...

greets mike

 

Any ideas?

Hi folks,

I'm thinking of the next steps with dlRaw...

Actually, it will finally become an open source photo editor, so bitmaps may be opened as well and exchange with Gimp is possible. It will be just an editor, since I think there are very good photo managers around (and I don't want to mess with them Wink ). However you can tag and rate your picture and digikam and F-Spot will understand this.