In film photography forums, the same question keeps coming back: what light do you actually need to scan a negative “correctly”? From there it turns into an argument about CRI 99, about 660 nm LEDs, about how Frontier skin tones look alive while Noritsu looks plastic — or the other way around, depending on who’s talking.

What’s always bothered me about this argument is how few actual numbers are in it. So I worked through six primary research works from 2018–2026 — peer-reviewed papers, conference work, and the foundational 2018 scanner-interaction report — checked the numbers against the source text, and then sat down with the published data to calculate the things the papers mostly describe in words.

The result was surprising in two places. First, matrix conditioning alone cannot meaningfully settle the “660 or 680 nm” argument: in this model, those choices sit on essentially the same broad plateau. Second, the biggest problem in film scanning may not be the spectrum at all.

The rest goes from general to technical. If you don’t need the formulas, read Part 1 and Part 3.


Part 1. Four different questions hiding under one word

Most of the confusion in this topic comes from the fact that “accuracy” means four different things, and their optima don’t line up.

Measuring the film. Finding out how much light the film transmits at each wavelength. This is pure metrology: transmittance T(λ) and optical density D = −log₁₀(T).

Recovering dye concentrations. A color negative’s image is formed by three dyes: cyan, magenta, yellow. Often what you actually need isn’t the spectra but their local concentrations — and here the scanner’s spectral sensitivity doesn’t need to resemble the human eye at all. If anything, the bands should be deliberately spread apart so they’re less likely to be confused with each other.

Reproducing how the material looked. How this frame appeared when projected onto a screen. Here the projector’s illuminant, its optics, scattering, and the standard observer all matter.

Getting a picture you like. That’s taste and rendering, not measurement.

Plutino and colleagues’ 2025 paper puts the same idea more bluntly. The authors identify three digitization goals and add a verdict on the first one: reproducing the film’s physical transmittance is technically unachievable because of glare inside the optical path. They also note, separately, that most workflows claim the first goal while actually delivering the fourth.

The first question in any “ideal scanner” discussion shouldn’t be “which LED” — it should be “what are we optimizing for.”

Three dyes that get in each other’s way

Here’s the core physical reason the whole rest of the story exists.

Chatterjee et al. 2023 figure showing normalized narrow-band sensitivities and analytical dye density curves for a neutral-black patch Top left: normalized sensitivities of three narrow capture bands. Bottom left: analytical density curves of the film’s layers at a neutral-black patch (dashed: base). Right: a map of twelve absorption events — three channels against four layers. Chatterjee, Trumpy, Ruedel, Heritage 6(4), 3418–3428 (2023), DOI 10.3390/heritage6040181, CC BY 4.0.

Every dye has its own primary absorption peak, but the spectra are broad and spill into their neighbors’ territory. The red channel doesn’t just measure the cyan dye. Green doesn’t just measure magenta. Blue doesn’t just measure yellow.

So the three numbers a scanner reads aren’t three dye concentrations. They’re three mixtures. Getting the actual concentrations out requires an explicit separation step — not “invert the negative with curves and call it done.”

Why CRI is beside the point here

CRI describes how well a broadband source renders the color of reflective objects relative to a reference illuminant, in the context of human vision.

A scanner solves the inverse problem: it measures the transmittance of a known object. What matters for that is different — that each channel’s spectrum be known and stable. The difference between CRI 95 and CRI 100 tells you almost nothing about how well a system will separate dyes.

For a camera-based scan with a white light panel, CRI stays a useful rough characteristic. For a narrowband scanner with sequential illumination, it’s simply not the right metric.


Part 2. Technical: how much the wavelengths actually matter

What a channel actually measures

The signal of one channel at one pixel is proportional to the film’s transmittance, integrated across wavelength (λ) and weighted by three things at once: the light source’s own spectrum, the sensor’s quantum efficiency, and the optics’ transmittance.

Multiply those three weighting factors together — source spectrum × sensor quantum efficiency × optical transmittance — and you get the system’s effective band: the actual spectral window that channel is sampling, as opposed to the wavelength printed on the LED’s datasheet.

