Colour Labels in Lightroom

Have you ever used colour labels in Lightroom to organise your photos?

It may surprise you that these colour labels are actually not what they are called. There is no colour assigned to a photo, it is a string.

You can easily try it yourself. Open Lightroom, choose a photo and set the colour label to red by hitting “6” on the keyboard. Depending on your settings, Lightroom will display a red frame around your image, add a reddish background or show a red square beneath the image in grid view. Once you did that, open the metadate panel, choose the default display and observe the field called “Label”. What do you see? The text “Red”, not the colour.

You can edit this field. Try typing “Green” and observe the colour marking change. Of course you can type in anything you like. Say you want to mark an image as approved, just type in “Approved”. No colour shows up? Well, what did you expect?

Colour Label Sets

If the field “Label” contains just text, how does Lightroom know it is supposed to display a colour? How does this work for different languages? You might write “Yellow” for yellow, I’d write “Gelb” in my mother tongue, still we mean the same colour. The key is a colour label set. You will find it in the menu under “Metadata – Color Label Sets”. Lightroom comes with three predefined sets: “Lightroom Default”, “Bridge Default” and “Review Status”. Select “Lightroom Default”, open the Menu again and klick “Edit…”. You will see this:

That is the complete secret. Lightroom reads the field “Label” and checks the currently selected colour label set to see whether there is a colour to display for the text found. You can use any text you like. The two other default sets use other text and are good examples for what you might want to use this for. You can create and save you rown colour label sets as well.

By the way, switching the colour label set does not alter the label-fiels. So you can use different sets for different purposes and switch between those. Only thing to keep in mind: there can only be one label per photo. So if you mark a photo as Red with the “Lightroom Default” set, then switch to “Bridge Default” and use the colour label yellow to mark the same photo as second choice, the metadata will only contain the word “Second” – the first colour label is gone.

I’ll leave it to you to find out what happens if you switch languages.

Insektenmakros

Seit einiger Zeit versuche ich mich an Makros kleiner Insekten. Im Moment verwende ich ein Sigma MACRO 105mm F2.8 DG mit Kenko Zwischenringen, meist mit einem 20 mm Ring, an meiner Canon 7D. Noch bin ich absolut am Anfang, aber es kristallisieren sich ein paar Erkenntnisse heraus.

Es gibt zu wenig Licht!

Die theoretische Überlegung, dass die Schärfentiefe selbst für eine Fliege nicht ausreichen wird, wenn ich die Blende aufdrehe, um möglichst viel Licht nutzen zu können, finde ich praktisch sofort bestätigt. Die Blende muss soweit zu, wie es nur geht. Und da kommen wir schon zur zweiten Theorie, die bestätigt wird: auch wenn das Objektiv Blende 22 zulässt: das bringt nichts. Ab Blende 16 wird das Bild durch Beugung an der Blendenöffnung sichtbar unschärfer, Blende 14 ist anscheinend das Optimum.

Meine 7D ist immer noch eine prima Kamera, aber auch sie hat natürlich ihre Grenzen. Gerade wenn es um sehr feine Details geht, stört ein Bildrauschen, das man ab ISO 800 dann doch sieht, ziemlich. In anderen Kontexten, z. B. bei der Theaterphotographie, toleriere ich das Rauschen bis ISO 3200, ggf. sogar mehr. Bei den Insekten ungern. Meist will ich das Bild noch ein wenig beschneiden, die Qualität sollte optimal sein. Also runter auf ISO 100.

Um bei ISO 100 und Blende 14 arbeiten zu können braucht man entweder sehr viel Licht oder lange Belichtungszeiten. Ich habe daher versucht, die Kamera auf ein Stativ zu setzen und mit Belichtungszeiten um 1/4 herum zum Ziel zu kommen. Das hat sich für mich nicht bewährt. Erstens sind meine Motive meist längst entnervt entschwunden, bis mein Stativ in der richtigen Position steht, zweitens bewegen die Biester sich. Selbst Fliegen, die scheinbar still sitzen, bewegen oft den Hinterkörper. Ich bin kein Biologe, aber ich vermute, es handelt sich um Atembewegungen. Daher versuche ich, Belichtungszeiten um 1/200 bis 1/250 Sekunde zu erreichen. Das große Stativ lasse ich weg, versuche nur, ohnehin vorhandene Objekte als Stütze zu verwenden, oder nutze ein Einbein.

Trotz Mittagssonne zu langsam

Leider ist dann immer noch, selbst in der prallen Mittagssonne (zu deren Qualitäten später mehr), meist zu wenig Licht da.

Mehr Licht muss her – Blitzen!

Nach kurzer Suche im Internet ist mir klar: einen Makroblitz mit zwei separat ansteuerbaren Hälften, ob nun Ring oder kleine einzelne Blitze, würde ich gern mal ausprobieren, für den Anfang ist er mir aber zu teuer (bzw. ich traue den Billigangeboten nicht über den Weg). Also heißt es ausprobieren und basteln.

