http://www.flickr.com/photos/frenchkheldar/tags/roll00001/
Shot with a Nikon N80 on Ilford Delta 100 B&W all over Georgia... I had a lot of fun and I really enjoyed the different experience from shooting digital. Lot more thinking, lot more care on each picture which resulted in a pretty good hit/miss ratio. I'm looking forward to the Spring colors with some sweet Velvia film !
Let me know what you think !
![]()
So here I am, shooting my first roll of film ever and wondering if and what I should be recording while I shoot. Do you have a strict workflow you're following? Do you even write down where and when shots have been taken?
Since it was my first time, and since I'm pretty disorganized, I did my best trying to record the date, place, and main parameters (f, A, S, metering, lens, focal, ...) of each shot. But when you;re on a hike, it's kind of a pain
Anyway, I ended up with a slightly spotty 15x36 spreadsheet and I needed to find a good way to use this data to tag my scanned film. On a side note, using an iPhone to edit that spreadsheet on the fly should be pretty handy !
Anyway, since I'm hoping to shoot more film in the future, I decided to spend some time writing a perl script to translate this spreadsheet into exiftool commands so that the tagging of my pics would be as seamless as possible. It's like my 2nd perl script ever, so I'm welcoming any criticism or improvement to it... It's not very elegant and I've just used for 1 roll of film, but if you find it useful, please feel free to help yourself... Honestly, once I found the CSV parser module, it was really straightforward...
If you don't care about the perl script, I'm still curious about your strategy dealing with film in a digital world !
Thanks for your time !
Shot with a Nikon N80 on Ilford Delta 100 B&W all over Georgia... I had a lot of fun and I really enjoyed the different experience from shooting digital. Lot more thinking, lot more care on each picture which resulted in a pretty good hit/miss ratio. I'm looking forward to the Spring colors with some sweet Velvia film !
Let me know what you think !

So here I am, shooting my first roll of film ever and wondering if and what I should be recording while I shoot. Do you have a strict workflow you're following? Do you even write down where and when shots have been taken?
Since it was my first time, and since I'm pretty disorganized, I did my best trying to record the date, place, and main parameters (f, A, S, metering, lens, focal, ...) of each shot. But when you;re on a hike, it's kind of a pain
Anyway, since I'm hoping to shoot more film in the future, I decided to spend some time writing a perl script to translate this spreadsheet into exiftool commands so that the tagging of my pics would be as seamless as possible. It's like my 2nd perl script ever, so I'm welcoming any criticism or improvement to it... It's not very elegant and I've just used for 1 roll of film, but if you find it useful, please feel free to help yourself... Honestly, once I found the CSV parser module, it was really straightforward...
If you don't care about the perl script, I'm still curious about your strategy dealing with film in a digital world !
Thanks for your time !
Code:
#!/usr/bin/perl
use strict;
use warnings;
use Text::CSV;
my $file = 'Roll_00001';
my $script = 'exif_Roll_00001';
my $name = 'Your Name';
my $csv = Text::CSV->new();
open (CSV, "<", $file) or die $!;
open (OUT, ">", $script) or die $!;
while (<CSV>) {
if ($csv->parse($_)) {
my @columns = $csv->fields();
print OUT "exiftool -Credit=\"$name\" -Make=\"NIKON CORPORATION\" -Model=\"NIKON N80\" -Keywords+=\"Nikon\" -Keywords+=\"N80\" -Keywords+=\"Film\" ";
##################################################################
##################################################################
######### TO BE CHANGED FOR EACH ROLL !!!!!! ################
##################################################################
##################################################################
print OUT "-Keywords+=\"Ilford\" -Keywords+=\"Delta 100\" -Keywords+=\"B&W\" -Keywords+=\"Scanned\" -Keywords+=\"E6Lab\" -Keywords+=\"Roll_00001\" ";
# Exposure number
my $exposure = $columns[0];
# print OUT "$exposure";
# Filename
my $filename = $columns[1];
# Date and time
# Need to replace - by :
$columns[2] =~ s/\-/\:/g;
my $date = $columns[2];
my $time = $columns[3];
print OUT "-ModifyDate=\"$date $time\" -CreateDate=\"$date $time\" -DateTimeOriginal=\"$date $time\" ";
# Focal length
my $focal = $columns[7];
print OUT "-FocalLength=\"$focal\" -FocalLengthIn35mmFormat=\"$focal\" ";
# Exposure time
my $S = $columns[10];
print OUT "-ExposureTime=\"$S\" ";
# Aperture / f-stop
my $A = $columns[9];
print OUT "-FNumber=\"$A\" ";
# ISO
my $ISO = $columns[12];
print OUT "-ISO=\"$ISO\" ";
# Exposure compensation
my $Exp_Comp = $columns[11];
print OUT "-ExposureCompensation=\"$Exp_Comp\" ";
# Lens info
my $Lens = $columns[6];
my $LensID = 0;
my $min_f = "0"; my $max_f = "0";
my $min_f_A = "0"; my $max_f_A = "0";
if ($Lens =~ /35mm f2.0/)
{
$Lens="35.0 mm f/2.0"; $LensID=26;
$min_f = "35"; $max_f = "35";
$min_f_A = "2.0"; $max_f_A = "2.0";
}
elsif ($Lens =~ /50mm f1.8/)
{
$Lens="50.0 mm f/1.8"; $LensID=1;
$min_f = "50"; $max_f = "50";
$min_f_A = "1.8"; $max_f_A = "1.8";
}
elsif ($Lens =~ /105mm f2.8 Micro/)
{
$Lens="105.0 mm f2.8"; $LensID=31;
$min_f = "105"; $max_f = "105";
$min_f_A = "2.8"; $max_f_A = "2.8";
}
print OUT "-LensID=\"$LensID\" -Lens=\"$Lens\" -MinFocalLength=\"$min_f\" -MaxFocalLength=\"$max_f\" -MaxApertureAtMinFocal=\"$min_f_A\" -MaxApertureAtMaxFocal=\"$max_f_A\" ";
print OUT " $filename";
print OUT "\n";
# I think I need a separate exiftool command for the tags that need hexadecimal values
print OUT "exiftool -n ";
# Metering mode
if ($columns[14] =~ /Center/) { $columns[14] = 2; }
elsif ($columns[14] =~ /Matrix/) { $columns[14] = 1; }
print OUT "-MeteringMode=\"$columns[14]\" ";
# Exposure mode
if ($columns[8] =~ /A/) { $columns[8] = 3; }
elsif ($columns[8] =~ /M/) { $columns[8] = 1; }
elsif ($columns[8] =~ /S/) { $columns[8] = 4; }
elsif ($columns[8] =~ /P/) { $columns[8] = 2; }
else { $columns[8] = 0; }
print OUT "-ExposureProgram=\"$columns[8]\" ";
# Flash
if ($columns[15] =~ /Y/) { $columns[15] = "0x9"; }
else { $columns[15] = "0x0"; }
print OUT "-Flash=\"$columns[15]\" ";
print OUT " $filename";
print OUT "\n";
print OUT "\#\#\#\#\#\#\#\#\n";
} else {
my $err = $csv->error_input;
print "Failed to parse line: $err";
}
}
close CSV;