Scan Workflow


Motivation

Mit vermehrtem Fotografieren auf Film, Kleinbild sowie Mittelformat kam für mich die Notwendigkeit auf Bilder neben dem Abziehen in der Dunkelkammer auch Digital verwenden zu können. Dazu kaufte ich mir auf dem Gebrauchtmarkt einen Plustek Opticfilm 7600i Kleinbild Filmscanner für etwas über 100 € (2016).
Bei der Verwendung diverser Scanprogramme stellte ich fest, dass das Invertieren der orange-braunen C41 Farbnegative nicht ganz trivial ist und es dort oft mittels Presets für die erhältlichen Filme umgesetzt wird. Das ist nötig, da die Tonwertkurven der drei Farbkanäle nicht linear verlaufen. Die exakten Einstellungen in der Software zu den Farbkorrekturen (ich beziehe mich hier auf VueScan) waren für mich nicht transparent genug, wesshalb ich auf ein externes Programm zur Invertierung umsteigen wollte und die Scansoftware selbst nurnoch als Positiv, ohne Invertierung und sonstige Korrekturen, scannen lasse.
Bei der Suche stiess ich auf Negfix. Damit lassen sich die gescannten Negative analysieren und anschliessend in Positive konvertieren. Mit einem Windows Batchscript konnte ich diese Aufgabe für jeweils einen ganzen, als rohe .tif's vorliegenden Film automatisieren.
Nach meinem Verständniss sucht Negfix in allen Bildern die hellsten und dunkelsten stellen und legt diese im Positiv als Schwarz und Weiss fest. Das klappt so gesehen ganz OK, ein bis zwei duzent Kleinbildfilme hab ich auf die Weise bearbeitet. Dennoch musste ich immer wieder feststellen, dass es bei manchen Farbnegativfilmen in den Mitten oder Lichtern Farbverschiebungen gab. Diese liessen sich über die R,G und B Kurven in Rawtherapee zwar beheben, jedoch wurden die Anpassungen durch spätere Helligkeits und Kontraständerungen verändert. Es fehlte mir also die Möglichkeit, auch einen Farbwert als Grau im Bild zu definieren.

Es werden also pro Farbkanal drei Werte im Negativ definiert für die der Wert im Positivbild bekannt ist, meist Schwarz, Grau und Weiss.
Eine Möglichkeit die Zwischenwerte zu berechnen ist über ein Interpolationspolynom. Bei drei Punkten ist dies ein Polynom 3. Grades, welches sich mit einem linearen Gleichungssystem eindeutig lösen lässt, pro Farbkanal versteht sicht.


Nachdem die Rechnung auf dem Papier aufging sollte das Vorgehen nun in ein Stück Software eingegossen werden. Das Konvertieren der Bilder passiert im Anschluss dann mittels Imagemagick.

Workflow

Im Folgenden möchte ich mein Verfahren zum Invertieren von Farbnegativen (oder auch Schwarzweissnegativen) erläutern.
Jeder Kleinbildfilm wird spätestens beim Einlegen in die Kamera am Anfang (bis Bild 00) maximal belichtet, im entwickelten Negativ also geschwärzt. Dies ergibt somit die Maximaldichte, die ein Bild dieses Film haben kann, mehr belichtet geht nicht.
Meist spult man den Film nach dem Einlegen bis mindestens Bild 0 vor, um sich sicher zu sein, dass das erste Foto vollständig zu sehen ist. Zwischen dem belichteten Anfang und dem ersten Bild ist demnach ein Stück unbelichtetes Filmmaterial, welches demnach die minimaldichte des Films darstellt (vorrausgesetzt, man lässt den Objektivdeckel drauf). Ist dieser Bereich nicht vorhanden, kann auch der schmale Streifen zwischen zwei Bildern oder das Filmende verwendet werden.
Um die Farbkorrektur zu erleichtern belichte ich mittlerweile immer ein Bild mit neutralem Grau (Graukarte, Hausswand, Monitor). Dies ist zwar Optional, jedoch sind ohne diesen dritten Farbwert nur lineare Farbkurven möglich.
Aus diesen drei (bzw. mindestens zwei) Bereichen werden wir gleich Farbproben entnehmen. Hierzu muss neben jedem Bild selbst auch ein Scan davon gemacht werden (siehe Bilder).


Im Scanprogramm sollten für alle Bilder die exakt gleichen Einstellungen ohne jegliche automatische Korrekturen verwendet werden. Auch muss der Rand hier noch nicht abgeschnitten werden. Ich Scanne mit 48 Bit RGB (mittels Mehrfachbelichtung) und der maximalen Auflösung des Scanners (7200dpi) und verkleinere die Bilder später auf 50%, da dort das Schärfelimit des Scanners, sowie das der meisten Kleinbildfilme erreicht ist. Quelle: www.filmscanner.info
Abgespeichert wird als 48Bit Tiff.