Die erste Idee, einfach den Austeckblitz nach unten zu justieren, findet schnell ihre Grenzen. Die Dinger sind nicht dafür gemacht, Objekte in kurzem Abstand vor der Linse zu beleuchten. Besser ging es schon mit einer am Blitz befestigten Reflektorfläche, die das Licht nach unten streut. Die Technik hat aber auch zwei Nachteile: Es hängt so viel Gewicht am Blitzkopf, dass der immer nach unten knickt. Meine Blitze jedenfalls lassen sich in verschiedene Winkel über Einrastpositionen einstellen – das Einrasten ist aber viel zu zart für den Reflektor. Und zweitens kommt das Licht jetzt immer von oben – sieht auch doof aus.

Als nächstes habe ich versucht, den Blitz über Funkauslöser anzusteuern und ihn mit dem Reflektor seitlich neben die Kamera zu halten. Mein Fazit dazu: ich habe mindestens eine Hand zu wenig. Geht also auch nicht.

Also wieder im Internet suchen und über Bastellösungen nachdenken. Eine Idee, die ich vielleicht auch noch mal weiterverfolge, ist eine Blitzschiene unter der Kamera, auf die man dann zwei vertikale kurze Schienen montiert, die ihrereseits zwei Aufsteckblitze halten, die nach vorn zeigen, so dass ihre Blitzröhren rechts und links des Objektives zum liegen kommen. Im Moment schätze ich das als zu sperrig und wackelig ein. Es gibt ein paar ähnliche Ansätze im Zubehörhandel, die Nutzerkommentare bestätigen meine Bedenken eher.

Daher habe ich mich entschlossen, erst mal bei einem Blitz zu bleiben. Warum sollte ich auch zwei brauchen? Die Antwort ist schnell gefunden: vielleicht wegen der Schatten.

Portraits, Licht und Schatten

Harte Schatten bei direkter Sonneneinstrahlung

Ein Aufsteckblitz ist zwar nicht wirklich eine punktförmige Lichtquelle, aber die Fläche, von der das Licht ausgeht, ist im Vergleich mit den photographierten Objekten so klein, dass hinter diesen harte Schlagschatten auftreten. Die werden meist als unschön empfunden. Hat man zwei Lichtquellen, kann die eine die Schatten, die die andere produziert, ausleuchten. Kann man die beiden Quellen dann noch getrennt in der Helligkeit regeln, lässt sich die Ausleuchtung schon recht gut beeinflussen.

Das wird auch oft bei Portraitaufnahmen in Studios gemacht, da gibt es einen typischen Aufbau mit einem Modell-Licht (Key) und einem Aufhelllicht (Fill), letzteres ist oft auch nur ein Reflektor. Um im zweidimensionalen Photo einen plastischen Eindruck zu erreichen, brauchen wir die Schatten übrigens schon, ganz weg wollen wir sie nicht haben, sonst wirkt das Bild sehr flach, nur weich und mit ein wenig Richtung. Bei Portraits gilt es als klassisch schön, wenn das Licht in etwa so fällt, wie wir es von natürlicher Beleuchtung kennen, also schräg von oben und meist ein wenig von der Seite (ich will hier nicht in die Details gehen, es gibt verschiedenste Ausleuchtungsvarianten und Ausnahmen von fast allem).

Weiche Schatten bei leicht bedecktem Himmel

Will man die Schatten weich kriegen, ist entscheidend, dass das Licht nicht nur aus einer, oder einigen wenigen festen Richtungen kommt. Ist die Lichtquelle ein Punkt, so kommt das Licht immer nur aus genau einer Richtung, ist die Lichtquelle eine Fläche, so fällt Licht über einen bestimmten Raumwinkel ein und es ergibt sich ein weicher Übergang zwischen Licht und Schatten.

Das kann man leicht draußen beobachten. Die Sonne ist zwar groß, aber weit weg, daher erscheint sie in einem kleinen Raumwinkel, nahezu punktförmig. Jeder kennt die harten, klaren Schatten, die Sonnenlicht wirft. An bedeckten Tagen wird das einfallende Sonnenlicht jedoch durch die Wolken gestreut, der gesamte Himmel wirkt leuchtend und trägt zur Licht und Schatten bei. Weil das Licht “aus allen Richtungen” kommt, sieht man fast keine und nur sehr weiche Schatten. Tage mit nicht zu dichter Bewölkung, aber eben auch nicht klarem Himmel sind ideal für Portraits im Freien.

