ExifTool Forum

ExifTool => Newbies => Topic started by: Johannes M. G. on September 23, 2012, 05:43:39 PM

Title: Change Data related to "unsafe" Tags
Post by: Johannes M. G. on September 23, 2012, 05:43:39 PM
Dear ExifTool-Users in the know,

I would like to create the perfect Near-UNIWB-File for Nikon-DSLRs. Until now, it was required to do some really tiresome iterative white-balancing.
I think there is a much more elegant and more precise way: To do so, I need to assign "RedBalance" a new value. However, this is one of the "unsafe" tags and no matter how I try, I cannot figure out how to change this one. (And yes: I am 99.9% sure I know what I am doing.  ;) )

It should be something like

exiftool -RedBalance='1.003906' -unsafe DSC_9730.jpg

..but I am obviously missing something (all the search results state that changing an "unsafe" tag requires some specific command, but I can't find it..)

Please point me to the right direction.

Johannes
Title: Re: Change Data related to "unsafe" Tags
Post by: Phil Harvey on September 24, 2012, 07:22:54 AM
Hi Johannes,

Writing an "unsafe" tag is as simple as assigning a value.  You don't need -unsafe.

The problem is that RedBalance is often a Composite tag (https://exiftool.org/TagNames/Composite.html) that is not writable.  Use the -G option to see what group it is in.  If it is a Composite tag, you will have to write the tags that it is derived from to change its value.

- Phil
Title: Creating the Optimum Nikon NUWB-File
Post by: Johannes M. G. on September 25, 2012, 02:47:00 PM
Hello Phil,

Thank you for the clarification: with your help, it is actually pretty easy to set the White-Balance EXIF-information of any Nikon-Image (of any format) to the desired values.

I would like to briefly explain why I want to do that:
To get an accurate histogram on the camera (and thus an optimum exposure) it is desirable to set the multiplicators for the RED and BLUE channels to a number very close to, but bigger than 1. Thus, a so-called (Iliah Borg invented the name, I think) Unitary White-Balance can be achieved, and the histogram on the back of the camera will accurately tell the RAW-exposure levels.
Nikon-cameras provide the wonderful option to load an image file (shot on the same camera-model!) and use its White-Balance as Pre-Set. However, it is really hard to produce a photograph with a perfect Unitary White-Balance. Jim Fenton did a lot of work in this direction and suggested a method to achieve a reference-photograph with RED and BLUE multiplicators very close to 1 (therefore NUWB, NEAR-UWB).

I tried his method and saw that it didn't work for me (the method does converge, but really slowly). I had the following idea:
+ Take a photo with any custom White-Balance.
+ Change the EXIF-Information to the optimum NUWB-values (these are 257/256, which equals exactly 1.00390625 - Nikon EXIFS use both values):
    exiftool -overwrite_original_in_place -WB_RBLevels='1.00390625 1.00390625 1 1' -WB_GRBGLevels='256 257 257 256' FILENAME.nef
+ Verify via exiftool -G FILENAME.nef
+ Load the modified file (ONLY the White-Balance information has changed!) to the camera
=> Have the optimum NUWP Pre-Set (Jim Fenton iteratively achieved 255/256 and 257/256 for the RED and BLUE multiplicators, respectively, which is amazing).

Now there is a problem: My D300s does not accept the new White-Balance values, although I cannot find any other information in the EXIF which relates to White-Balance. Instead, it always falls back to the White-Balance originally recorded with the photo, no matter what the tweaked EXIF contains now.

This can only mean one thing: Does a photograph recorded by a Nikon-camera contain White-Balance information in any other place than the EXIF?
If yes: How can it be accessed?

Best Regards,
       Johannes
Title: Re: Change Data related to "unsafe" Tags
Post by: Phil Harvey on September 26, 2012, 07:17:08 AM
Hi Johannes,

The NEF almost certainly contains more whitebalance information that is not yet decoded.  The D300s contains a ColorBalance0209 data block which is 1636 bytes, and currently only WB_GRBGLevels is decoded from this block.

- Phil
Title: Re: Change Data related to "unsafe" Tags
Post by: Johannes M. G. on October 01, 2012, 04:06:35 PM
Hi Phil,

That answers all my questions: Looks like Jim's approach is still the only one that works.

Thanks a lot for the perfect support!

Johannes