Downloads
What Is LibRaw
LibRaw is a library for reading RAW files obtained from digital photo cameras (CRW/CR2, NEF, RAF, DNG, and others). Details >>
LibRaw is based on the source codes of the dcraw utility, where part of drawbacks have already been eliminated and part will be fixed in future. The users of the library are provided with API to be built into their software programs.
LibRaw 0.8.5
Submitted by lexa on 30 December, 2009 - 18:04LibRaw 0.8.5 available for download
Changes are:
- Fixed bug in simple_dcraw sample parameters processing
- Imported dcraw 8.99 (1.432):
LibRaw 0.8.0 Release
Submitted by lexa on 27 August, 2009 - 11:30LibRaw 0.8.0 Release available for download
There are many changes since version 0.7.2, in short:
- Large RAW files (more than 2Gb) supported.
- Dcraw 8.86/1.426 imported: 23 new cameras; new color data for many cameras; new unpacking code for several formats.
- LibRaw API changes: new gamma curve parameters.
- Some C-API calls are implemented (was missed, but documented).
- Many minor compatibility/cosmetic changes.
Image::LibRaw (LibRaw Perl interface)
Submitted by lexa on 15 May, 2009 - 11:23Tokuhiro Matsuno has developed version 0.01 of LibRaw Perl bindings.
LibRaw-Lite (LGPL license)
Submitted by lexa on 7 May, 2009 - 19:21LibRaw-Lite is licensed under LGPL terms and is available for download and use.
This version is slightly lighter than GPL-licensed LibRaw:
- With LGPL License, you may use unmodified library in non-opensource applications.
- (Sorry) Foveon support is absent due to dcraw license restrictions.
- Minor enhancements found in full LibRaw are absent in Lite version:
- Black (masked) pixels are not extracted from RAW data.
- It is not possible to control black level subtraction, raw curve processing, zero pixels removal.
- Color data source (i.e. from camera/from hardcoded constant etc.) is not saved for application use.
- There is no OpenMP support.
LibRaw 0.7.2
Submitted by lexa on 7 April, 2009 - 21:43LibRaw 0.7.2 released, changes are:
- More accurate types conversion in libraw_datastream.h
- New postprocessing parameter auto_bright_thr: set portion of clipped pixels for auto brightening code (instead of dcraw-derived hardcoded 1%)
- -U option for dcraw_emu sample sets auto_bright_thr parameter
- all client code should be recompiled due to structures size change
LibRaw 0.7.2 is available for download on this site download page
Chasing a Gray Cat In a Gray Room: the level of middle gray and the headroom in the highlights for Canon 5D Mark II
Submitted by lexa on 7 March, 2009 - 23:07The current methods used to determine the sensitivity of digital cameras are not based on the RAW data coming from the sensor; rather they are based on the results of processing the RAW in a converter (be it an external converter or in-camera).
This approach, with all its simplicity, is in fact based on the properties of the RAW converter and on the transformations it applies to RAW data. In particular, the converter can introduce hidden exposure compensation, change the tone curve, and so on. The sensitivity of the camera resulting from such a procedure is a pretty arbitrary value. The matter is discussed in good detail in Wikipedia, in the article explaining ISO 12232 standard.
This approach allows the camera manufacturers to enjoy all sorts of tricks while stating the sensitivity, say cameras from different manufacturers but having the same rated sensitivity behave wildly different when it comes to photographic latitude. This means that switching between different camera bodies one often needs to re-adapt, changing the way he applies exposure compensation.
A simple experiment that takes no additional equipment other than already existing camera and lens allows to accurately determine how the camera exposes, that is:
- which level of signal (in terms of RAW data) is obtained while setting the exposure by the exposure meter;
- what headroom in highlights is left, i.e. how many exposure stops are between the middle gray and sensor saturation.
Two Paths Leading Nowhere
Submitted by lexa on 31 January, 2009 - 19:18During the last 10 to 15 years, digital photography forced the film out of nearly all the domains. End users purchased hundreds of millions of digital cameras; and that is not including the cameras sold integrated with cellular phones. Such a huge industry can't exist without standards and such standards appear to exist. They cover the storage media (various flash cards), and image format which happens to be JPEG. Currently JPEG is the most widely used image format and its image quality and size satisfy the overwhelming majority of users.
However it is not always what professionals want. By professionals we do not mean just professional photographers. The list includes designers, pre-press staff, archivists, photo banks and many others. It often happens that JPEG format is also deemed less than appropriate by advanced amateurs. That is why nearly all digital cameras that are positioned by manufacturers as professional or semi-professionals models (as well as all current dSLR cameras) suggest an alternative format, the so-called RAW. For a casual onlooker it may appear that RAW is also some kind of a standard format that delivers better quality – quality for pros.
This small article is to show that the matter is much more complicated. At the current stage the situation with RAW format is not just bad but really dreadful and continues to spiral downwards rapidly. This affects mostly professionals while less demanding amateurs simply enjoy the progress of digital.
Dan Margulis on RAW module
Submitted by ib on 9 January, 2009 - 05:01The question that needs an answer is, for what purpose is the module designed. I can think of four different approaches to acquisition.
- I want the module to do nothing more than open the file without damage. I understand that it will probably be flat and colorless if I do this. I intend to fix the problems in Photoshop.
- Although I will refine the image in Photoshop, I would like to be able to make quick, obvious moves in the acquisition module to make life easier later.
- I am not interested in the very best quality. I will do whatever is possible in the raw module but I will not work in Photoshop afterward. So I would like to be able to get attractive color from the module.
- I want to make the image as perfect as possible in the module. I will intervene later in Photoshop only as necessary.
You need to decide which group(s) you appeal to.
Random And Groundless Thoughts On Color Control In a Raw Convertor
Submitted by lexa on 1 October, 2008 - 22:30
CAM book
After finally finishing reading Fairchild’s Color Appearance Models I started to get deep into thought and some empirical things became clear.
Color Contrast
In the photographical community it is pretty much a common place that if you show the viewer two pictures, one with normal colors and one with an increased saturation, the viewer will in most of the cases pick the one with the higher saturation (if it is, for example a landscape scene) as the more natural one (of course if saturation is increased in the reasonable limits).
I could not quickly find the wording of this effect in books by Margulis, although I was almost certain that it was there in one way or another: in his book Photoshop Lab Color) this rule (increasing the a-b axis contrast) is used starting with the very first example.
Canon: How To Get 400/5.6 In Five Different Ways
Submitted by lexa on 29 September, 2008 - 21:35
Competitors
While preparing for my summer trip to Altai, I attended to choosing the telephoto lenses I was going to carry. I needed a regular telephoto lens for shooting water attractions (Katun is very large river and the target can be very far away) and an extra long reach lens for shooting the full phase of the solar eclipse.
The goal was to select a 400 mm as a “long” lens, and as much as possible for the “extra long” one. After looking around and asking some friends I found the following possibilities for a 400mm with Canon:
- EF 400/5.6
- EF 300/4 + TC1.4
- EF 200/2.8 + TC2
- EF 70-200/4 + TC2
- EF 135/2 + TC2 + TC1.4
Surprisingly, even the last option on the list (the one with two teleconverters stacked) did not seem hopeless: I tried that option for film a while ago, and it was comparable with a 70-200/2.8 with a 2x TC.
RAW decoding/processing library
Photographers using digital cameras know that shooting using the RAW format, where "raw" data from the camera matrix are saved to file, provides the highest flexibility for further processing. At the same time, photographers and pre-press specialists still can't enjoy the full potential of the RAW format, since most popular converters significantly and irreparably impair the quality of the initial material.
Developers willing to get rid of this sad discrepancy run into a vast diversity of formats and either have to waste time and effort on studying them, or confine themselves to a limited set of formats, or use ready solutions for extracting RAW data for furher manipulations and rendering into an image.
Most software products for RAW file processing extract the input data using code that is based on the source of the dcraw utility by Dave Coffin. For all its evident advantages, however, dcraw is a command-line utility rather than a software library. As a result, one should either make his or her library from it (and many developers, including Adobe, have followed this way) or use the dcraw command line (which is far from convenient, too).
In addition, dcraw tampers the data at the extraction stage and does not extract some of important parameters from the RAW file, thus impairing the quality of the result.
On the basis of the above reasoning, the authors have decided to create the LibRaw library, which is presented on this site.
- Right now LibRaw can be built into your software.
- Right now part of dcraw problems have been resolved.
- In the nearest future, further processing will be improved after some modifications in the library.
LibRaw is intended to be used in any software that involves RAW file processing for a variety of purposes: RAW converters, data analyzers, panorama stitchers, noise suppressors, etc.
LibRaw is free and distributed in source code under the terms of GNU GPL v2 (or later). Licensing under other terms is also possible for free; please contact the authors.
If your application needs basic RAW-format support (e.g file viewers, GUI on top of LibRaw/dcraw without own RAW processing code and so on), you may use slightly simplified LibRaw-Lite (distributed under LGPL terms).
About This Site
Besides developers using LibRaw (and possibly our future software), we'll be glad to see the other readers and contributors to this Web site:- authors willing to publish their papers on image processing, color management, specific features of digital photographing, and other similar issues
- photography enthusiasts willing to understand how all these things work
- computer programmers (programmers interested in photography, photographers interested in programming...) willing to announce their products.