darktable icon indicating copy to clipboard operation
darktable copied to clipboard

Retouch: Do not show the full uncropped image if the retouch module is above the crop module

Open mfg92 opened this issue 1 year ago • 3 comments

Problem description

I often find myself in the following scenario:

  1. I crop a photo grafik
  2. Then I do some retouching to get rid of stuff that was cut by the crop. grafik
  3. I notice that the Retouch module does some smearing of colors that originate outside the crop, in this case green is smearing into the blueish background. grafik
  4. To get rid of this smearing, I move the Retouch module above the Crop module. That way, the Retouch module will not consider the colors outside the crop when it is doing its magic. grafik
  5. If I now open the Retouch module (e.g. to do more retouching), I see the whole uncropped image again and the smearing comes back. At least until I close the Retouch module again. grafik

So the major issue here is that I get inconsistent output depending on whether the retouch module is open or closed.

From my point of view, it makes no sense to "uncrop" when the Retouch module is above the Crop module. The intention behind the uncropping feature was to make it easier to source areas of the image that are outside the crop. But if the Retouch module is above the Crop module, that will not work anyway.

Preferred solution

Showing the full, uncropped image while the Retouch module is open should only be done if the Retouch module is below the Crop module. If the Retouch module is above the Crop module, simply display the cropped image.

mfg92 avatar Aug 30 '24 20:08 mfg92

Is there anything I can do to put this forward?

mfg92 avatar Oct 14 '24 16:10 mfg92

IIRC the full uncropped image is shown so that the uncropped part can serve as a source for some of the retouch operations.

EDIT: So if the retouch module is open then it's assumed that you are doing a retouch and want the maximum available content to use.

wpferguson avatar Oct 14 '24 16:10 wpferguson

I totally agree on why the change was made to show the full image when working in the retouch module: Have the full image available to source a patch from. Makes perfect sense and was a nice addition.

But I think it was not fully thought through. By default in the pipeline, the cropping happens after the retouch. So the retouch module has access to the whole image. The problem arises when the user moves the crop module before the retouch module. In this scenario, the retouch module receives the already cropped image as input. Therefore, the retouch module cannot access the image data outside the cropped area. This is perfectly understandable and works as expected. But knowing this, it does not make sense to uncrop the image while retouching in this scenario. Uncropping suggests to the user that they can use data from outside the crop, but that is not possible in this scenario.

Therefore, I suggest to make the uncropping behavior dependent on the relative order between the retouch module and the crop module.

mfg92 avatar Oct 14 '24 17:10 mfg92

@mfg92 thought about this again and i think you are fully right. While implementing the "full-view thing" i just didn't think about modules being in non-default positions.

jenshannoschwalm avatar Dec 02 '24 06:12 jenshannoschwalm