darktable-org / dtdocs

darktable user manual
GNU General Public License v3.0
74 stars 74 forks source link

Feedback on negadoctor #97

Closed matt-maguire closed 3 years ago

matt-maguire commented 4 years ago

From pixls.us, on the negadoctor entry in dtdocs:

I think it’s a great first draft. But I have a suggestion for improvement:

It would be helpful if explicit instructions were included for the parts of the image to sample when using the eye droppers. It is already clear for the colour of the film base, D-max, shadows color cast, and paper black sliders. It is not so clear for the scan exposure bias, highlights white balance and print exposure adjustment sliders.

For the scan exposure bias slider, it currently says “Again, you can use the eye dropper to allow Negadoctor to automatically calculate any needed offset.” Are we to assume we should be sampling the whole image minus the unexposed part? For the highlights white balance slider, it currently says “For highlight color casts, select the eye dropper and click and drag a rectangle across the brightest area of your image.” Does it matter if the brightest part of the image has a colour cast? Should we be aiming for a neutral white, or just any bright part (bearing in mind that the brightest part could be green, blue, yellow, etc.)? For the print exposure adjustment slider, there is currently no guidance for how to use the eye dropper. Do we assume we should be sampling the whole image minus the unexposed part?

The only other issue I have is that I don’t fully understand the real-world differences between paper black, scan exposure bias, paper grade and print exposure adjustment. The manual does a fairly decent job of explaining what their purpose is and what they are trying to achieve, but when actually using the tool, it appears as though they are all applying slightly different tone curves and that there’s some duplication. I often find that after going through the last tab, the image looks hardly any different from after completing the first two tabs. Not sure if that’s really something the manual can expand upon.

elstoc commented 4 years ago

This perhaps should be covered as part of a technical review, which hopefully @aurelienpierre can look at once the feature freeze is done. Certainly I'm not qualified to answer these questions (not having any experience in analogue photography)

aurelienpierre commented 4 years ago

The only other issue I have is that I don’t fully understand the real-world differences between paper black, scan exposure bias, paper grade and print exposure adjustment.

The most important thing to understand is film is a translucent material, and as such, "white" or "black" don't exist until we print that film on paper. All film has is densities, aka degrees of dyes opacities (expressed in log10 base).

Yet our pipeline has a rigid understanding of black and white is (black = 0 and white = 1) because our pipeline expects emissions, not densities. So we need to convert densities into emissions, but doing so, we need to anchor special density values to our pipeline understanding of black and white, while ensuring mathematical validity (namely, avoid division /0, log(0), pow(0) and negative RGB values). So, all the offsets and thresholds are mostly there to set the zeros in the transforms.

(See https://www.kodak.com/uploadedfiles/motion/US_plugins_acrobat_en_motion_education_sensitometry_workbook.pdf)

Here are the sensitometry curves of a color negative (from the above ref):  Screenshot_20201023_161255

The Dmin and Dmax are the vertical span of the curves in log10/log2 space, they help normalizing the scan contrast before going to log space. The scan exposure bias is a a vertical offset in log10 zero-ing the black value to avoid exaggerated compression of shadows.

Then, the negative is inverted, simulating what happens when you blast light through the film. But then, IRL, it would meet a photochemical paper which, again, has its own sensitometry curve:

Screenshot_20201023_161326

The curve of the paper is essentially the contrast intent. The "paper" settings will create that curve and are exactly the same as the color balance in slope/offset/power : the paper grade/gamma is the slope of the log10/log2 curve, similar to the power in color balance, the print exposure is the vertical offset in log10/log2, similar to color balance slope, and the paper black is where the density should match the zero RGB of the pipeline, similar to color balance offset. Finally, the paper gloss will produce the shoulder of the curve. The resulting tone curve, produced with default parameters, gives:

image

aurelienpierre commented 4 years ago

I guess the gist is:

  1. in "film properties" tab, we normalize the scan and film emulsion contrast between [0 ; 1]. It's technical/boring,
  2. in "corrections", we are playing God and adjusting the dyes layers density as if we were actually in them,
  3. in "print properties", we simulate the tone curve produced by a paper. It's creative.