darktable 3.2: containment effect!

Yes, of course, I am using the unexposed part between the frames. Depending on how I draw the rectangle, the results differ widely in the (more or less) same area. Thanks again for your help!

So I dug out some old negatives of a trip to Paris back in the 1990s, and thought I’d give it a whirl. It’s amazing seeing images I took so long ago burst to life on the screen!

Anyway, what I think is happening is that you are zoomed in more than 100%, and in the top example you have sliced off a very thin region that may be too thin to contain any pixels, and so when the empty region is averaged out, the Dmin sliders all get set to zero. It is better to take a larger region if possible, so you are doing an average over a greater number of pixels. The bottom example has a wider strip that is picking up pixels, and the Dmin sliders are set to something sensible.

1 Like

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.

Thanks for the feedback, we’ll see what we can do about some of those points.

@David_LaCivita
The installer didn’t run because it detected that you already had a lua directory installed. You can move the lua directory to lua.old, then start darktable and it the installer will run. It will copy your luarc to luarc.old and install a new one that starts script_manager

When using the color pickers, you really need to watch out for dust and scratches. These will capture a lot of light during the scanning process and will make any measurement wrong.

Default settings aim at recovering details in shadows. Just change the print black value.

If your inverted image is bright, it means your negative is scanned underexposed, which also explains the grain. Check your scanner settings and expose as much as possible below clipping. Your scan histogram, before enabling negadoctor, should span as wide as possible without clipping (scanning is about getting details, not about getting a pretty tone rendition). Then, the look and tone rendition is something to care about when adjusting sliders.

  • Scan exposure bias should be sampled on low-lights or on the whole picture (it takes the min RGB of the selected zone) and double-checked by ensuring the left part of the histogram doesn’t clip,
  • Highlight white balance can be sampled on the whole image (it takes the average of the selected zone) or on grey objects for a more accurate detection (if you have any).
  • Print exposure can be sampled anywhere (it only takes the max of the selected region) or on highlights, and double-checked by ensuring the right part of the histogram doesn’t clip.

But, again, watch out for dust and scratches, and select zones around them.

Yes, that bad. Unless it has many different colour casts, in which case the average should be neutral grey, as per the “grey-world” assumption.

Scan exposure bias is technical and ensures a proper zero-ing of RGB values for the next operation. It aims at spreading the histogram properly between 0 and 1 early, providing normalization and robustness to the following operations. Use that first.

Paper black, paper grade and print exposure are exactly a slope/offset/power, as in color balance : they bake a creative tone curve to enforce your contrast intent after the inversion, at the end of the module. The equation is out = (RGB × exposure + black)^{grade}.

In case of a doubt, set the controls in the order of the GUI (tabs from left to right, top to bottom) and ensure the result looks good after each tab/step. The controls are layed out in the GUI in the very order they are applied in the pixel filter, so you can’t go wrong if you follow that path.

2 Likes

Many thanks for the explanation.
I always follow the order in which the sliders appear. Sometimes the image looks good after the first two tabs of film properties and corrections. Then, when I do the print properties tab, the various color pickers make the image go brighter, then darker, then brighter again, and I end up with an image ostensibly the same as after the corrections tab. I realize that there probably are differences, but it “feels” as though I’m just doing extra steps for little gain. The differences may be more obvious with a high quality photo, of course - a lot of my negs are old and poor quality.

In terms of ensuring the image looks good after each step, this is really useful information. I had previously thought that subsequent sliders would correct issues, but from what you say, I should adjust each slider to make it look good before moving on to the next slider. For example, if paper black blows the highlights with the color picker, I should dial it down before moving on to paper grade and print exposure adjustment (which often fixes the blown issue). Is that right?

And finally, what if, after doing all the steps, I have tonal/exposure edits I still want to make, either out of necessity or for creative reasons (e.g. more/less contrast, lifting shadows, etc.)? Should I use the sliders in negadoctor for this (which might mean going back to earlier in the negadoctor workflow), or is it best then to move on to eg. color balance, tone equalizer, etc.?

By the way, I love the module, so consider me a very happy user.

1 Like

My bad. Each step == each tab.

In the first tab, Dmax will set white and scan exposure bias will set black. Once both are done, the image should look reasonably contrasted with no clipping.

In the last tab, paper black will set black and print exposure will set white. Once both are done, again, the image should look reasonably contrasted with no clipping (although you can accept a slight highlights clipping, see after). Then, the grade is the cherry on top, to manage the overall contrast, and the paper gloss helps bringing back the highlights.

Negadoctor is designed to help you achieve a virtual print, so it gives you everything an enlarger and paper have to offer. But then, feel free to stack whatever works on top to achieve the look you want. However, if you go back in negadoctor’s settings, only perform minor fine-tuning, otherwise you will end-up in a nightmare. The creative part is mostly the print tab for tones and contrast, and the corrections tab for colors. The first tab is technical and should better not be touched once set.

Also, you will need to move tone EQ after negadoctor in the pipe, because it is not meant to work on negatives.

Cool :slight_smile:

2 Likes