Als nächstes wird die Java Anwendung (Download: scaninverter GitLab) gestartet und das Bild mit maximaler und minimaler Belichtung über "Load Image" geladen. Hier kann direkt das .tif ausgewählt werden, welches nach Bestätigung mit "Öffnen" durch Imagemagick für das Preview konvertiert wird.
Hierzu muss Imagemagick (static) installiert und der korrekte Pfad zur convert.exe in der config.cfg eingetragen sein. Dieser wird, falls nötig, beim Programmstart abgefragt.


In dem "Tools" Fenster (links) ist eine Liste mit Einträgen wie "x,x,x -> 0,0,0" zu sehen. Im Beispiel "114,77,59 -> 0,0,0" bedeutet dies, dass die Farbe mit den r,g,b-Werten 114,77,59 ein Schwarz (0,0,0) im positiv ergibt.
Um das Schwarz im Scan zu definieren selektieren wir nun den Eintrag "x,x,x -> 0,0,0" und ziehen danach ein Rechteck im Previewfenster über den unbelichteten Teil (im Beispiel die rechte Hälfte).
Mit dem zweiten Eintrag "x,x,x -> 255,255,255" wird entsprechend für den belichteten Teil vorgegangen.


Existiert ein "Grau-Bild" oder ein Foto, in dem eine graue Fläche vorkommt kann dieses nun erneut über "Load Image" geladen werden.
Mittels "Add" wird ein drittes Mapping der Liste hinzugefügt, welches als "x,x,x -> x,x,x" erscheint.
Abermals selektieren wir den Eintrag und wählen den entsprechenden Bereich im Preview aus. Nach dem Loslassen der Maustaste wird automatisch ein Grauwert aus der Helligkeit der Auswahl vorgeschlagen. Falls nötig lassen sich alle eingetragenen Farbwerte durch Auswahl des Eintrags und "Neg. Color" bzw "Pos. Color" anpassen.
Theoretisch ist es technisch und mathematisch möglich, mehr als 3 Farbpaare anzugeben und zu berechnen, jedoch ist ein Interpolationspolynom wegen der geringen lokalen Kontrollierbarkeit in diesem Fall ungeeignet.


Durch das Selektieren von "show processed" wird eine grobe Vorschau des Positivbildes angezeigt. Artefakte und sichtbare Helligkeitsstufen sind im finalen Positiv nicht zu sehen.
Letztendlich werden die ermittelten Parameter für Imagemagick durch den Button "Export" in eine Datei geschrieben. Der convert-Befehlt für Imagemagick wird dabei zwischen die im Programmordner liegenden Dateien pre.cmd und post.cmd (bzw. unter Linux pre.sh und post.sh) eingefügt. Das exportierte Batchfile muss nun in den Ordner, indem alle gescannten .tif's liegen verschoben und dort gestartet werden.
Jede *.tif in diesem Verzeichnis wird darauf auf 50% verkleinert und invertiert. Das Ergebnis landet im Ordner "out".


Beispieldatei: (Windows)
@echo off
setlocal enabledelayedexpansion
mkdir tmp
mkdir out
for %%f in (*.tif) do (
echo resize: %%f
convert %%f -resize 50%% -filter Gaussian ./tmp/_%%f
echo invert
convert ./tmp/_%%f -channel R -fx "0.95+u*0.96+u*u*-6.65" -channel G -fx "1.38+u*-7.54+u*u*10.34" -channel B -fx "1.19+u*-5.05+u*u*0.58" ./out/%%f
)
pause


Nachbearbeitung

Ist alles nach Plan gelaufen, befinden sich im "out" Ordner nun alle Positive als .tif. Durch Angabe der Minmal- und Maximaldichte umfassen die Positive den insgesamt möglichen Helligkeitsbereich, wesshalb sie zu diesem Zeitpunkt sehr Flau wirken. Eine Nachbearbeitung jedes einzelnen Bildes ist daher nötig. Ich verwende dazu RawTherapee. Dort passe ich die 1. Tonwertkurve an den Endpunkten (unten links und oben rechts) so an, dass die hellsten und dunkelsten Bildbereiche gerade so über bzw. unterbelichtet erscheinen (Anzeige durch Kürzel "<" und ">"). Den Kontrast verändere ich durch eine S-Kurve in der 2. Tonwertkurve. Je mehr S, desto mehr Kontrast. Abgesehen vom Bildbereich und eventueller Anpassung der Farbtemperatur ist es hiermit auch schon getan.



Download