Der Raumwinkel hängt ab von der Größe der Lichtquelle und dem Abstand zum beleuchteten Objekt. Bei Portraits und Studioblitzen würde ich das Verhältnis zwischen Größe der Lichtquelle (erst mal der nackten Blitzröhre) und dem Objekt auf in der Größenordnung 1:10 schätzen, den Abstand auf typischerweise 1:3. Also gibt es harte Schatten und, wenn man zwei Quellen verwendet, einfach nur harte Schatten, die sich überlagern und nicht mehr ganz so dunkel wirken. Die harten Grenzen der Schatten gelten meist als unschön, man beseitigt sie, indem man die effektiv leuchtenden Flächen größer macht – mit Reflektoren, Schirmchen und Softboxen. Stellt man eine runde Softbox von 2 m Durchmesser 1 m vor einem Objekt auf, kommt das Licht nicht nur gerade von vorn, sondern auch aus bis zu 45° von rechts, links, oben, unten und allen Richtungen dazwischen. Vom Objekt aus gesehen hat man einen Öffnungswinkel von 90°. Die gleiche Lichtquelle 5 m entfernt gibt einen Öffnungswinkel von nur noch 22°, die Schatten werden wieder härter.

Eine Softbox mit Reflektor als Aufheller

Portraitaufnahmen habe ich schon recht erfolgreich mit nur einer Softbox gemacht. Ich  würde den Öffnungswinkel dabei auf etwa 30° – 45° schätzen. Das sollte bei Makros auch machbar sein. Alleine die Fläche des Aufsteckblitzes, auch mit ausgeklappter Streuscheibe, wäre etwas klein, aber hätte ich eine kleine Softbox von 10 – 20 cm Durchmesser und könnte die ca. 20-30 cm entfernt von meinen Motiven platzieren, dann würde das reichen.

Im Zubehörhandel habe ich dann einen Schwanenhals zum Aufstecken auf den Blitzschuh der Kamera und eine Mini-Softbox gefunden. Das sieht so aus:

Die Konstruktion ist zwar etwas unhandlich, aber mit etwas Übung zweihändig durchaus kontrollierbar. Ich bin mit den Ergebnissen recht zufrieden. Nur an der Positionierung des Blitzes muss ich noch etwas Herumprobieren, das Licht kommt jetzt noch etwas zu sehr von der Seite.

Nur mit Aufsteckblitz

Mit der kleinen Softbox

Ein paar Beispiele

Re-Run Lightroom Face Detection

To my knowledge as of today there is no official way to re-run face-detection in Adobe Lightroom (LR), neither for a complete catalogue nor for a single folder. You may find you want this option if for example you deleted a whole bunch of already recognised face-areas and now regret you did so. The following works for me.

First make a backup of your catalogue.