Chart comparing a narrow and a broad spectral band against a sensor’s quantum efficiency curve, and the resulting centroid shift as a function of bandwidth Illustrative QE model, not a measured sensor. Top left: a narrow 20 nm band. Top right: a broad 100 nm band. Bottom: centroid shift as a function of bandwidth. The purpose here is to show how a sloping detector response changes the effective band, not to characterize any particular CMOS sensor.

Here’s a trap worth walking through, because the intuition is so tempting. Silicon’s sensitivity drops off toward the far red, so you’d expect the effective band to shift toward shorter wavelengths — “660 nm on the LED” turning into something like 655 nm in the system. I ran the numbers to check.

Band widthCentroid shiftLight rejected by this illustrative QE model
5 nm−0.04 nm~58%
20 nm−0.3…−0.6 nm~58%
40 nm−1.1…−2.3 nm~58%
100 nm−7…−13 nm~59%

For a narrow band, there’s no meaningful shift. A 20 nm-wide Gaussian is too narrow to feel the QE slope — its center moves less than a nanometer. So 660 nm on the LED genuinely gives you 660 nm in the channel.

The shift only becomes real for broad bands. For a broadband white LED it can reach 7–13 nm, and that matters: it’s exactly why camera-scan channels are so hard to characterize from datasheets alone.

What QE actually costs you is photons. In this illustrative detector curve, roughly half the far-red photons are rejected relative to an ideal 100%-QE detector, almost regardless of band width. The exact number is sensor-specific. The point is that this is primarily a question of exposure time and signal-to-noise ratio, not of where the band’s center sits.

The practical takeaway still stands, just for a different reason: measure your system’s real B(λ) instead of trusting the nominal LED wavelength. Real parts can differ from their nominal peak within the manufacturer’s binning and tolerance, temperature moves both peak and output, and the separation math depends on the whole shape of the band rather than only its midpoint.

The separation matrix and its conditioning

The linear density model is straightforward: the three measured densities equal a 3×3 separation matrix (call it A) times the three true dye concentrations, plus an offset. To recover the concentrations, you invert that matrix and apply it to the measured densities.

Each element of matrix A is computed by integrating a dye’s density curve over one capture band, normalized by that band’s total weight — this formula comes from the 2023 paper.

Everything downstream depends on how well this matrix inverts. The measure is the condition number κ(A). The larger it is, the more density-measurement noise gets amplified in the concentration estimates.

To see how large the effect is, I digitized the published dye curves, built the matrix for different band sets, and compared them under the same assumptions.

A disclaimer that matters more than the numbers themselves. The curves come from a published figure for a late-1970s reversal film, and the cyan dye in that particular sample had faded. This is a model, not a measurement of modern Portra. It captures the order of magnitude and the shape of the trends — not the exact optima for any specific current emulsion.

There is also a mathematical caveat. The absolute value of κ(A) depends on how the dye basis is scaled: change what counts as one unit of cyan, magenta, or yellow concentration and the columns of A change with it. Here I keep one fixed basis throughout, using the published analytical-density amplitudes directly. That makes κ useful for comparing nearby acquisition schemes inside this calculation, but it should not be read as a universal, basis-independent score for scanner quality.

A real scanner adds another layer: the channels do not have equal noise. LED power, film density, exposure time, sensor QE, shot noise and read noise all differ by wavelength. For an actual hardware optimization I would therefore go beyond κ and propagate the measured per-channel noise into the dye estimates directly: weight each channel’s contribution by its actual measurement noise (not just its position in the separation matrix), then invert that noise-weighted system to get the covariance of the recovered concentrations.

That is the quantity that can eventually answer a practical question such as 660 versus 680 nm for a specific LED, sensor and film stock — not conditioning alone.

Narrow bands versus broad bands

Comparison of narrow 20 nm bands versus broad overlapping 100 nm bands against the same dye curves Top: narrow 20 nm bands. Bottom: broad, overlapping 100 nm bands. Same dye curves in both.

