Projekt / Project Film – How to exif film

Nahezu alle digitalen Kameras unterstützen die sogenannten exif-Daten und speichern wichtige und weniger wichtige, aber durchaus interessante Informationen zum Bild im Bild – auch Metadaten genannt. Das ist etwas, das analoge Kameras nicht können, was aber die wichtigesten Basisdaten umso interessanter macht. Hier beschreibe ich, wie ich diese Informationen in die Bilder bekomme.

Almost all digital cameras have a support for storing the so called exif-data and write important and less important but really interesting information about the image into the image file – what is called metadata. This is something analog cameras can’t do which make the important basic information even more interesting. Here is how I get this information into the images.

Sinn oder Unsinn ?

Unter den Fotografen von euch arbeiten die meisten sicherlich ausschließlich mit Kameras, die über einen digitalen Bildsensor verfügen. Die erzeugten Dateien enthalten alle interessanten Informationen zum Bild, wie z.B. Belichtungszeit, Brennweite, Blende und ISO. Zusätzlich werden je nach Kameramodell und Hersteller noch viele weitere Informationen gespeichert, wie z.B. Kameramodell und verwendetes Objektiv bis hin zum gewählten Fokuspunkt und vielen anderen wichtigen und unwichtigen Informationen. Diese Informationen landen ohne weiteres Zutun beim Import nach Lightroom in der Datenbank, werden bei jedem Bild angezeigt und können auch als Filterkriterien dienen.

Ganz anders bei der Analogfotografie mit Film. Hier sind die gewählten Einstellungen wie Blende und Belichtungszeit und welches Objektiv man mit welcher Brennweite benutzt hat spätestens nach Entnahme des Films vergessen und damit verloren, wenn man sich die Informationen nicht irgendwo notiert hat. Sicherlich stellt sich nun der eine oder andere die Frage, wieso diese Informationen denn überhaupt von Interesse sind, wenn man ohnehin als Ergebnis „nur“ entwickelte Negativstreifen hat. Tatsächlich arbeiten fast alle Entwicklungslabors für Negativ- oder Diafilm mittlerweile derart, dass die Abzüge nicht mehr vom Negativ direkt sondern von einem eingescannten JPG oder TIFF des jeweiligen Negativs gemacht werden. Ich arbeite hier mit dem Labor MeinFilmLab zusammen, denn dort werden die Filme noch individuell behandelt, mit dem bestmöglichen Entwickler bearbeitet und in Wunschgröße gescannt. Die gescannten Bilder als JPG importiere ich ebenfalls nach Lightroom und – nun schließt sich der Kreis – dort möchte ich schon gerne folgende exif-Daten nutzen:

  • Kamera
  • Filmtyp und ISO
  • Objektiv
  • Brennweite
  • Blende
  • Belichtungszeit

Datenerfassung

Die wohl einfachste Methode der Datenerfassung ist ebenso „analog“ wie die zugehörige Fotografie: per Notizblock und Bleistift. Diese Methode macht aber den Übertrag in die Datei unnötig kompliziert und umständlich, denn wenn man zwei Kleinbild- und eine Mittelformat-Kamera mit 3 Wechselmagazinen hat, führt man gleichzeitig bis zu 5 Filmlisten, was zu einigem Hin- und Herblättern führt und das Blättern verschlimmert sich, wenn ein 36er Kleinbildfilm mal länger in der Kamera ist, die 120er Rollfilme aber bereits belichtet und entwickelt sind. Eleganter lässt sich das mit dem Smartphone lösen, denn dieses hat man schließlich immer dabei und es verfügt über einige weitere, nützliche Apps wie Wasserwage, Schärfentieferechner und Stoppuhr für evtl. Langzeitbelichtungen.

Welche App – iPhone oder Android?

