Hi there!

Resending after my first attempt yesterday went I do not know where:
please add an indication that the mailing list is subscriber-only,
emails from non-subscribed people end without any reply (no discard and
no moderation).

I am evaluating alternatives to Adobe Photoshop Lightroom for a friend
of mine who has a Canon EOS 7D and FUJIFILM X-E1 and, given my
involvement with Debian, I have already started playing with such
cameras and UFRaw:

  <http://bugs.debian.org/729026>

However, the FUJIFILM 'X-Trans' support in UFRaw is still not enough:

  <https://sourceforge.net/p/ufraw/discussion/434060/thread/99c10c54/>

While I am not a photographer, IMHO the major problem is that imported
images are too much dark by default: setting the UFRaw exposure
compensation at 2.25 starts to match the camera-produced JPG.  ATM, I do
not know if this is due do missing ICC profiles or not, I could not find
any on the FUJIFILM website, but custom-made ones are available at:

  <http://www.dpreview.com/forums/thread/3554294>

OTOH, before dealing with such a problem, the attached patch adds the
missing White Balance Presets for firmware 1.01, while adapting
wb_extract.pl for such images.

The unofficial Debian packages (X-Trans plus the patch included) and the
RAW images are available upon request.  The whole set is ~1.5GB, always
depicting the same subject, i.e. the "Pocket Guide" (Code: 3452) from
The Color Wheel Company, which will be used for color matching between
the two cameras:

  
<http://www.colorwheelco.com/mm5/merchant.mvc?Screen=PROD&Store_Code=TCWC&Product_Code=3452&Category_Code=TOOLS>

Please note that FUJIFILM provides sample images as well, but I have not
used them at all:

  
<http://www.fujifilm.com/products/digital_cameras/x/fujifilm_x_e1/sample_images/>

Support for the XF18-55mmF2.8-4 R LM OIS lens is underway :-)

Thx, bye,
Gismo / Luca

Index: wb_extract.pl
===================================================================
RCS file: /cvsroot/ufraw/ufraw/wb_extract.pl,v
retrieving revision 1.6
diff -u -r1.6 wb_extract.pl
--- wb_extract.pl	15 Oct 2013 14:30:10 -0000	1.6
+++ wb_extract.pl	4 Jan 2014 10:06:24 -0000
@@ -30,23 +30,37 @@
 my($const_WB);
 $const_WB = 0;
 
