mike's blog

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

Installing dlRaw

Hi folks,

since I got some comments and mails about installing the dlRaw preview on linux:

Please make sure, you have all listed packages installed, and follow the instructions closely. Up to now, all such problems could be solved like this Wink

greets mike

AMaZE demosaicer finally open source

Hi folks,

today, after many samples and some dcraw binaries over the last months, a long awaited algorithm was finally released as open source, AMaZE (Aliasing Minimization and Zipper Elimination) by Emil Martinec. It is an algorithm for demosaicing a Bayer pattern, so you need RAW images to use it. The very good news with this release, it is part of the RAWTherapee development version, so you can go right ahead and give it a try.

After the first tests, I have to say it looks quite promising. The speed is on par with DCB (around 3s for a 14MP image on a Q6600 4x2.4GHz) and the results on low ISO images are even a little better. Just look close at hard edges or small patterns, AMaZE renders them a little smoother. However, on high ISO images AMaZE is a little weaker than DCB.

Altogether, for most images the differences between the two are not really relevant; you see the slight differences only at 100% or above. If you even shrink your images (e.g. for the web), you won't see any difference.

So go ahead, try it, and leave feedback to the author. Smile

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.