Wenn man per Google mit verschiedenen Suchbegriffen nach passenden iPhone-Apps sucht, die exif-Daten für die analoge Fotografie erfassen können, erscheint immer wieder PhotoExif in den Suchergebnissen. Diese App ist mit 2,99 € kostenpflichtig und soll laut Beschreibung ein Programm für den Desktop liefern, mit dem die notierten exif-Daten einfach in die gescannten Negative übertragen werden können. So viel zur Theorie, die Praxis sieht leider anders aus: Für 2,99 € bekommt man zwar eine gut strukturierte App mit einem richtig guten Interface und die Möglichkeit die ermittelten exif-Daten je Film zu exportieren und zu versenden, aber leider bietet der Entwickler der App keinerlei Support mehr und auch das Desktop-Programm ist nicht mehr zum Download verfügbar. Das war für mich der Grund im Android-Lager zu recherchieren und bin dort auch fündig geworden:

Exif4Film aus dem Hause codeunited.dk ist eine kostenlose App, die im Prinzip die gleiche Funktionalität liefert wie PhotoExif und ebenfalls eine Desktop-Anwendung für die Übertragung der Daten in die Bilder liefert, die allerdings nur für Windows, was sich aber über eine virtuelle Windows-Umgebung lösen lässt. Darüber hinaus wird auch ein Lightroom-Plugin angeboten, was meine Begeisterung derart angefacht hat, dass ich mir für diese App eigens ein Android-Smartphone besorgt habe (43 € neu aus Russland). Nach der Begeisterung kam aber recht schnell die Ernüchterung, denn die Bedienung von Exif4Film ist nicht wirklich flüssig und erfordert zu viele Bildschirmberührungen für die Erfassung der Daten zu einem Bild.

PhotoExif

Die Benutzeroberfläche von PhotoExif ist sehr gut, fast schon genial. Tatsächlich kann man die App größtenteils mit einer Hand bedienen – das hilft, wenn man die Kamera in der einen Hand hält und sich zum gerade gemachten Bild die exif-Daten notieren möchte. Die Auswahl von Belichtungszeit, Blende, Objektiv und Brennweite wird über Elemente vorgenommen, die aussehen wie Räder auf einer Kamera und per Gesten wie Wischen, Schieben und Drehen bedient werden – sehr intuitiv. Das Anlegen von Kameras, Objektiven und Filmen ist einfach und Kameras können mit einer Auswahl von Objektiven über Kompatibilität verbunden werden. Die App erlaubt mehrere Filme gleichzeitig, allerdings zeigt sich hier auch die so ziemlich einzige Schwäche der App, denn es muss pro Film eine dedizierte Kamera angelegt sein, auch wenn es sich um die gleiche Kamera handelt, wie z.B. beim Einsatz von Wechselmagazinen an der Mamiya 645. Hier ein paar Screenshots zu PhotoExif:

Useful or nonsense?

Most photographers amongst my readership surely work with cameras that have a digital image sensor. The files coming out of these cameras all contain interesting information on the created image like exposure time, focal length, aperture and ISO. Depending on camera model and manufacture a lot other information is stored in these files like camera model, attached lens for that shot up to selected focus point and a lot other important or unimportand information. This information is transfered into the Lightroom database without any further work, is shown with each individual image and can be used as filter criteria to quickly search and find images.

This is a completely different story in analoge photography with film. When taking pictures on film the selected settings for aperture, exposure time and which lens was used at which focal length is forgotten and gone at least when removing the film roll from the camera, if this information has not been written down somewhere. Maybe some of you might question himself why this kind of information is of interest at all when the results are „only“ developed negatives. Actually almost all film processing labs for negatives and slides work in a way that prints are not created from the negative anymore but by using the scanned JPG or TIFF file. I rely on the lab MeinFilmLab which individually handels and develops the film rolls with the best available developer and creates scans in the chosen file size. The scanned images as JPG-files are imported to Lightroom and – now everything comes full circle – this is where I really want to use the following exif-data:

  • camera
  • type of film roll and ISO
  • lens
  • focal length
  • aperture
  • exposure

Collection of data

Definitely the most simple way to store the above mentioned data is as analog as the refering photography: using a notepad and a pencil. Using this method makes transferring the data into the files unnecessary complicated and cumbersome because when you have two 35-mm and a middle format camera with 3 interchangeable film magazines, resulting in 5 films each with a list, this leads to a lot of flipping pages back and forth in the notepad. This even gets worse when a 35-mm film with 36 frames stays longer in the camera than a couple of 120 roll film which are already exposed and developed. This job can be done in a lot more elegant way by using a smartphone which everybody owns nowadays and which provides a lot more usefuls apps like a level, a depth-of-field calculator and a stopp watch for longtime exposures.

