Thursday, March 1, 2007

Vista and Nikon Camera RAW Files

It all started with…

Metadata mangling in Windows Vista

It sounded like this was actually a problem with Nikon's RAW codec for Vista which is an optional download and install from Nikon. (Vista's Photo Gallery will automatically take you to the Nikon website to find it if it finds .NEF files).

From the MS Photo Info tool FAQ:

"Important note to users of the Nikon RAW Codec for Windows: Microsoft has received reports of compatibility issues with Nikon NEF files after installing version 1.0 of Nikon's RAW codec posted in January 2007. Tagging the RAW files through Windows Vista or the Microsoft Photo Info tool after the codec is installed appears to cause these files to become unreadable in other applications, such as Adobe Photoshop. We have confirmed that these files can still be opened with Nikon Capture.

"Nikon and Microsoft are investigating the issue, and we will post an update when we have more information. In the meantime, Microsoft suggests that you exercise caution with your Nikon RAW files. If you plan on tagging them using Nikon's codec, make a backup of the file first, and verify that the tagged file continues to work with your other applications before proceeding.

"Tagging the file using Photo Info without the Nikon NEF codec installed appears to be safe."

If you don't install the Nikon RAW codec Vista's photo gallery and explorer does not recognize the NEF files as photo files it can view or edit. (Of course, your image processing software like Photoshop and Bridge etc. will still recognize .NEF files.) You can tell Vista not to remind you about the Nikon codec.

So I actually tried Nikon's RAW codec 1.0 for Vista.

Indeed if you use Windows Photo Gallery to modify the image metadata or tags those NEF files become damaged and unreadable in obscure programs like Photoshop.

When you first access a folder with NEF files or other RAW formats in Windows Photo Gallery a dialog informs you that you can download software to access these files. If you click ok it takes you either directly to the vendor's download site for the codec or to a proxy. (For example, the DNG codec is not ready so eventually you get to a dead end that says "not ready".)

I downloaded and installed the codec from Nikon. (Actually due to a flaw in Nikon's download unpackager I was almost unable to install the codec because it unpackaged the files to some apparently random place on your drive and then doesn't start the installer nor give you the location of the files. So the actual installer gets lost on your drive.)

The install also requires you to reboot your computer which is very unusual under Vista.

After backing up a folder full of NEF files from my D70 I tagged a dozen or so files in Windows Photo Gallery (which is actually a nice simple photo browser).

The NEF files I tagged where then garbage in Photoshop CS3 (actually Adobe Camera RAW) and in Bridge CS2. Interestingly, Bridge CS3 was able to view the tagged NEF files. But Adobe Camera RAW invoked from Bridge CS3 could not. The files that I did not modify with tags were undamaged and could be read by Adobe Camera RAW.

Fortunately you can easily uninstall the Nikon Camera RAW 1.0 codec and no more damage is done. (Of course the tagged files are still mangled.)

I don't know if this is a continuation of the fight between Adobe and Nikon with respect to proprietary nature of Camera RAW data. It is clearly a dumb thing to allow any software to modify RAW files. Nikon should remove this codec from distribution until Nikon and Microsoft can fix the problems.

I don't see any way it can be considered a Photoshop bug even if Photoshop is doing something incorrectly in their parsing of NEF data. Photoshop is an existing compatibility constraint in this situation. A new program, especially one that places itself in a central roll in your image processing workflow, may not come along and break compatibility with Photoshop (by modifying and damaging your data) unless they have one hell of a good excuse. I have not read of any such excuse.

And apparently it's not just a problem in Photoshop. I've read that other applications (Bibble Pro 4.9.5, Photoshop CS2 Camera RAW 3.6, RawShooter and DXO) have the same results with the Nikon codec.

It's a dumb idea because if you allow just anyone to come along and modify your RAW files you get situations exactly like this. You would think you could trust Nikon, the maker of the camera, not to mangle your data. But that is clearly not the case. So trust no one!

Many photographers wisely consider Camera RAW files to be somewhat analogous to negatives. Likewise Adobe considers Camera RAW files to be read only. When you modify tags, copyrights and other metadata in Adobe's Camera RAW filter, in Adobe Bridge or in Lightroom, Adobe stores the modified and new metadata in a XML file (called an XMP sidecar file) or in a central database. The XMP sidecar file is an inelegant solution because it means you have two files that have to be moved around together. But it allows for interoperability between different applications. And it is far less inelegant than having your image files inadvertently munged and your workflow rendered inoperable.

The really pernicious thing about this bungled piece of software is that it could destroy your image catalog if you were doing something seemingly innocuous like importing RAW files from a memory card using the OS's batch import wizard or using the Windows Explorer or Windows Photo Info Tool to update your copyright notice in a folder full of files.

The only other application I know of that modifies Camera RAW files directly is Photo Mechanic. But photographers who use it that way tend to know exactly what it is doing and why. As I recall it warns you, and you have to explicitly tell it to modify the RAW file through a preference.

Apparently the data is not damaged per se. It just is no longer readable by Photoshop et al until they update their Camera RAW filters. (That might explain why Bridge CS3 can read the files but PS CS3 and PS CS2 cannot.)

I'm thinking it would be a good idea to add a step to my workflow to set the read-only bit for all RAW files and other original files.

Using Adobe's DNG seems like a good idea. But I'm not too keen to add another step to my workflow.

No comments: