Exported RAW has less contrast than in darkroom preview in Darktable

The two images side by side, first one from within darktable, second the exported one:


export settings: jpg 95% quality, uspcaling+resampling allowed (however I tried a lot of different combinations and none of them helped). I have also tried different viewers (ubuntu native, firefox, gimp, but it’s all the same)

It’s the first time I encounter this problem, at least the first time I noticed it. I recently started using the filmic RGB module, and (after having tried to figure out what was going on) I suspect that it has something to do with the issue. The base curve is turned off.
I have now two filmic RBGs applied after oneanother, but I had the exact same issue with only one.

Could anyone point me somewhere how to figure this out? Many many thanks, it’s driving me crazy

The RAW and its xmp file:
DSC07207.ARW (23.7 MB)
DSC07207_02.ARW.xmp (37.4 KB)

Welcome to pixls.us!

I see the same in the darktble preview, when zoomed out. At 100% the images are identical.

I don’t see a difference either:

Left side is darktable 100% zoomed in and right side is the exported jpg at 100% in XnView.

Which viewer do you use to show the exported jpg? Both my darktable and XnView are colour managed. Maybe your viewer isn’t or can’t be colour managed?

Geeqie vs darktable master - the difference is there:


Also Gimp vs darktable:

Exported JPG

Yes, the problem is the too dark zoomed out preview in the darkroom. 1:1 is okay.

1 Like

Must be a zoom thing, 'cause this is darktable vs gimp:

No difference, both at 100% zoom.

Thank you for all your replies, really appreciate it! It’s a good point, that once zoomed in the difference is not soooo obvious anymore, but it’s definitely still very much visible:

Look how the previewed image in DT is way more noisy, and has deeper blacks.

The viewer I’m using is Gnome’s ImageViewer, but the differences did not go away even when I tried using other ones.

edit: is there a way to change viewing settings within DT? I’m confused by how different the same image looks within your instances

Last I checked, this app was not color managed. YMMV

This is the 1:1 darktable screenshot over the exported image in difference merging mode, aligned with pixel precision:

There is a bit of a difference, as the screenshot is in my monitor’s colour space (even though untagged by the screen capture tool), and the other is the exported image in sRGB.

Unfortunately, getting exact processing in the preview would mean performing the equivalent of an export all the time, which is much slower than the so-called preview pipeline. The preview is the equivalent of a reduced-size export with the high quality resampling option turned off.

Tried it with geeqie now, still the same issue…

Is there any way to mitigate it to some extent? I understand the reason why it cannot provide and exact preview, but the size of the difference is just huge…

Yes, but I think it’s especially bad with this type of “pointillistic” image. Other images might be less problematic.

1 Like

Just a little while ago, I raised an issue regarding the preview, but the explanation was that fixing it would make editing very slow.
See https://github.com/darktable-org/darktable/issues/10899

Maybe a button could be added to the UI: run full processing? But you can already export from the darkroom and view the output, fit to the screen, in an external viewer.

Its the whole scaling thing…export the image using the settings in export to scale…set to 0.25 …export and you will see the image will look like the dt preview at full scale…this came up with that thread in sourdough bread and the noise and the poster saw more noise in his export…again the noise in the export matched the 100 percent view but not the full preview…it seems to me that if you want a perfect match in DT then you also need to manually scale the export…

It seems to be tied to the way DT scales the screen preview…if you scale your export to .25 you will get a jpg that matches…

You are basically seeing this same thing in your image…

Interesting capture, most of the image is in the lower 3% of the sensor resolvability, but there’s still clipping, two specular reflections in the upper left…

Pulling the lower part of the image up with a tone curve revealed the shot noise in all its glory. I messed with denoise a bit, then decided to defer that until I saw what an export resize would look like:

I think what’s going on is that you’re trying to add contrast, and all that does is to make the noise more contrasty. Resize for export mitigated it, but you probably need to put denoise before the tone curves…

I may have mislead you by the link I included…the issue that the OP sees is that DT exports true to 100 % The full screen preview on a monitor scaling shows or can show quite a different version of the image. that can be matched if you scale the output the same way before export…noise is just a good way to visualize that in action…it was just the starting point in that thread for that discussion

1 Like

The lower end is dominated by read noise.

1 Like

It really depends on the setting of high quality resampling. Straight out of darktable, with yes and no:


What is weird (and I think we have a bug here) is the following:

  1. I reset the module, I get high quality resampling = no:
    image
  2. I switch to set size = by scale; 0.25 and do an export, I get the darker version. This is as expected (the darkroom view also uses the equivalent of high quality resampling = no for the preview).
  3. I switch to high quality resampling = yes and run another export with by scale; 0.25, I get the same output as before. bug
  4. I switch to set size: in pixels; x = 1072 (as the previously exported image is 1072 pixels wide):
    image
    I get a properly scaled-down version that matches the contrast and tonality of the 100% view.
  5. I switch to set size = by scale; 0.25 and do an export again (without touching high quality resampling = yes, as it is already set), I also get the expected outcome. This matches #4.
  6. If I now stay in by scale mode, set high quality resampling = no and export, I, again, get the preview-like output (dark and contrasty); this is expected (these are the same settings as #2).
  7. Switching back to high quality resampling = yes, the image will match the 1:1 view (like #4).
  8. Toggling high quality resampling between yes and no behaves as expected from that point on; resetting the module leads us back to #1.
1 Like

Interesting….I had always left it on yes in the past….