• strict warning: Non-static method view::load() should not be called statically in /www/htdocs/w00b6fc7/drupal-6.15/sites/all/modules/views/views.module on line 879.
  • strict warning: Declaration of views_handler_argument::init() should be compatible with views_handler::init(&$view, $options) in /www/htdocs/w00b6fc7/drupal-6.15/sites/all/modules/views/handlers/views_handler_argument.inc on line 745.
  • strict warning: Declaration of views_handler_filter::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /www/htdocs/w00b6fc7/drupal-6.15/sites/all/modules/views/handlers/views_handler_filter.inc on line 589.
  • strict warning: Declaration of views_handler_filter::options_submit() should be compatible with views_handler::options_submit($form, &$form_state) in /www/htdocs/w00b6fc7/drupal-6.15/sites/all/modules/views/handlers/views_handler_filter.inc on line 589.
  • strict warning: Declaration of views_handler_filter_node_status::operator_form() should be compatible with views_handler_filter::operator_form(&$form, &$form_state) in /www/htdocs/w00b6fc7/drupal-6.15/sites/all/modules/views/modules/node/views_handler_filter_node_status.inc on line 14.
  • strict warning: Non-static method view::load() should not be called statically in /www/htdocs/w00b6fc7/drupal-6.15/sites/all/modules/views/views.module on line 879.
  • strict warning: Declaration of views_plugin_style_default::options() should be compatible with views_object::options() in /www/htdocs/w00b6fc7/drupal-6.15/sites/all/modules/views/plugins/views_plugin_style_default.inc on line 25.
  • strict warning: Declaration of views_plugin_row::options_validate() should be compatible with views_plugin::options_validate(&$form, &$form_state) in /www/htdocs/w00b6fc7/drupal-6.15/sites/all/modules/views/plugins/views_plugin_row.inc on line 135.
  • strict warning: Declaration of views_plugin_row::options_submit() should be compatible with views_plugin::options_submit(&$form, &$form_state) in /www/htdocs/w00b6fc7/drupal-6.15/sites/all/modules/views/plugins/views_plugin_row.inc on line 135.
  • strict warning: Declaration of content_handler_field::options() should be compatible with views_object::options() in /www/htdocs/w00b6fc7/drupal-6.15/sites/all/modules/cck/includes/views/handlers/content_handler_field.inc on line 208.
  • strict warning: Non-static method view::load() should not be called statically in /www/htdocs/w00b6fc7/drupal-6.15/sites/all/modules/views/views.module on line 879.
  • strict warning: Declaration of views_attach_plugin_display_node_content::options_submit() should be compatible with views_plugin_display::options_submit(&$form, &$form_state) in /www/htdocs/w00b6fc7/drupal-6.15/sites/all/modules/views_attach/views_attach_plugin_display_node_content.inc on line 248.
  • strict warning: Non-static method view::load() should not be called statically in /www/htdocs/w00b6fc7/drupal-6.15/sites/all/modules/views/views.module on line 879.
  • strict warning: Non-static method view::load() should not be called statically in /www/htdocs/w00b6fc7/drupal-6.15/sites/all/modules/views/views.module on line 879.
  • strict warning: Non-static method view::load() should not be called statically in /www/htdocs/w00b6fc7/drupal-6.15/sites/all/modules/views/views.module on line 879.
  • strict warning: Non-static method view::load() should not be called statically in /www/htdocs/w00b6fc7/drupal-6.15/sites/all/modules/views/views.module on line 879.


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.


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

Linux software for photography

Just to give you an impression which tools I use besides dlRaw and how my workflow looks like:

dcraw: This is the main tool on which nearly all other programms rely for raw decoding, even on windows.

darktable: This quite young project has some enthusiastic developers. Like RawTherapee it also wants to be an all in one solution, they are even working on tethered shooting. So, just have a look, if the current development version already fits your needs.

digiKam: A database application for sorting, tagging and viewing images. It also features easy image processing, but you can also use your tool of choice right out of digikam just by the 'open with' command. It's a KDE application and with the recent development it is also available on windows. Digikam is my application of choice for managing my photo collection.

F-Spot: The gnome counterpart to digikam, so also a quite feature rich collection manager. I don't use it, because I'm very happy with digikam, but that my be different for you, so go ahead and check it out.

Geeqie: A very fast image viewer (also RAW image viewer) with histogram and exiv data. It also features basic collection management. I use it as a fast viewer for the first sorting of my images. 

gimp: THE image editor on linux (although there is more competition now). dlraw and ufraw feature buttons to send the processed image to gimp for fine tuning or local adjustments. Just make sure you also get the plugins gmic and mathmap and also scripts from plugin database and FX foundry. And if you wish my enhancements for gimp.

hugin: Open source panaorama tool, it can also be used for getting the correction data for lensfun from a lens.

Qtpfsgui: Open source HDR application. I'm not so into HDR but sometimes it is necessary.

Rawstudio: Again an all in one solution, whose development seems to speed up in recent weeks. Besides their blog I haven't checked the software, so it's up to you.

RawTherapee: It is a all in one solution, collection manager and image processor. It's quite easy to use while many usefull features are available. It was the first tool I used when starting image manipulations. The latest official release is closed source. However, the current development is done open source. Smile It is not yet production ready, but it got a new attractive interface and some powerful new algorithms are included. You should really try the latest development version (get it in their forum).

UFRaw: A basic raw converter, not so feature rich but very mature and stable, I would say production ready. The latest CVS version is usually up to date with the current dcraw version, so if you have a very recent camera ufraw is the first choice. I used it very long before starting to help on dcraw. Sadly after some activity on their list, it got quite silent during the last weeks...

Further projects which I haven't tested, just to give you an impression whats around:

Update: There is now a far longer list on linuxphoto.org.

Latest update 2010-07-02.