Band setκ(A)Noise gainCross-talk B / G / R
447 / 544 / 672, FWHM 5 nm1.361.15×19% / 17% / 9%
447 / 544 / 672, FWHM 20 nm1.381.18×20% / 18% / 9%
450 / 540 / 660, FWHM 20 nm1.391.20×20% / 18% / 10%
447 / 544 / 672, FWHM 40 nm1.451.27×21% / 21% / 10%
455 / 545 / 615, FWHM 80 nm2.572.33×30% / 30% / 35%
460 / 550 / 610, FWHM 100 nm3.633.29×36% / 37% / 41%

In this calculation, the difference between a narrow and a broad scheme isn’t merely “somewhat cleaner.” It is roughly a factor of 2.8 in noise gain under the same dye basis and noise assumptions.

Chart showing cross-talk between color channels as a function of band width Cross-talk: what fraction of a channel’s signal comes from a dye that isn’t “its own.” At the widest bands, up to 41% of the “red” channel isn’t the cyan dye at all.

To be fair, narrow bands have a downside too, and the 2021 paper describes it. If the goal isn’t measuring the material but reproducing how it looked, narrow bands produce an oversaturated image. On a well-preserved projection print that’s straightforwardly wrong. The same authors showed a 3×3 correction matrix reduces the oversaturation, but multispectral capture still stays noticeably more accurate.

And there’s one more detail almost nobody mentions: the conventional three-band narrow-RGB arrangement, with bands placed near the main C/M/Y absorption regions, leaves a sensitivity gap around 600 nm. The 2021 authors call this gap “dangerous” and point to a specific consequence — the absorption of certain early-20th-century blue toning dyes falls there, so a scanner optimized only for the conventional three regions can largely miss that information.

660, 672, or 680 nanometers

This is the argument itself. Here’s the answer.

Chart of condition number as a function of the red band’s center wavelength, showing a flat plateau Condition number as a function of the red band’s center. Pink shading marks the zone within 3% of the optimum.

  • κ(660) = 1.384
  • κ(672) = 1.376
  • κ(680) = 1.369

Spread: 1.1%. The zone within 3% of the optimum stretches from 647 to 685 nm. Below 645 nm, though, the condition number starts climbing sharply: 1.52 at 630 nm, 1.62 at 620 nm.

Verdict: in this model, the conditioning criterion cannot meaningfully tell 660, 672, and 680 nm apart. What it can distinguish is the broad long-red plateau from substantially shorter red wavelengths. Choosing within that plateau comes down to other factors — the measured QE of the actual sensor, the radiant power and stability of the specific LED, the photon budget, and where the particular film stock’s cyan-density spectrum actually sits.

For the other channels, the plateaus are: blue 427–459 nm, green 535–556 nm. Green is the fussiest, which makes sense — it’s squeezed between two neighbors.

How narrow should the bands actually be

This is where it gets genuinely interesting. Naive logic says: the narrower the band, the cleaner the separation, so go to 5 nm. But a narrow band has two problems: too few photons, and high sensitivity to drift.

How high? The 2021 paper has a measurement worth remembering for anyone building an LED panel.

Figure from Trumpy et al. 2021 showing ten multispectral bands and the thermal drift of a single LED over three minutes Left: the ten bands of a multispectral system, spaced evenly from 400 to 680 nm. Right: what happens to a single LED over three minutes of operation — measured every ten seconds, the peak drifts from 600 to 606 nm and intensity falls by nearly half. With heatsinks attached. Trumpy, Hardeberg, George, Flueckiger, Proc. SPIE 11784, 117840Z (2021), DOI 10.1117/12.2592655 — © SPIE, used with permission.

What does that mean for the separation calculation? In this model, shifting the selected band by 6 nm while continuing to use the separation matrix calculated for the original band produces roughly a 2.5% dye-estimation error — larger than the entire conditioning difference between 660 and 680 nm. And the near-halving of intensity, if the white reference is not updated for the actual exposure, reads as a 0.30 D rise in measured density. That is not a subtle effect.

