graph3 · film scanning pipeline
Why negative inversion must happen in linear space — and how a Lightroom import tone curve applied before inversion permanently destroys toe and shoulder detail that was present in the original scan.
Adobe Color, Camera Standard, or any
manufacturer profile, Lightroom applies a DCP (Digital Camera Profile)
that contains a tone curve and often a look table. The tone curve is
an S-shaped function that lifts shadows, adds contrast in the midtones,
and rolls off highlights. For direct photography this looks
pleasing because it mimics the response of negative film.
For a scan of a negative, it is the wrong operation — it applies
a film-like response on top of data that already encodes film
response, and does so before the inversion that is needed to
convert the negative into a positive.
v → 1 − v. It is only
mathematically meaningful when v is a linear representation of
the scene — specifically, a value proportional to the transmittance
T at each point of the negative. If a tone curve has already been
applied, v is no longer proportional to T. It is a bent, compressed
version of T. Inverting it with 1 − v produces a result
that is the inversion of a bent curve, not the inversion of the
underlying scene luminance. The toe of the original negative
(dense shadows, low T) was lifted by the tone curve before inversion;
after inversion it becomes a compressed highlight. The shoulder
(thin highlights, high T) was compressed by the tone curve; after
inversion it becomes a blocked shadow. These are not
recoverable errors — the tonal relationships have been permanently
scrambled. No adjustment in Lightroom after inversion can undo
a non-linear operation that was applied before inversion.
Linear profile in the
Basic panel, or using a plugin such as Negative Lab Pro which
handles this automatically. With a linear import, the data passed
to the inversion operation is proportional to transmittance, the
inversion is arithmetically correct, and the resulting positive
has intact tonal relationships from toe to shoulder. Gamma encoding
— the v^(1/2.2) step that prepares the image for display
— is then applied as the final step, either by Lightroom's output
transform or by the operating system's colour management pipeline.
This is the only order in which all three operations (normalise,
invert, gamma-encode) produce a mathematically correct result.