Unrawel 1.03 Alpha
Unrawel is a library with different techniques for digital camera acquired RAW image interpolation and processing.
Areas which are covered include RAW images interpolation, images de-noising and enhancing, white balance determining.
Please note that Unrawel was designed for my own experiments and research rather than a tool for general public – this means its features and interface are not very well suited for people who just need “hit a single button to get results”: you will need to construct the workflow that suits your needs (most likely – including some post-processing outside of Unrawel) in the best way and to deeply understand what different parts of this workflow are.
On the other hand, if you’re interested in ultimate control over how your images are processed – this is exactly the tool you might need.
Here are some key features of "Unrawel":
Generic program features:
· Support for custom workflow – user specifies in config file a set of operations to apply, there’s no pre-fixed sequences of operations – though, of course, common sense should be used when designing workflow, you hardly want to de-noise RAW image before it is interpolated, for example.
· Support for reading RAW files produced by digital cameras. Currently, only Canon CRW files for several cameras are supported, but it should be trivial to add new formats and cameras.
· Support for ImageMagick can be compiled in to allow reading / writing in different image formats.
· LCMS (little cms edgine) is supported to embed color profiles into images and to perform convertions between different profiles.
· Specifying white balance by color temperature & camera profile is supported to get the most accurate results.
· 16 bit, linear processing.
Interpolations algorithms supported:
· Adaptive Color Planes interpolation
· Simple bilibnear interpolation
· Corner interpolation
· Adaptive hues interpolation
· Freeman median interpolation
· Multi-gradient interpolation
· Weighted sums interpolation
Some of these algorithms are well-known ones, others were designed as experimental ones by me.
From all my experiments, I especially liked results of “Adaptive hues interpolation” algorithm, which I developed based on ideas of “Adaptive Color Planes interpolation”, but ensuring constancy over hue rather than over brightness, as in “Adaptive Color Planes interpolation”: this idea leads to less color artifacts at the expence of greater brightness variance, which still looks more pleasing to my eye.
Image processing and enhancement algorithms:
· Noise filtering using anisotropic diffusion flow
· Median filtering based on “adaptive direction median”
· Set of simple filters (medians, etc)
· Noise filtering using Total Variation
· Image enhancement using hue correction and diffusion flow
White balance calculation algorithms:
· “Grey World”
· “White patch”