+my($print_fw);
+$print_fw = 0;
+
 for my $file (@ARGV) {
   if ($file eq "-const") {
     $const_WB = 1;
     next
+  } elsif ($file eq "-printfw") {
+    $print_fw = 1;
+    next
   }
 
   my ($make, $model, $fw_version, $wbname, $wbfinetune, $wbfinetune_1, $mulred, $mulgreen, $mulblue);
   $mulgreen = 1;  # default value for green balance
   $wbfinetune = $wbfinetune_1 = 0, $mulred = -1, $mulblue = -1;  # avoid warnings about uninitialized vars
 
-  open(EXIFTOOL, "exiftool -s -t -Model -CanonModelID -SonyModelID -FirmwareVersion -Software -ColorBalance1 -RedBalance -BlueBalance -WhiteBalance -WBShiftAB -WBBracketValueAB -\"WB_RGGB*\" $file|") 
+  open(EXIFTOOL, "exiftool -s -t -Model -CanonModelID -SonyModelID -FirmwareVersion -Software -ColorBalance1 -RedBalance -BlueBalance -WhiteBalance -WBShiftAB -WBBracketValueAB -\"WB_RGGB*\" -ColorTemperature $file|") 
   or die "can't open $file: $!";
   while (my $line = <EXIFTOOL>) {
     $line =~ /([^\t]+)\t(.*)/ or next;
     my ($field, $value) = ($1, $2);
+    # debug: show field
+    # print $field . "\n";
     if ($field eq "Model") {
       ($make, $model) = split(/ +/, $value);
+      # exiftool's -Make and -Model are correct, but this should not
+      # cause any regression
+      if ($make eq "X-E1") {
+        $model = $make;
+        $make = "FUJIFILM";
+      }
     } elsif ($field eq "CanonModelID") {
       $model = $value;
     } elsif ($field eq "SonyModelID") {
@@ -58,12 +72,16 @@
     } elsif ($field eq "ColorBalance1") {   # Field for D200
       my $mul_unknown;
       ($mulred, $mulblue, $mulgreen, $mul_unknown) = split(/ +/, $value);
-    } elsif ($field eq "RedBalance") {   # Field for D70 (red)
+    } elsif ($field eq "RedBalance") {   # Field for D70 and X-E1 (red)
       $mulred = $value;
-    } elsif ($field eq "BlueBalance") {   # Field for D70 (blue)
+    } elsif ($field eq "BlueBalance") {   # Field for D70 and X-E1 (blue)
       $mulblue = $value;
     } elsif ($field eq "WhiteBalance") {
-      $wbname = $value;
+      if ($model eq "X-E1" && $value eq "Unknown (0x600)") {
+        $wbname = "Underwater";
+      } else {
+        $wbname = $value;
+      }
     } elsif ($field eq "WhiteBalanceFineTune") {
       $wbfinetune = $value;
     } elsif ($field eq "WBShiftAB") {
@@ -74,6 +92,8 @@
       my ($mul_tmp1, $mul_tmp2, $mul_tmp3, $mul_tmp4) = split(/ +/, $value);
       $mulred = ($mul_tmp1 / $mul_tmp2);
       $mulblue = ($mul_tmp4 / $mul_tmp3);
+    } elsif ($field eq "ColorTemperature" && $wbname eq "Kelvin" ) { # Field for X-E1
+      $wbname = sprintf "%dK", $value;
     } elsif ($field =~ /WB_RGGBLevels/) { # Get embedded whitebalance values
       $field =~ s/^WB_RGGBLevels//; # Truncate for whitebalance-name
       my ($mul_tmp1, $mul_tmp2, $mul_tmp3, $mul_tmp4) = split(/ +/, $value);
@@ -96,12 +116,25 @@
   # Fix names for consistency across Nikon cameras (D70 and D2X use "Direct sunlight")
   $wbname =~ s/^Sunny$/Direct sunlight/;
 
-  # printf "  /* $make $model Firmware Version $fw_version */\n";
+  # Fix names for wb_presets.c
+  if ($make eq "FUJIFILM") {
+    if ($model eq "X-E1") {
+      # the manual calls it "shade", but exiftool shows it as "Cloudy"
+      $wbname =~ s/^Cloudy$/Shade/;
+    }
+    $wbname =~ s/^Daylight Fluorescent$/DaylightFluorescent/;
+    $wbname =~ s/^Day White Fluorescent$/WarmWhiteFluorescent/;
+    $wbname =~ s/^White Fluorescent$/CoolWhiteFluorescent/;
+  }
+
+  if ($print_fw eq 1) {
+    printf "  /* $make $model Firmware Version $fw_version */\n";
+  }
  
   # Format and print the line
   my $result;
   $result = sprintf "  { \"%s\", \"%s\", ", $make, $model;
-  if ($const_WB eq 1) {
+  if ($const_WB eq 1 && $wbname !~ "K") {
     $result .= sprintf "%s, ", $wbname;
   } else {
     $result .= sprintf "\"%s\", ", $wbname;
Index: wb_presets.c
===================================================================
RCS file: /cvsroot/ufraw/ufraw/wb_presets.c,v
retrieving revision 1.267
diff -u -r1.267 wb_presets.c
--- wb_presets.c	17 Oct 2013 02:30:09 -0000	1.267
+++ wb_presets.c	4 Jan 2014 10:06:35 -0000
@@ -2053,6 +2053,48 @@
   { "FUJIFILM", "X100", "9100K", 0,		{ 1.8940, 1, 1.0464, 0 } },
   { "FUJIFILM", "X100", "10000K", 0,		{ 1.9503, 1, 1.0298, 0 } },
 
+  /* FUJIFILM X-E1 Firmware Version 1.01 */
+  // the manual calls it "direct sunlight"
+  { "FUJIFILM", "X-E1", Daylight, 0,		{ 1.821192, 1, 1.804636, 0 } },
+  // the manual calls it "shade", but exiftool shows it as "Cloudy"
+  { "FUJIFILM", "X-E1", Shade, 0,		{ 2.039735, 1, 1.572848, 0 } },
+  { "FUJIFILM", "X-E1", DaylightFluorescent, 0,	{ 2.321192, 1, 1.566225, 0 } },
+  { "FUJIFILM", "X-E1", WarmWhiteFluorescent, 0, { 1.966887, 1, 1.837748, 0 } },
+  { "FUJIFILM", "X-E1", CoolWhiteFluorescent, 0, { 1.847682, 1, 2.317881, 0 } },
+  { "FUJIFILM", "X-E1", Incandescent, 0,	{ 1.165563, 1, 2.92053, 0 } },
+  { "FUJIFILM", "X-E1", Underwater, 0,		{ 1.821192, 1, 1.804636, 0 } },
+  { "FUJIFILM", "X-E1", "2500K", 0,		{ 0.980132, 1, 3.427152, 0 } },
+  { "FUJIFILM", "X-E1", "2550K", 0,		{ 1.009934, 1, 3.334437, 0 } },
+  { "FUJIFILM", "X-E1", "2650K", 0,		{ 1.059603, 1, 3.165563, 0 } },
+  { "FUJIFILM", "X-E1", "2700K", 0,		{ 1.082781, 1, 3.086093, 0 } },
+  { "FUJIFILM", "X-E1", "2800K", 0,		{ 1.125828, 1, 2.950331, 0 } },
+  { "FUJIFILM", "X-E1", "2850K", 0,		{ 1.145695, 1, 2.887417, 0 } },
+  { "FUJIFILM", "X-E1", "2950K", 0,		{ 1.182119, 1, 2.771523, 0 } },
+  { "FUJIFILM", "X-E1", "3000K", 0,		{ 1.201987, 1, 2.718543, 0 } },
+  { "FUJIFILM", "X-E1", "3100K", 0,		{ 1.235099, 1, 2.622517, 0 } },
+  { "FUJIFILM", "X-E1", "3200K", 0,		{ 1.271523, 1, 2.536424, 0 } },
+  { "FUJIFILM", "X-E1", "3300K", 0,		{ 1.304636, 1, 2.456954, 0 } },
+  { "FUJIFILM", "X-E1", "3400K", 0,		{ 1.334437, 1, 2.387417, 0 } },
+  { "FUJIFILM", "X-E1", "3600K", 0,		{ 1.397351, 1, 2.261589, 0 } },
+  { "FUJIFILM", "X-E1", "3700K", 0,		{ 1.430464, 1, 2.205298, 0 } },
+  { "FUJIFILM", "X-E1", "3800K", 0,		{ 1.460265, 1, 2.152318, 0 } },
+  { "FUJIFILM", "X-E1", "4000K", 0,		{ 1.523179, 1, 2.062914, 0 } },
+  { "FUJIFILM", "X-E1", "4200K", 0,		{ 1.582781, 1, 1.980132, 0 } },
+  { "FUJIFILM", "X-E1", "4300K", 0,		{ 1.612583, 1, 1.943709, 0 } },
+  { "FUJIFILM", "X-E1", "4500K", 0,		{ 1.672185, 1, 1.874172, 0 } },
+  { "FUJIFILM", "X-E1", "4800K", 0,		{ 1.758278, 1, 1.784768, 0 } },
+  { "FUJIFILM", "X-E1", "5000K", 0,		{ 1.81457, 1, 1.731788, 0 } },
+  { "FUJIFILM", "X-E1", "5300K", 0,		{ 1.897351, 1, 1.65894, 0 } },
+  { "FUJIFILM", "X-E1", "5600K", 0,		{ 1.97351, 1, 1.596026, 0 } },
+  { "FUJIFILM", "X-E1", "5900K", 0,		{ 2.049669, 1, 1.536424, 0 } },
+  { "FUJIFILM", "X-E1", "6300K", 0,		{ 2.149007, 1, 1.466887, 0 } },
+  { "FUJIFILM", "X-E1", "6700K", 0,		{ 2.238411, 1, 1.403974, 0 } },
+  { "FUJIFILM", "X-E1", "7100K", 0,		{ 2.324503, 1, 1.350993, 0 } },
+  { "FUJIFILM", "X-E1", "7700K", 0,		{ 2.44702, 1, 1.274834, 0 } },
+  { "FUJIFILM", "X-E1", "8300K", 0,		{ 2.556291, 1, 1.211921, 0 } },
+  { "FUJIFILM", "X-E1", "9100K", 0,		{ 2.688742, 1, 1.135762, 0 } },
+  { "FUJIFILM", "X-E1", "10000K", 0,		{ 2.821192, 1, 1.062914, 0 } },
+
   { "KODAK", "P850 ZOOM", Daylight, 0,		{ 1.859375, 1, 1.566406, 0 } },
   { "KODAK", "P850 ZOOM", Cloudy, 0,		{ 1.960938, 1, 1.570313, 0 } },
   { "KODAK", "P850 ZOOM", Shade, 0,		{ 2.027344, 1, 1.519531, 0 } },

Attachment: signature.asc
Description: PGP signature

------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
ufraw-devel mailing list
ufraw-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ufraw-devel

Reply via email to