Which App – iPhone or Android?

Searching for adequate iPhone-Apps that can log exif-data for film photography on Google using various buzz-words, you may always have PhotoExif in the top of your result lists. This app can be installed for 2,99 € and claims in its description, that there is a programm for the desktop computer that helps to transfer the registered exif-data over to the jpg-files resulting from the scanned negatives. This is the theory so far, reality looks a bit different: For 2,99 € you really get a good, structured app with a real nice user interface and the possibility to export and share registered exif-data per film, but unfortunately the developer of this app is no longer providing any support and the full-client programm is no longer available for download either. So, this was reason enough for me to start searching over in the Android world and actually found the following:

Exif4Film is a free app developed by codeunited.dk and basically delivers the same functionality llike PhotoExif. There is an application for the desktop computer to transfer the exif-data into the jpg images, but this is only for Windows, a small challenge since I use Windows in a Parallels virtual machine. Additionally there is also a Lightroom-plugin which pushed my enthusiasm for this app to the extend that I bought a small Android smartphone just for this app (43 € from Russia). But disenchantment followed enthusiasm very quickly, because using Exif4Film is not really nice and requires too many moves and selections to store the exif-data for one single image.

PhotoExif

The user interface of PhotoExif is really good, almost genius. Effectively, this app can be used one-handed which is really helpful when holding the camera in one hand and wanting to store the exif-data for the image just shot. The selection of exposure time, aperture, lens and focal length is performed through graphical elements which look like control wheels on a real camera and are operated with gestures like wipe, push and turn – very intuitive. Adding new cameras, lenses and films is simple and cameras and lenses can be linked to each other through a selection of compatibility. The app allows multiple film rolls at the same time. This is by the way the only part of the app where there is a little weakness, because if you are using a camera with changeable magazins like the Mamiya 645 and you are using more than one roll of film at the same time there has to be a camera Mamiya 645 for each roll resulting in a gear of three Mamiyas. The following gallery shows some screenshots about PhotoExif:

Exif4Film

Über Exif4Film habe ich so viel Gutes gelesen, dass ich mir für diese App eigens ein Android-Smartphone gekauft habe – wenn auch ein Günstiges, aber immerhin. Besonders vielversprechend war die Aussicht auf das Lightroom-Plugin, denn das versprach eine einfache Überführung der notierten Exif-Daten in die gesannten Negativ-Dateien. Toll fand ich nach der Installation auch, dass die App über eine umfangreiche Vorkonfiguration an Kameras, Objektiven und Filmen verfügt – leider jedoch nicht wirklich die Geräte, die ich in Benutzung habe. So habe ich die Option zur Konfiguration der eigenen Ausrüstung benutzt. Leider entpuppte sich Exif4film aber als App mit einigen, gravierenden Schwächen:

  • Objektive können nur mit vordefinierten Blendenzahlen konfigurierte werden. So muss ich mich bei der Verwendung des Mamiya 80mm F1.9 bei Offenblende entscheiden, ob ich F1.8 oder F2.0 verwende.
  • Die Darstellung der Objektivbezeichnung ist nicht logisch, so dass man erst herausfinden muss, welche Bezeichnungselemente man wo einträgt um eine Objektivbezeichnung zu erhalten die z.B. den Herstellernamen nur einmal zeigt.
  • Eine Verkettung und Verknüpfung eines aktiven Films mit einer Kamera funktioniert, die Verknüpfung einer Kamera mit kompatiblen Objektiven ist zwar möglich, funktioniert aber bei der Anlage eines Exif-Eintrags nicht.
  • Die Vielzahl der Optionen bei der Erfassung von Exif-Daten wie „Flash on“, „Exposure compensation“, „Light source“ und „Metering mode“ sind zwar toll, überfrachten aber die Eingabemaske. Die langen Listen, besonders bei der Auswahl der Belichtungszeit, erfordern unnötig viel Zeit und sind aus meiner Sicht einer der Hauptkritikpunkte an dieser App.