A heatsink alone does not fix this. It slows the drift, but does not eliminate the need for calibration. What makes the measurement robust is a live optical reference acquired with the scan. In the 2021 research system the perforation provides a clear-path reference that is tied back to the white frame. An unexposed piece of film is not quite the same thing, because it still contains the base and mask; for a purpose-built scanner I would rather use a dedicated clear reference aperture beside the film, or a reference photodiode that monitors the illumination directly.

Six nanometers of drift is not a minor inconvenience. If the separation matrix was computed for one effective band while the system is actually measuring with another, the mismatch goes straight into the concentration estimates. Using the measured 6 nm shift as a stress test gives:

Chart of condition number and drift-induced error as a function of band FWHM

FWHMκ(A)Loss vs. 5 nmError at 6 nm drift
5 nm1.3582.68%
10 nm1.362+0.3%2.59%
20 nm1.376+1.3%2.47%
30 nm1.405+3.5%2.30%
40 nm1.448+6.6%2.12%
60 nm1.57+16%1.84%

Narrowing from 20 to 5 nm buys you 1.3% of conditioning and sells off drift resilience. Plus photons.

For this class of design, 15–30 nanometers looks like a sensible starting range — conveniently close to where many practical narrow LEDs already land. That is an engineering starting point, not a universal optimum.

Worth noting the operating mode too. If exposure time is tuned per channel independently (research systems do this, up to 70% of pixel well capacity), the photon budget evens out and only conditioning matters. If exposure is fixed, photon count scales with band width, and this model’s optimum drifts out toward 65 nm. In other words, “correct” band width depends on what’s actually scarce for you — time or accuracy.

What a fourth channel buys you

Chart showing noise multiplier for each dye’s concentration estimate with 3, 4, and 6 capture bands

Noise multiplier for each dye’s concentration estimate:

SetκYMC
3 bands, 447/544/6721.381.061.051.02
4 bands, +6101.561.061.040.87
4 bands, +6851.681.061.050.73
6 bands1.871.030.950.67

Under this particular model, almost all of the benefit goes to cyan: a second red channel cuts the estimated noise on cyan by 28%, while yellow and magenta barely move.

The reason is the shape of the curves. Yellow and magenta have compact peaks, and a single band already captures them well. Cyan is broad and stretched out, and extra sample points on its slope carry the most additional information.

So the idea of “add a second red channel” is interesting, but it needs to be framed differently. It is not a candidate to replace the main red channel — it is an additional measurement for refining the cyan estimate, worked in through least-squares across four measurements.

Notice that κ itself becomes less informative here: the 4×3 system is overdetermined, and its condition number can worsen even while the variance of one dye estimate improves. Once there are more measurements than unknowns, the per-dye estimator covariance is the more useful quantity to watch.


Part 3. What hurts color more than wavelength choice

While we were all arguing about 660 versus 672, this was happening right next to it.

A 2025 paper measured something simple. Take the same black patch and look at it twice: once in a uniformly dark frame, once surrounded by bright white. The ratio between these two readings is what the authors call Context Glare.

Spread across twelve production scanners:

minimummaximum
Positive scans×1.056 (Scanner 9)×3.487 (Scanner 12)
Negative scans×1.318 (Scanner 10)×10.315 (Scanner 9)

Ten times over. The exact same black, sitting next to bright content, reads ten times lighter. On two machines the black patch simply read as [0,0,0] — an undefined metric, which by itself gives away internal processing.

Light scattered inside the optics lifts the signal in the shadows. The error depends on what’s drawn next to the thing you’re measuring.

And here’s why this matters fundamentally: a global LUT cannot fix this. A LUT assumes one input value maps to one output value. Here, the same physical density measures differently depending on its neighbors. The scanner stops being a lookup table and becomes a spatially-dependent operator. The paper says this outright, in the section discussing LUT limitations.

What this means for a face in frame: a face is smooth, small variations in density and chroma, usually sitting next to highlights, shadows, hair, and background. Any veiling glare compresses exactly those small differences. So for “the most lifelike skin tone,” my engineering inference is that low-glare optics may matter more than the choice between 660 and 672 nm. The 2025 paper did not run a controlled skin-tone experiment; the point follows from the spatial nature of glare and the small density differences that faces contain.