Then get the SQLite Browser (http://sqlitebrowser.org/). You will need it to edit the LR catalogue file. Install it, run it and open a database. Use your catalogue as database. Lightroom must be closed while you do this.

You will see, a LR catalogue is a relational database, it contains a lot of tables. With some experience you’ll be able to guess how these work together. A lot you can do here – a lot you can damage! If you try what I describe here and it fails, don’t come to me for complaining. This is definitely not officially supported, no warranty, at your own risk.

There is one table that can help you if you want to re-run the face-detection: Adobe_libraryImageFaceProcessHistory. It contains information about what happened with the images already, the last status of face-detection, face-recognition and indexing as well as whether you touched the image after detection, for example to confirm the find by adding a name.

The table is pretty useless without additional information. It contains a ID for each image it has data for, which you can use to link to the relevant information in other tables like this:

select Folder.pathFromRoot, File.baseName, File.extension, Hist.*
from  Adobe_libraryImageFaceProcessHistory AS Hist
inner join Adobe_images AS Img ON Hist.image = Img.id_local
inner join AgLibraryFile AS File on  Img.rootFile = File.id_local
inner join AgLibraryFolder AS Folder on File.folder = Folder.id_local

As you have the folder path in the query, you can also use it to filter for photos in a particular folder (including subfolders if you use a wildcard ‘%’). Like this:

select Hist.*
 from  Adobe_libraryImageFaceProcessHistory AS Hist
 inner join Adobe_images AS Img ON Hist.image = Img.id_local
 inner join AgLibraryFile AS File on  Img.rootFile = File.id_local
 inner join AgLibraryFolder AS Folder on File.folder = Folder.id_local
 where Folder.pathFromRoot LIKE 'Photos/2015/2015-04-25/%'

Now, with this you can selectively delete the face detection history entries for photos in a particular folder. Before you do, make sure you have really made that backup.

delete from Adobe_libraryImageFaceProcessHistory
 Where id_local in (
 select Hist.id_local
 from  Adobe_libraryImageFaceProcessHistory AS Hist
 inner join Adobe_images AS Img ON Hist.image = Img.id_local
 inner join AgLibraryFile AS File on  Img.rootFile = File.id_local
 inner join AgLibraryFolder AS Folder on File.folder = Folder.id_local
 where Folder.pathFromRoot LIKE 'Photos/2015/2015-04-25/')

Now, close the database and open Lightroom. Go to the folder and switch to people-view. The detection runs again.

This does not delete already detected face-areas or keyword assignments.

Let me know if this worked for you in the comments.

Englisches Lightroom mit deutscher Tastatur

Mit einem einfachen Trick eine deutsche Tastaturbelegung mit englischem Lightroom benutzen.

Die Herausforderung

Weil ich bevorzugt englischsprachige Fotoseiten lese und auch eine Menge Foto-Lehrbücher in dieser Sprache besitze, bevorzuge ich ein englisches Lightroom. So spare ich mir die Suche nach der deutschen Bezeichnung für einen Begriff, der z.B. in einer Anleitung verwendet wird. Bei Photoshop halte ich es genau so, doch darum soll es hier heute nicht gehen.

Die Herausforderung ist, dass Adobe leider mit dem Sprachwechsel auch die Tastaturbelegung wechselt. Es ist nicht vorgesehen, ein Tastaturlayout separat einzustellen. Tasten, die auf einem englischen Layout bequem sind, liegen auf der deutschen Tastatur unmöglich. Zum Beispiel der Backslash “\” oder die eckigen Klammern “[” und “]”. Sie liegen in der US-Version direkt nebeneinander und sind ohne Kombination mit anderen Tasten erreichbar:

US Tastaturlayout

„KB United States-NoAltGr“ von Diese Datei wurde von diesem Werk abgeleitet: KB United States.svg. Lizenziert unter CC BY-SA 3.0 über Wikimedia Commons – https://commons.wikimedia.org/wiki/File:KB_United_States-NoAltGr.svg#/media/File:KB_United_States-NoAltGr.svg

Für uns Deutsche sieht das anders aus, alle drei Tasten sind nur per Kombination mit Alt Gr erreichbar.

Quelle: Wikipedia

Quelle: Wikipedia

Die “Lösung”

Bei einem Sprachwechsel wird in Lightroom auf eine andere Sprachressourcedatei umgestellt. Die Datei für Deutsch ist bei einer Installation von Lightroom CC unter Windows: %Program Files%\Adobe\Lightroom\Resources\de\TranslatedStrings.txt.

Es gibt erwartungsgemäß keinen Ordner für die Sprache Englisch (en). Interessant ist aber, dass er, wenn es ihn gibt, berücksichtigt wird. Das kann man leicht ausprobieren, indem man den Ordner …\Resources\de kopiert und in …\Resources\en umbenennt und danach eine englische Version Lightroom startet. Dann werden nicht nur die deutschen Anzeigetexte verwendet, sondern auch die Tastaturbelegung.

Die Datei selber ist eine reine Textdatei. Hier mal ein Auszug aus dem Inhalt

"$$$/AgDevelop/Localized/Brightness=Helligkeit"
"$$$/AgDevelop/Localized/Brush=Pinsel:"
"$$$/AgDevelop/Localized/BrushA=A"
"$$$/AgDevelop/Localized/BrushB=B"
"$$$/AgDevelop/Localized/BrushDecreaseKey=,"
"$$$/AgDevelop/Localized/BrushDecreaseKeyShifted=;"
"$$$/AgDevelop/Localized/BrushIncreaseKey=."
"$$$/AgDevelop/Localized/BrushIncreaseKeyShifted=:"

Die rot hervorgehobenen Zeilen sind interessant. Es werden offensichtlich Tastaturbelegungen vorgenommen. Was liegt also näher als alle Zeilen, die nichts mit Tastaturbelegungen zu tun haben, aus der Datei zu werfen und diese dann für das englische Lightroom zu verwenden? Nichts, genau so funktioniert es.

Bei Bedarf lassen sich dann gleich noch ein paar unglücklich gewählte Belegungen korrigieren und ein paar wenige Texte anpassen, fertig ist die eigene Tastaturbelegung für deutsche Tasten an englischem Lightroom.

Umsetzung

Einen Download einer fertigen Datei möchte ich an dieser Stelle nicht abieten, weil

  • ich meine persönlichen Vorlieben in meine eingebaut habe, die nicht jeder teilen mag
  • die Datei von der Version von Lightroom abhängen dürfte
  • ich nicht sicher bin, wie begeistert Adobe wäre

Aber ich kann noch ein paar Tips geben:

  1. Die Einträge unter “$$$/AgBezels/KeyRemapping” sollten mitgenommen und angepasst werden.
  2. Unter “$$$/AgApplication/Menu/Window/SecondMonitor/” finden sich ein paar Tastaturbelegungen, die mit Shortcut statt Key bezeichnet sind.
  3. In der deutschen Version der TranslatedStrings.txt ist “Ctrl + ,” doppelt belegt. Ich habe daher zusätzlich “$$$/Application/Menu/Edit/Preferences/KeyWin=Cmd++” eingefügt und “$$$/Application/Menu/File/LibraryInfo/Key=Cmd+Option++” analog angepasst.
  4. In der deutschen Version der TranslatedStrings.txt findet sich eine Tastaturkombination “^L”, die sich anscheinend auf den Backslash “\” bezieht. Ich habe sie bei mir durch “<” ersetzt, das ist viel leichter zu bedienen.
  5. Es scheint naheliegend, für Zoom-Vorgänge die Tasten “+” und “-” zu verwenden. Leider klappt das aus mir unbekannten Gründen nicht mit dem “+”, daher sollte man bei dem (weniger intuitiven) “#” bleiben.

Letzter Tipp: vor irgendwelchen Änderungen immer die Originaldateien sichern!

Aktualisierung 24. März 2017

Bei der aktuellen Version von Lightroom CC (2015.9) wurden die Dateien anders benannt. Damit klappt der beschriebene Trick erst mal nicht mehr. Die deutsche Datei heißt jetzt TranslatedStrings_Lr_de_DE.txt. Ich habe einfach mal probiert, die für Englisch  TranslatedStrings_Lr_en_US.txt zu nennen – und siehe da, es geht wieder.

Natürlich braucht man nicht wirklich alle Zeilen aus der Datei. Da, wo die englische Originalbelegung gut funktioniert, muss man nicht korrigierend eingreifen. Es ist nur viel einfacher, alle Zuordnungen aus der deutschen Datei zu übernehmen, als mühselig herauszusuchen, welche man braucht.

Der Fehler der Mehrfachbelegung von “Ctrl + ,” ist behoben, die Kombination ist jetzt “Ctrl + u”. Mein Tipp 3 ist daher obsolet.

Die in Tipp 4 beschriebene Kombination “^L” ist nur eine Zeichenkette für die Anzeige, man kann sie ersetzen, die Funktion ist auch ohne Ersetzung auf “<“.

Übersetzungen

Die folgenden Zeilen dienen der Zuordnung der Namen für Kombinationstasten zu den in den anderen Zeilen verwendeten Kürzeln. Man braucht sie, anders als ich ursprünglich dachte, nicht.

"$$$/AgBezels/KeyRemapping/MacCommand=Befehl"
"$$$/AgBezels/KeyRemapping/MacDelete=Löschen"
"$$$/AgBezels/KeyRemapping/MacOption=Wahl"
"$$$/AgBezels/KeyRemapping/MacReturn=Eingabe"
"$$$/AgBezels/KeyRemapping/WinAlt=Alt"
"$$$/AgBezels/KeyRemapping/WinBackspace=Rücktaste"
"$$$/AgBezels/KeyRemapping/WinControl=Strg"
"$$$/AgBezels/KeyRemapping/WinEnter=Eingabe"
"$$$/AgCameraRawController/Keyboard/AltKey=Alt"
"$$$/AgCameraRawController/Keyboard/OptionKey=Wahl"

Es gibt einige weitere Zeilen, die deutsche Begriffe enthalten. Diese dienen der Anzeige der aktuellen Tastenbelegungen auf dem Hilfeschirm, den man mit Strg+< erreicht. Es erscheint mir sinnvoll, die hier auftauchenden deutschen Begriffe durch die englischen zu ersetzen, also:

  • Command statt Befehl
  • Delete statt Löschen
  • Option statt Wahl
  • Enter statt Eingabe
  • Backspace statt Rücktaste
  • Shift statt Umschalt
  • Right Arrow statt Nach-rechts-Taste
  • Left Arrow statt Nach-links-Taste
  • Up Arrow statt Nach-oben-Taste
  • Down Arrow statt Nach-unten-Taste
  • Ctrl statt Strg
  • Tab statt Tabulatortaste
  • Space statt Leertaste

Löschen überflüssiger Zeilen mit Notepad++

Man kann das Löschen von nicht benötigten Zeilen mit Suchen und Ersetzen mit Regulären Ausdrücken deutlich erleichtern. Ich habe alle Textteile mit notepad++ gelöscht, auf die folgender Ausdruck passte:

^((?!(Key=|KeyWin=|KeyShifted=|Shortcut=|KeyRemapping)).)*$\R

Danach ist die Anzahl der Zeilen, die man manuell löschen muss, überschaubar.

Photoshop Blend Modes - Part 3

Soft Light

Soft Light is the one blend mode I read most nonsense about. Part of this may be due to the fact that vendors define the method differently, get quoted incorrectly and thus add to the confusion. Alas, I couldn’t find explanations for their particular choices, so I can only show what I figured out and present my own thoughts.

Photoshop

My Photoshop CC uses the following formula (as documented in PDF Reference):

f(a,b) = \left\{ \begin{array}{lr}(1-a)ab + a(1-(1-a)(1-b)) & \text{f\"ur } b < {1/2}\\a+(2b-1)(\sqrt{a}-a) & \text{f\"ur } b \geq {1/2} \land a > {1/4}\\a+(2b-1)(((16a-12)a+4)a-a) & \text{f\"ur } b \geq {1/2} \land a \leq {1/4}\end{array} \right.

I was able to verify that with the help of a little Postscript script may father generously provided (thank you very much for your support, (Dieter)). It fills a square with the result of a blend between two linear gradients using a formula only limited by your Postscript skills (reverse Polish notation). After comparing the result with Photoshop’s own blend, I can assure you now that this indeed is the formula used, whatever others try to tell you. (For more details about the process see here).

The two source images:

Gradient A

Image A – horizontal gradient

Gradient B

Bild B – vertical gradient

After blending using the Soft Light formula with the Postscript script:

Soft Light calculated

Calculated Soft Light

and using Photoshop’s Soft Light blend mode:

Photoshop Soft Light

Photoshop Soft Light

By subtraction one can easily show both images are identical (but for small deviations due to limited resolution and rounding errors).

A closer look at the brightness for fixed b-values is quite interesting:

Gamma-Curve-PDFAs you can see for b=0,5 you get the diagonal, i.e. a linear translation from a to brightness. Hence if you chose an evenly grey image for B (50% grey), the image A is unchanged by the blending. Actually, this is a design goal for all formulas we are looking at here, 50% grey is supposed to be neutral.

For b=0 you get the much simpler formula:

f(a,b) = a(1-(1-a)) = {a}^{2}.

This is nothing else but the γ-correction (Gamma-correction) with γ=2. The curve for b=1 looks a lot like the square root function, that would be a γ-correction with γ=0.5, but due to the corrective term for small a it is not identical.

I was interested in the course of the deviation from the diagonal

f(a,b) = a

for different values of b, as that might show me the degree of symmetry of the method. So I plotted curves for

f(a,b) = \left\{ \begin{array}{lr}(1-a)ab - a(1-a)(1-b) & \text{f\"ur } b < {1/2}\\(2b-1)(\sqrt{a}-a) & \text{f\"ur } b \geq {1/2} \land a > {1/4}\\(2b-1)(((16a-12)a+4)a-a) & \text{f\"ur } b \geq {1/2} \land a \leq {1/4}\end{array} \right.

Delta-Curve-PDFThe strong asymmetry for b > 0,5 is striking.

Variations of the Soft Light formula

Using the following formula, also sometimes presented as the Photoshop-formula, you get a slightly different result. Here you actually get the γ=0.5 correction for b=1.

f(a,b) = \left\{ \begin{array}{lr}(1-a)ab + a(1-(1-a)(1-b)) & \text{f\"ur } b < {1/2}\\a+(2b-1)(\sqrt{a}-a) & \text{f\"ur } b \geq {1/2}\end{array} \right.

Without the corrective termfor small a

Without the “correction” for small a

At a close look you might see that the top left corner is slightly brighter than the one from Photoshop.

The corresponding curves look like this:

Gamma-Curve-PDF-2Again no symmetry. Yes, you could mirror at the diagonal, but that is not keeping a fixed. For blending we want to know how a fixed value of a would be translated for varying b. Here identical changes in b result in more or less strong effect depending on the direction you move from b=0.5. You can see this more easily after subtaction of a.

Delta-Curves-PDF-2

In this representation you can clearly see how strong the change of the image would be for small a. Maybe too strong for Adobe so they chose to add that corrective term?

But then, you could only use the first part of the original formula, this one:

f(a,b) = (1-a)ab + a(1-(1-a)(1-b))

Just the first term

Just the first term

Also a lovely, very smooth result, linear in b. This linearity you can see in the curves as well:

Gamma-Kurven-PDF-1Now you can no longer get mirror-symmetry along the diagonal, but the distance between curves for fixed a is always the same.

Delta-Curves-PDF-1Here you see symmetry, looks very plausible, but for b=1 you miss γ=0,5 by a long shot.

Illusions’ parametric Gamma-Correction

A completely different approach to Soft Light you can find at illusions.hu. Starting from the idea of a parametric γ-correction, controlled by b, they use:

f(a,b) = a^{2^{(1-2b)}}

The result of the blend is very pleasing, at least to my eyes:

Illusions.hu Gamma-Correction

Illusions.hu Gamma-Correction

At first glance, the curves almost look like the ones for the original Adobe-formula:

Delta-Curves-IllusionsAt a closer look the transitions are much smoother of course. This is not glued together from different parts, no wonder.

Mirror Games

I also have my own suggestion, a spin-off from my trying to answer the question if the second part of the Photoshop-formula might be the first mirrored at the diagonal. The answer is: it isn’t. You get the formula for the mirrored curve by resolving the first part for a and replacing by with (1-b’). The latter because for b > 0,5 the curve must be the mirror of one with b’=1-b.

f(a,b) = \left\{ \begin{array}{lr}(1-a)ab + a(1-(1-a)(1-b)) & \text{f\"ur } b < {1/2}\\ \frac{1-b}{1-2b}+\sqrt{\frac{(1-b)^2}{(2b-1)^2}+\frac{a}{2b-1}}& \text{f\"ur } b \geq {1/2}\end{array} \right.

In this case the deviations from the diagonal are:

Delta-Kurven-HZ
I find this is not bad at all. Slightly brighter bottom left than the Illusions version, less drastic top left that the reduced Photoshop-formula (the one without the corrective for small a).

"My" Soft Light

“My” Soft Light

I have to admit, the whole is pretty academic. Alas, we cannot add new blend modes to Photoshop that easily. If you can, let me know. I’d love to have the last two blend modes there.

Photoshop Blend Modes - Part 2

I already introduced the blend modes Multiplication, Linear Dodge, Linear Burn and Linear Light in the first part of the series. In this article I’ll add some more that might be interesting for photographers. For one particular blend mode there is a separate third part, beause it is rather complicated and frequently used: Soft Light.

Throughout the first parts of this series, I’ll deal with the math behind the blend modes only. I plan to use these as a reference in later articles treating more practical aspects and use cases. The retouching method that triggered my research has already been given its own article: Frequency Separation.

Notation

Let me introduce a notation for inversion in addition to the ones I already introduced in the first part. Let the inverted image for an image A be overline{A}. Inversion doesn’t mean anything else but subtraction fo the brightness values of each pixel from 1. Thus:

overline{a(x,y)} = 1 - a(x,y).

Or short:

overline{a} = 1 - a.

And now to the blend modes.

Color Burn

I am aware that it is slighly strange to explain something called Color Burn with black and white images. But as I said before, the math is what I will focus on first. The formulas are the same regardless or the number of channels. The formula for Color Burn is:

f(a,b) = \left\{ \begin{array}{lr}\overline{(\frac{\overline{a}}{b})} = 1 - \frac{1- a}{b} & \text{f\"ur } b > 0\\0 & \text{f\"ur } b =0 \end{array} \right.

Farbig Nachbelichten

Color Burn

You will notice that the whole bottom-left half drowns in black.

Color Dodge

The counterpart to Color Burn.

f(a,b) = \left\{ \begin{array}{lr}\frac{a}{\overline{b}} = \frac{a}{1-b} & \text{f\"ur } b < 1\\1 & \text{f\"ur } b =1 \end{array} \right.

Farbig Abwedeln

Color Dodge

Here you get white for (a > 1-b).

Screen

Another rather simple but nice one:

f(a,b) = \overline{\overline{a}\overline{b}} = 1 - (1-a)(1-b)

EPS-Screen

Overlay und Hard Light

Overlay and Hard Light are siblings. The formulas are for Overlay:

f(a,b) = \left\{ \begin{array}{lr} 2ab & \text{f\"ur } a < 1/2\\\overline{2\overline{a}\overline{b}} = 1 - 2(1-a)(1-b) & \text{f\"ur } a \geq 1/2 \end{array} \right.

and for Hard Light:

f(a,b) = \left\{ \begin{array}{lr} 2ab & \text{f\"ur } b < 1/2\\\overline{2\overline{a}\overline{b}} = 1 - 2(1-a)(1-b) & \text{f\"ur } b \geq 1/2 \end{array} \right.

Both are combinations of slightly modified Multiply and negative Multiply.

EPS-Overlay

Overlay

EPS-HardLight

Hard Light

You may see it in the images, this is not a very smooth function. Plotting the brightness over a for different fixed b one gets the following:

Gamma-Kurven-Overlay

Obviously not smooth. Make of it what you like.

50 % grey is neutral for both Overlay and Hard Light.

Vivid Light

Vivid Light can be seen as a combination of Linear Burn and Linear Dodge.

f(a,b) = \left\{ \begin{array}{lr}\frac{a}{2(1-b)} & \text{f\"ur } b > {1/2}\\1- \frac{1-a}{2b} & \text{f\"ur } b \leq {1/2}\end{array} \right.

EPS-VividLight

Vivid Light

Frequency Separation

Recently I found an interesting article on frequency separation on the Fstoppers’ pages that made me curious about this method. Seems to be pretty much standard now for beauty retouching. I learned something, but the article left me with unsanswered questions:

  1. Why is Linear Light the correct blend mode for rejoining the two layers created during frequency separation?
  2. What exactly is the difference between addition and subtraction blend mode?
  3. Why should there be a difference in the process depending on the colour-depth (8-bit versus 16-bit)?

So I decided to have a closer look. But first, I had to understand Blend Modes in general. Might be worth starting there if you have never dealt with the subject before.

The Task

We want to split one image into two such that one of the resulting images only contains fine detail, the other the large scale changes in colour and brightness. Take the following crop from a portrait as an example:

Skin-Demo-A

You can see pores, a light stubble, skin texture, and you can discern features like part of a nose, a line, shadows. Here the skin texture should end up in the first image, colours and larger shadows defining the shape in the second. Later on I’d like to combine the two images again in a way that we – unless we manipulated one of the images – get the original back.

“Why?”, you may ask. Simply because after this so called frequency separation you can retouch skin-tones without having to worry about the texture and vice versa. If I wanted to get rid of the red spot you can see top right, I’d just correct the colour and brightness and leave the texture alone. All the unmodified areas will, once blended again, look unchanged. The manipulated area will look very natural. So that’s why, I’ll show you how.

But before we start, some (very little) theory.

Frequencies

Fine structures mean spatially rapid changes of brightness, or a strong local contrast. You can interpret the changes of brightness as a superposition of waves. Waves, you may remember from your physics lessons, have a frequency, in this case a spatial frequency. Fine structure means high frequency, changes over a larger distance means low frequency.

Frequency Filtering

If you are an audiophile, you may have heard of high-pass or low-pass filters used in audio equipment. They do what their names say, the low-pass lets the low frequencies pass, i.e. the bass notes, while the high-pass does the same for high frequencies. For the latter, we indeed have a ready-made filter in Photoshop. It lets the high frequencies of an image pass and blocks the low frequencies yielding an image wich is mostly grey, close to 50 %, with little deviations on a small scale. You can control the scale – or as the audiophile might say, the cutoff frequency – with the radius parameter.

Photoshop also knows low-pass filters, only they are called differently. You may be able to identify them yourself. What evens out all the small scale changes? Blurring does. There are several blur filters available. For our purpose it does not really matter which one we choose, though you have to be careful with filters like surface blur or smart blur, as they tend to create sharp edges, which mean high frequency again. I personally would use the good old workhorse gaussian blur with a rather large radius.

Back to the Task – Splitting the Image

First we have an Image A. We create two copies and modify one so we get a new image B that is different from the original A. In this example I used a gaussian blur with a radius of 6 pixels:

Skin-Demo-B

You see, all the fine structure is gone, no skin texture to speak of left.

Now I want to create another image C from the second copy that contains only the differences between original A and B. Should be easy, just take the second copy and use the Apply Image command of Photoshop with the blend mode Subtract with A as target and B as source and be happy. Unfortunately there is a catch.

Photoshop only allows values between 0 and 1 as result, everything below 0 and above 1 gets cut off. Not a very good idea when subtracting two very similar images, there will almost certainly be some pixels with values below 0. So what we actually do is:

  1. divide by 2
  2. add ½

Thus the complete information is kept. The following formula is for a pixel-value of C:

c = f(a,b) = frac{a-b+1}{2}.

It is easy to see that nothingis lost when you look at the extremes, i.e. combinations of a,b in {0,1}.

Btw, I am showing all this for one channel only, for an RGB image this can be done for each channel separately.

The result of the “subtraction” is quite similar to that of Photoshop’s own High Pass filter – not exactly surprising.

Skin-Demo-C

Note

Photoshop can handle images with a depth of 8-bit, 16-bit or even 32-bit per pixel. The 1 I talked about above correspondes to 255, 65536 or 4294967295 respectively. The apply image dialogue offers two paramerters for the blend mode subtraction, scale and offset. For our intention we need 2 for scale – that is for the aforementioned division by two, and 128 for offset. Bit hard to recognise the addition of ½, but that is what it is. Regardless of the bit depth the offset has to be specified in parts of 256, and 128 divided by 256 happens to be ½. This is confusing, and probably the reason for some more complicated workflows I have seen.

One mentioned frequently is this (for 16-bit images):

  1. invert image B
  2. add the result to A
  3. set the scale-parameter to 2 (i. e. divide by 2)

Looking at the math I wasn’t able to find any difference to my method. My practical tests didn’t show any either, neither for 8-bit nor for 16-bit images. If you know that inversion just means subtracting the pixel value from 1, the formula is easy:

frac{a+(1-b)}{2} = frac{a-b+1}{2} = frac{a-b}{2}+{1/2}.

So the answer to question three is: there is no difference.

Reassembly

Now we just need another blend mode that can reassemble the two images B and C so that, if both are unchanged, we get A again. Simply adding the pixel-values won’t work of course, we scaled and shifted the result of the subtraction. So we need to find the reverse operation. So we subtract ½ from C, multiply the result by 2 and add B.

f(b,c) = 2(c-1/2) + b = 2c - 1 +b = b + 2c -1.

Surprisingly this is exactly the formula for the Linear Light blend mode. So my first question is answered as well: Linear Light is the reverse of Subtraction.

Using the Frequency Separation Technique

In practice you will of course not use Apply Image to join the hard-won separate images immediately again. You will instead use both images as layers, C over B, and set the blend mode for C to Linear Light. So you keep two layers you can work on separately. Of course you can add layers between the two, for example for non-destructive retouching. In the example I was able to remove the red spot while keeping the texture. Retouching is not within the scope of this article.

Skin-Demo-Final

The remaining answer to question two you will find in my little series on Blend Modes – with more math and simulations.

I hope you liked my little excursus on frequency separation. If you have questions or find mistakes, do not hesitate to leave a comment.