Hier ein paar Screenshots zu Exif4Film, die auch Bilder von den erwähnten Kritikpunkten zeigen:

Exif4Film

I read so much praise about Exif4Film that I bought an Android smartphone explicitely to be able to use this app – although it was a cheap smartphone but anyway. Exceptionally promising was the perspective of having a Lightroom-plugin since this was promising a real simple transfer of the registered exif-data into the jpg-files. After installing the app I was surprised about the extensive pre-configuration of cameras, lenses and film types – unfortunately none of the pre-configured items matched my gear I tent to use with this app. Adding your own gear can be done through the option „Gear“ in the menu, which showed one part of the weaknesses of the Exif4Film app:

  • Lenses can only be configured with pre-definied apertures. This forced me to decided whether I use F1.8 oder F2.0 as the wide open aperture for the Mamiya 80mm with an open aperture of F1.9.
  • Displaying the full lens name is not really logical and so you have to first figure out which elements of the full name of the lens needs to be entered into to which field of the add lens-form to avoid having the manufacturer-name shown twice.
  • Binding a camera to an active film roll works properly and binding a camera to compatible lenses as well but exactly this option does not work when adding exif-data for a shot and you have to scroll through the list of all incompatible lenses.
  • Many of the options that can be stored as exif-data like „Flash on“, „Exposure compensation“, „Light source“ and „Metering mode“ are nice, but they really overload the input mask. The lists of value, especially when selecting the exposure time, are too long and take an unnecessary amount of time to scroll which is one of the main downsides of this app from my point of view.

The following gallery shows a couple of screenshots from Exif4Film, including those that show the mentioned downsides:

Zwischenfazit: Ich habe eine iPhone-App ohne Support, ohne Desktop-App und ohne Ausblick auf Weiterverwendung bei einem der zukünftigen iOS-Updates, die aber über eine geniale Bedienung und eine sehr ansprechende GUI verfügt. Und ich habe eine Android-App mit Support (vielleicht), Deskop-Anwendung (wenn auch für Windows) und einem Lightroom-Plugin für die ich auch extra ein Android-Smartphone gekauft habe, die aber über eine schlechte Benutzerführung und eine umständliche GUI verfügt.

Workflow

Der Workflow zu diesem Thema beginnt bei mir bei der Nutzung der App, geht über die Erfassung der Exif-Daten und Übertragung der Datei bis zur Überführung der erfassten Werte in die jeweiligen jpg-Dateien. Im Bereich der Datenübertragung gibt es zwischen den beiden Apps keine große Unterschiede, denn nach dem Export der Daten in eine Datei lade ich diese in meine Dropbox hoch. Beide Apps verfügen über einen entsprechenden Export-Eintrag und können sich direkt zur Dropbox verbinden. Der einzige, kleine Unterschied besteht darin, dass ich PhotoExif auf meinem iPhone nutzen kann und für Exif4Film ein Android-Telefon dabei habe, an welches ich denken muss und für das ich keine SIM-Karte habe. Ein Upload der Datei in die Dropbox von unterwegs fällt damit aus.

Die Unterschiede liegen vielmehr in der Datenerfassung und der Art der Datenspeicherung. Bei der Datenerfassung ist PhotoExif deutlicher Sieger. Dei Einhand-Bedienung per Drehräder im Look von Kamera-Bedienelementen ist intuitiv und die Erfassung von Exif-Daten inkl. der Auswahl eines anderen Films in einer anderen Kamera ist hier Sache von Sekunden. Exif4Film ist hierbei zu umständlich aufgebaut.