Bar chart of Context Glare measurements across twelve production film scanners, from the original paper Context Glare results from the original paper. Plutino, Armellin, Sarti, Rizzi, SIViP 19:976 (2025), DOI 10.1007/s11760-025-04569-8, CC BY 4.0.

Three more practical findings from the same paper:

  • Sensor type doesn’t correlate with glare level. A monochrome CMOS sensor alone doesn’t make a system good.
  • In this dataset, the systems using 65 mm lenses showed less glare than the compared systems using 105 mm lenses. That is an observed association, not proof that focal length itself caused the difference.
  • The tested wet-gate configuration had negligible effect on Context Glare. Wet gate can still be extremely useful for scratches and surface boundaries; it simply did not remove the internal spatial glare measured here.
  • One machine’s elevated glare was linked to optical aging — meaning this is a parameter that degrades over time and needs periodic re-checking.

Why Frontier and Noritsu look different

Chart comparing computed ADX curves to values actually output by film scanners Computed ADX curves versus what scanners actually output. Plutino, Color Research & Application 49(6), 609–617 (2024), DOI 10.1002/col.22946, CC BY.

Here’s how those same machines’ tonal curves diverge on the exact same test reel.

Tonal distribution figure across twelve scanners for positive and negative scans, compared against the film’s actual spectrophotometer-measured transmittance Tonal distribution for twelve scanners — top: positive scans, bottom: negative scans. Black traces the film’s own transmittance, measured with a spectrophotometer. On positive scans, some machines track the film faithfully while others push toward an exponential curve; on negative scans nearly all of them stay close to linear. Plutino, Armellin, Sarti, Rizzi, SIViP 19:976 (2025), DOI 10.1007/s11760-025-04569-8, CC BY 4.0.

A 2024 review scanned an ARRI AQUA test reel on nine scanners from six manufacturers. Result: seven machines out of nine (five of the six manufacturers) apply ADX encoding when scanning negatives.

ADX is Academy Density Exchange — printing density encoding. Its spectral sensitivities are defined not by what’s on the film, but by how that film would be printed: the spectrum of a Bell & Howell C printer lamp, a Wratten 2B filter, and the sensitivities of current print stocks.

The red channel’s ADX16 value, for instance, works out to: take the red Academy Printing Density, subtract its Dmin value, multiply by a gain of 1.00 and a scale factor of 8000, then add an offset of 1520. Green and blue use the same formula with gains of 0.92 and 0.95 respectively.

Those per-channel gain coefficients — 1.00, 0.92, 0.95 — exist precisely because modern negatives don’t behave in a standardized way.

Add proprietary internal LUTs on top, sometimes non-disableable, sometimes fully or partially adjustable. Add manually set Dmax and Dmin. Add curves tuned to specific stocks. Add operator habits.

The simple consequence: you cannot attribute the difference between two scanners to illumination spectrum without first ruling out processing. And one more thing for anyone working with DPX files: metadata about the transform applied often doesn’t match reality. The 2025 paper found files labeled “linear” that weren’t, and vice versa.

The most unexpected turn

The 2024 paper adds an important twist to the wavelength argument. In a printing-density workflow, scanner spectral responsivities can be designed to follow Academy Printing Density (APD) behavior. That means a commercial scanner’s spectral design may be tied not only to the physical dye absorptions, but also to the density representation and downstream DI workflow it is meant to serve.

That does not contradict the 2018 Scanity description. Flueckiger and colleagues report that Scanity uses spectrally separated LED clusters specifically so the illumination can be tailored to the density spectra of the emulsion layers while minimizing unwanted spectral energy. They also give the actual centers: 445 nm blue, 530 nm green, 660 nm red for IMED/NEG, and 690 nm red for PRINT. The scanner physically contains two red LED sets and selects between them according to film type.

That is a much more interesting result than “660 nm is the magic number.” It shows that 660 nm is a validated professional engineering choice for negative scanning, while 690 nm is used for print material — and the same scanner changes its red measurement according to the material.

