Tuesday, February 26, 2013

DNGMonochrome 0.9.7 released

Changes & Improvements
  • Changes the algorithms to one new one with option to go for a more sharper result
  • Improves the switching between precooked and cooked preview by keeping the cooked preview in memory... this means when switching to the cooked preview, only the first time it will take a few seconds... subsequent switches from precooked to cooked are a lot faster now...
  • Changes the size of the preview images to slightly bigger
  • Improves and speeds up border interpolation (first and last two rows and columns of the photo)... previous method could produce artifacts...


Dropped
  • Drops the median filters
  • Drops the presets
  • Drops the 'beautifying' step in the red and blue RAW conversion, since due to the new algorithm that didn't add noticeable benefits anymore... as a consequence the red and blue RAW conversions are a lot faster now...


Bug fixes
  • After clicking on 'I see dead pixels...' and closing the window, the underlying image still in the preview would be invalidated, leading to crashes if you tried to change any of the settings (brightness, gamma etc.)


Additions
  • Adds pre-interpolation noise reduction options for the secondary channels
  • Adds noise reduction option for the final image
  • Adds noise reduction option for the RAW red and RAW blue when used in filtering
  • Adds option to batch process photos... select multiple DNGs by Shift-Click or CTRL-click in the list on the left - note that noise reduction is not possible in batch processing, auto-save needs to be switched on, and no preview of any of the processed photos will be shown...
  • Adds support for the Canon EOS 500D (at user request)
  • Adds support for the Leica M (note that this support is based on pre-production DNGs)
  • Adds option to skip the interpolation and go for a resize, only keeping parts of the green channel... this leads to 25% of the original photo (50% of the original width and 50% of the original height) keeping only the luminance pixels. It's mainly useful if you intend to downscale the original (smaller than 50% of the original size or width). You get the true luminance result without interpolation. You can still use all the filter options, since the red RAW and blue RAW are also resized, and perfectly overlap the regular result. For DNGs of the Leica M9, this option leads to a regular result that would be equivalent to the output of a 4.5mp black & white sensor. You can also use this option as a quick preview, since it's faster than interpolating. Then, after getting to the desired result (e.g. the right filter settings), turn the option off and make the final copy. Don't use this option if you intend to print the result.



Some remarks on the noise reduction

You have to interpolate your photo at least once to make the noise reduction button become available. Changing any setting (filters, sharpness, re-size) will reset the noise reduction preview, and you'll have to reprocess your photo to make the button available again.

Note that the sliders in the noise reduction work differently compared to Lightroom. If you push them nothing is changed. You have to release the slider first.

The buttons to turn off specific options (the little buttons behind the sliders) only work on the preview. If you turn off say the regular noise reduction through the button and you reprocess the photo, the noise reduction is still applied.


The balance slider

The balance slider is slightly experimental and it's difficult to explain what it does exactly, without going into the details of the noise reduction algorithm itself. A simple way of explaining: it you push it to the right (the + setting) you start favoring the 'lighter' noise. If you push it to the left (the - setting) you start favoring the 'darker' noise. And with favoring I mean: it's reduced less. The balance slider can bring back additional detail in e.g. highlights, but at the cost of less noise reduction in other parts of the photo. It has quite a heavy impact, so if you feel the noise reduction isn't really noticeable, check the balance slider to see if it's in a + or - setting and move it back to the middle (0).


Download

You can download the new version of DNGMonochrome here.


And as always...

Do check back soon to see if there were any bugs I missed.

Also quite soon on this blog some ramblings about the new stuff I've been experimenting with...

Friday, February 15, 2013

Progress report...

So how's the next release coming along?

The logic of the user interface - with all the new options in place - turned out to be quite complex, and the number of supported cameras has grown (for the next release also the Canon EOS 500D and the new Leica M, based on pre-production DNGs), and files from all the cameras need to be tested and put through all the new options.

So far so good.

The most problematic camera remains the Canon EOS 5D mark II. It's the odd one out, with its Bayer filter slightly different. And that difference keeps creeping up and causing problems in unexpected places.

The Canons are the most complicated anyway.

They differ per model in the treatment of the black level and obviously in sensor size. The 350D and 40D use separate lines to measure the black level (stored in the Delta tags), the other models don't, and they all make extensive use of very irritating variables like ActiveArea, CropOrigin, CropSize, MaskedArea... all kinds of offsets you constantly have to take into account.

Especially with the new 'resize' option, where the photo is basically cut in half on both sides, I had a hard time creating a DNG for the Canons with also the correct information where all these offsets were concerned. One wrong value and Lightroom wouldn't show the DNG.

I also ran into a snag with the noise reduction and the green filter.

Turns out the algorithm of the green filtering doesn't sit well with separately noise reduced results being mixed. Contrary to all the other filters, reducing noise in say the red result (for use in the green filter) and not reducing noise in the regular and blue result, can actually lead to more noise and quite ugly side effects. My basic conclusion was that, when mixed for green, the values within the separate results are too much intertwined and dependent on each other for the final - green filtered - end result. Changing values in one result do not necessarily lead to an overall reduction of noise. The two other - non-noise reduced - results can block the effect or even make it worse. This is also partly due to the algorithm - to get to the green filtered result - which is quite different compared to the red and blue filtering.

I need to study this a bit closer though. I wanted to do that anyway, cause the green filtering can also turn quite ugly if the white balance is pushed too much towards the yellow (slider to the right). Want to see if I can improve that or if I need to adapt the strength setting.

For now I solved the noise reduction and the green filter by locking the sliders. Noise is best reduced (and without any problems) in the green result, if all the results (regular, red and blue) are noise reduced equally before they're mixed. In the end it means that the noise reduction in DNGMonochrome isn't very beneficial for green filtered results. Lightroom can most likely deal with that one equally effective.

I hope to figure out a better way though, because in the gradient filtering Lightroom will be more difficult (although not impossible with their gradient noise reduction option in version 4).

Overall I probably need another week to finish up this release.