Bei der Speicherung der Exif-Daten und deren Überführung in die Bilddateien ist mir dann auch noch etwas bei Exif4Film aufgefallen, was nicht generell schlecht ist, aber sich für meinen Workflow als hinderlich herausstellt. Während PhotoExif eine saubere csv-Datei generiert, die ich über ein simples Shell-Skript auf der MacOS-Kommandozeile verarbeite und die Werte per ExifTool von Phil Harvey in die Bilddateien überführe, erzeugt Exif4Film eine xml-Datei, die sich per Shell-Skript nicht so leicht verarbeiten lässt und deutlich mehr Aufwand für eine Eigenentwicklung erfordert. Womit wir dann auch schon beim letzten Unterschied im Workflow wären. Während die Überführung der Exif-Daten bei PhotoExif per Shell-Skript in meiner Hand und unter meiner Kontrolle ist (das Shell-Skript kann ich schließlich anpassen), bin ich bei Exif4Film auf die Richtigkeit des Programmcodes angewiesen. Wenn ich die Zuordnung eines Wertes auf ein anderes Exif-Tag vornehmen oder selbst definierte Werte oder Kommentare  einfügen möchte, kann ich das mit Exif4Film nicht machen, denn hier ist die Feldzuordnung vorgegeben und somit für mich ein weiterer Nachteil. Das von mir erstellte Shell-Skript für PhotoExif bietet außerdem die Möglichkeit im Notfall wieder auf das „analoge“ Erfassen von Exif-Daten per Notizblock und Bleistift zurückzukommen, diese in eine Tabellenkalkulation zu übertragen und die Tabelle als csv-Datei im PhotoExif-Format zu speichern, die dann wiederum per Skript verarbeitet werden kann – sollten auch andere, zukünftige Tools irgendwann keinen Support mehr haben.

Das Shell-Skript

Shell-Skripte kann man mit so viel Komfort und Fehlerbehandlungen ausstatten wie der Programmierer mag und braucht. Ein paar Sicherheitsabfragen und Plausibilitätsprüfungen habe ich auch eingebaut. Entscheidend sind jedoch folgende Zeilen, die für jeden Eintrag der von PhotoExif erzeugten Datei die Exif-Daten in die entsprechende jpg-Datei schreibt, also den ersten Eintrag in die erste Datei, den zweiten Eintrag in die zweite Datei usw. Hier der Code für diese Zeilen:

Interim conclusion: I now have an iPhone-app without support and desktop application and without the real perspective to use this app after future iOS-updates but with a really ingenious way of operating and a very comfortable GUI. And I have an Android-app with support (maybe), a desktop application (although for Windows) and a Lightroom-plugin, which has a bad user interface and a complicated GUI. An app for which I explicitely bought an Android smartphone.

Workflow

Workflow in this contexts and for me starts with using the app, continues with entering the exif-data into the smartphone over to export of the file, transferring it to the computer and ends with the transfer of the exif-data into the referring jpg-files. In the area of transmitting the file with the exif-data there is litterally no difference between both apps. After exporting the data into a file this file can be uploaded to a dropbox account. Both apps have a dropbox configuration to directly connect the app with your dropbox account. The one little difference is that I can use PhotoExif on my iPhone and that I need to have a second phone in my pocket for Exif4Film which I have to think about and for which I do not have a SIM card. Uploading a file to Dropbox while on the road is therefore not possible with Exif4Film.

The difference are mainly in the way of entering the data and storing the data in files. PhotoExif is the clear winner when it comes to data entry. The one-hand operation of the app with wheels looking like camera controls is intuitive and entering exif-data including the selection of a different film and camera combination is a matter of seconds. Exif4Film is too complicated in its design.

In reference to storing the exif-data and transferring it over to the jpg-files using Exif4Film I realised something that is not bad in generell but is not really supporting my selected workflow. PhotoExif is creating a simple, neat csv-file which I process using a simple shell script on a MacOS command line to transfer the exif-data using ExifTool by Phil Harvey. Exif4Film is creating a xml-file instead which is not that easy to handle and requires a lot more programming effort to use this file in a shell script. Which brings us to the last difference referring to workflow. Using PhotoExif with its csv-file gives me full-control while processing the data with a shell script that I can adapt to my requirements. Exif4Film makes me depending on the correctness of the programm code. On top of this, the shell script leaves the option to select which exif-data should be transferred into the jpg-files and which exif-tags should be filled additionally even without data entry in the app – something I can’t when using the desktop application or the Lightroom-plugin of Exif4Film where the amount and mapping of exif-tags is predefined. The shell script is at the same time some sort of fallback solution when I will have to start noting down the exif-values with notepad and pencil again, because I can then transfer the data over to an spreadsheet to store this table in the same format like the csv-file of PhotoExif which can then be processed with the shell script. This will save me if all apps and tools run out of support or disappear from the app stores for an unknown reason.