So citing “the top-tier scanner uses 660 nm” as proof that 660 nm is the universal optimum for C/M/Y separation is still incorrect. What it proves is that 660 nm works inside a successful professional design. The reason for that choice can simultaneously involve dye-density separation, stock compatibility, APD/printing-density behavior, sensor characteristics, and the intended workflow.


Part 4. What a spectral approach buys you on faded film

Before jumping to hundreds of bands, it’s worth looking at what a method using three narrow bands plus a dye model already achieves.

Comparison figure showing spectral-density-based restoration versus RGB-curve restoration across five frames Comparison across five frames: top row, restoration from spectral dye densities; bottom row, what ordinary RGB curves manage to achieve. The RGB version isn’t a straw man here — it was fitted with an algorithm that minimizes the difference from the spectral result. Chatterjee, Trumpy, Ruedel, Heritage 6(4) (2023), CC BY 4.0.

The authors’ conclusion is qualitative: skin tones come out more natural and less magenta, and small color differences are better distinguished. There’s no numeric metric for faces in the paper — the one objective measure is the grey-scale trajectory in the a*–b* plane, which is tighter for the spectral method.

Part 5. Hyperspectral: what it actually buys you

The obvious next step isn’t three bands or ten — it’s two hundred forty. A 2026 paper does exactly that: hyperspectral imaging of unevenly faded frames, plus an automatic correction algorithm based on clustering.

The system: a spectrograph capturing 2048 wavelengths across 338–1025 nm, 0.3 nm steps, 2.5 nm spectral resolution, producing a processed cube of 1000×1200 pixels across 240 bands.

An important detail that’s easy to miss: this was shot in reflection. Frames sat on a Spectralon white reference standard, which doubled as both mount and calibration target. That’s a different physical setup than transmission scanning.

And here’s the result.

Table comparing ΔE color error between uncorrected frames, the 240-band hyperspectral method, and manual DaVinci Resolve grading

FrameBefore correctionHyperspectral (240 bands)DaVinci Resolve, by hand
S228.335.196.60
S36.032.642.93
S424.484.124.60

Two hundred forty bands, clustering, Gaussian mixtures, spectral correction — versus a colorist sitting in DaVinci with masks. The gap: 0.3 to 1.4 units of ΔE.

The authors admit this candidly: “the closeness of final values suggests that good restoration results are achievable by either method.” Their real argument isn’t accuracy — it’s objectivity and reproducibility. The algorithm doesn’t depend on the monitor, the operator’s skill, or their mood that day.

One more number from the same paper: the first three principal components explain more than 88% of the variance in their hyperspectral data. That doesn’t mean “RGB captures 88% of the information in film” — the calculation was made to justify using RGB for the segmentation step, on four frames of a single reel, in reflection. But it does line up well with the fact that a three-dye material genuinely has low intrinsic dimensionality.

Diagram of the hyperspectral imaging system and PCA results Hyperspectral system and PCA results. Catelli et al., RSC Advances 16, 12511–12523 (2026), DOI 10.1039/D5RA08504G, CC BY-NC 3.0.

These results do not provide evidence that hundreds of bands would deliver a comparably large advantage on fresh, known, trichromatic C-41 material. The experiment is simply too different — faded film, restoration, a preserved reference, and reflection rather than transmission — to make that leap.

That said, multispectral capture stays irreplaceable exactly where it was designed for: unknown dyes, early toning and tinting processes, uneven degradation, conservation science, diagnosing deterioration mechanisms.


Part 6. What this means in practice

On light. For a modern C-41 research scanner, start with narrow bands rather than broad camera-like channels, but don’t overdo it: roughly 15–30 nm FWHM, blue around 440–455, green around 535–550, and red somewhere in the broad 650–685 region. These are search ranges, not proven universal optima for current Portra, Gold or Ektar. Scanity’s verified professional reference points — 445 / 530 / 660 nm for negative work, plus 690 nm for print — are especially useful test anchors.