The shell script

Shell scripts can be equipped with as much functionality and error handling as the programmer likes and requires. I also added a couple of security and plausibility checks into the code. What matters are the following lines of code which process each single line written into the csv-file by PhotoExif and map the exif-data to the exif-tags of the jpg-file, meaning the first line will be written to the first file, the second line to the second file and so on. This is the code for this functionality:

while IFS=, read -r number date camera film_type iso_value speed aperture lens focal_length latitude longitude comment
do
printf -v number „%02d“ $number;
camera_manufacturer=`echo $camera | cut -d ‚ ‚ -f1`
# enhance derivation of lens_manufacturer if 3rd party manufacturer lenses are used
lens_manufacturer=`echo $camera | cut -d ‚ ‚ -f1`
date_time_original=“${date:6:4}:${date:3:2}:${date:0:2} ${date:11:2}:${date:14:2}:00″

exiftool \
-overwrite_original \
-DateTimeOriginal=“$date_time_original“ \
-Make=“$camera_manufacturer“ \
-Model=“$camera“ \
-UserComment=“$film_type“ \
-ISO=$iso_value \
-ExposureTime=$speed \
-FNumber=$aperture \
-LensMake=“$lens_manufacturer“ \
-LensModel=“$lens“ \
-FocalLength=$focal_length \
-Artist=’Jörg Haag fotografie‘ \
$FILE_PREFIX$number.jpg;

done < „$EXIF_DATEI“

Was passiert genau? In der while-Schleife wird die Datei hinter $EXIF_DATEI Zeilenweise gelesen. Als Spaltentrennzeichen (IFS) ist das Komma definiert. Die Werte der Spalten werden in gleicher Reihenfolge den Variablen zugeordnet. Anschließenden werden für einige Variablen die Werte formatiert oder konvertiert und dann per Aufruf von exiftool in die Datei mit der aktuellen Nummer am Ende geschrieben.

Tatsächlich macht das Desktop-Tool von Exif4Film nichts anderes, außer dass mehr Werte verarbeitet werden und die Datei mit den Werten in einem anders strukturierten Format (xml) vorliegt; das Lightroom-Plugin funktioniert nach dem gleichen Prinzip.

Fazit

Ich habe mich für die Weiternutzung der iPhone-App PhotoExif ohne Support und ohne Tool zur Überführung der Exif-Daten entschieden, weil sich diese App einfach genial bedienen lässt. Entscheidung gefällt und dabei bleibt es, zumindest bis es etwas Besseres gibt, egal ob für iPhone oder Android – Vorschläge willkommen. Wünschen würde ich mir eine iPhone-App mit der Benutzeroberfläche und -führung von PhotoExif mit einem Desktop-Tool für Mac und dem Support von Exif4Film.

What happens in detail? The while-loop reads the file in $EXIF_DATEI line by line. The column separator is defined as a comma with the option IFS. The values in the columns are assigned to the mentioned variables one by one. Subsequently some of the values in the variables are formatted or converted and then written into the jpg-file with the current line number as suffix at the end.

Effectively, the desktop application of Exif4Film is doing the same thing, except that it processes more values stored in the file and that the file is available in a different format (xml); the Lightroom-plugin works the same way.

Verdict

I decided to continue using the iPhone app PhotoExif without support and without the desktop application to transfer the exif-data, because this app is ingeniously easy to operate. Decision made and that’s the way it is, at least until I find something better, no matter if for iPhone or Android – suggestions welcome. I wish for an iPhone-app with the user interface and operation of PhotoExif with a configurable desktop application for MacOS and the support of Exif4Film.

Advertisements

Ich freue mich auf Deine Meinung:

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s