On stability. In the calculation above, a 6 nm band shift creates a larger separation error than the conditioning difference between 660 and 672 nm. That makes thermal control and live referencing higher priorities than chasing a nominal wavelength to the last nanometer: metal-core board, heatsinking, temperature monitoring near the LEDs, stable-current drive, repeatable operating timing, and a clear optical reference or monitor photodiode.

On the sensor. Monochrome plus sequential illumination is the right measurement architecture, because every pixel gets all channels without interpolation. But by itself it guarantees nothing.

On optics. Measure glare, not just resolution. Matte black baffling, a mask around the frame, minimum extra glass, no stray bright light outside the field of view — and re-check it over time.

On data. Your master should be linear per-channel transmittance, not a finished positive. A positive is a render. And you need to measure your own system’s characteristics yourself, because the metadata lies.

On the math. Three channels aren’t three dyes. There needs to be an explicit separation step between the measurement and the picture — ideally built on actual dye spectra, not curves adjusted by eye.

On priorities, ranked by effect size: glare → internal processing and encoding → source stability → correctness of the separation model → and only then, the exact wavelength choice within a plateau.


What is still unresolved

In the interest of honesty, here is what this piece still does not answer.

The Scanity wavelengths are now directly verified from the 2018 report: 445 nm blue, 530 nm green, 660 nm for IMED/NEG, and 690 nm for PRINT, with two red LED sets selected according to film type. What remains unresolved is why those exact centers are optimal for a particular modern still-film stock, if they are optimal at all.

I have not yet found publicly available analytical C/M/Y density spectra for current Kodak or Fujifilm still-negative stocks. The numerical work in this article rests on digitized curves from historical reversal-film data, including a faded cyan layer. It is useful for testing the shape of the problem, but it cannot establish the exact optimum for Portra 400, Gold 200, Ektar 100, or another current C-41 emulsion.

None of the source studies is a controlled experiment on fresh modern still C-41 designed around skin-tone discrimination. The “more natural” skin-tone observation in the 2023 paper comes from faded historical material and is qualitative, not a measured face-specific metric.

The C-41 orange mask is also not explicitly represented in this separation model. In practice the mask is not something I want to assume is a single constant RGB offset without testing it across exposure and density. The exact image-dependent masking behavior and its interaction with a stock-specific dye model still need to be measured rather than guessed.


Sources

All six primary works were read and the quoted numerical claims were checked against the source material.

  1. Flueckiger B., Pfluger D., Trumpy G., Croci S., Aydın T., Smolic A. Investigation of Film Material–Scanner Interaction. Research report, 2018. DOI 10.5167/uzh-151114.
  2. Trumpy G., Hardeberg J. Y., George S., Flueckiger B. A multispectral design for a new generation of film scanners. Proc. SPIE 11784, 117840Z (2021). DOI 10.1117/12.2592655
  3. Chatterjee S., Trumpy G., Ruedel U. Digital Unfading of Chromogenic Film Informed by Its Spectral Densities. Heritage 6(4), 3418–3428 (2023). DOI 10.3390/heritage6040181 — CC BY 4.0. Open data: https://folk.ntnu.no/giorgiot/MDPI_Heritage2023.zip
  4. Plutino A. Color systems for motion picture film digitization: A critical review. Color Research & Application 49(6), 609–617 (2024). DOI 10.1002/col.22946 — CC BY.
  5. Plutino A., Armellin L., Sarti B., Rizzi A. Tonal distribution and glare assessment in cinematographic film scanners. Signal, Image and Video Processing 19:976 (2025). DOI 10.1007/s11760-025-04569-8 — CC BY 4.0.
  6. Catelli E., Liu L., Fadanni J., Stergar J., Milanič M., Sciutto G., Zerbetto F., Prati S. Rediscovering lost colors: film color restoration by hyperspectral imaging and cluster-based spectral correction algorithm (CBSCA). RSC Advances 16, 12511–12523 (2026). DOI 10.1039/D5RA08504G — CC BY-NC 3.0.

Standards referenced: SMPTE ST 2065-2:2020 (Academy Printing Density), SMPTE ST 2065-3:2020 (ADX), ISO 9358 (veiling glare), ISO 5-3 (Status M).