darktable-org / darktable

darktable is an open source photography workflow application and raw developer
https://www.darktable.org
GNU General Public License v3.0
9.86k stars 1.15k forks source link

Make camera raw preview available to compare with current edit #5778

Open Waiwei8k opened 4 years ago

Waiwei8k commented 4 years ago

Camera raw preview images can be a usefulhint for raw processing. Often they contain sensible colour rendering defaults and are at least a consistent reminder of the scene as shot.

I would like a way to conveniently compare my current processed image to the RAW file's embedded jpg.

This might be a pre-populated snap-shot in the snapshot dialogue (my favourite option), a module which would introduce the embedded JPG into the pixel pipe with all the usual opacity/masking options, an entry in the duplicate manager or whatever best fits the code.

parafin commented 4 years ago

Not sure it's a good idea for general public - there's already a lot of questions "how to get the same result as camera JPEG" even without proposed easier access to it...

Waiwei8k commented 4 years ago

I don't think this will make things any worse, but certainly anyone who does want to match camera JPEG results can use this feature as a starting point. It may be a good way to keep those people happy whilst encouraging them to learn how to drive the tool. Conversely, it's often quite nice to see how much you've improved the picture over the camera's attempt.

wpferguson commented 4 years ago

There is a lua-script, examples/multi_os, that does this. The embedded jpg is extracted, imported, and grouped with the raw for each selected image.

elstoc commented 4 years ago

I like this idea but I wouldn't want it as a separate image in my library (grouped or otherwise). The embedded JPEG is already displayed in the lighttable before you load the image in the darkroom so people can already view it - it's just that the only way to keep it available (in the lighttable only) is to have a separate duplicate version with no edits.

wpferguson commented 4 years ago

The embedded JPEG is already displayed in the lighttable

Only if you leave the preview as the default. If you select half size raw, then this isn't the case.

wpferguson commented 4 years ago

Also, if you've imported the embedded jpg, then you can open it and take a snapshot, then go back to the raw and the snapshot will still be there so you can overlay the snapshot of the jpg over the raw.

elstoc commented 4 years ago

Or it could be an extra option in the duplicate module and you could do the same.

wpferguson commented 4 years ago

The duplicate is a duplicate of the raw image. The embedded jpg is a different image, extracted from the raw, so it's not actually a duplicate.

elstoc commented 4 years ago

It could have its own independent keyboard shortcut and/or button on the bottom of the darkroom then

aurelienpierre commented 4 years ago

Having that in snapshot or duplicate module is not super difficult to do, however, what should we do with cropping/rotation/perspective distortions ?

  1. Apply the same distortions on the JPEG thumbnail ?
  2. Keep it as-is ?

And if 1., how do we manage inconsistencies between OOC lens correction and Lensfun correction ? They often don't match.

elstoc commented 4 years ago

I'd say we should keep the JPEG unmodified - treat it as we would a "differently-edited" duplicate in the duplicate module. For example, the duplicate module should be able to handle images that have different crops and/or where one image has lens correction enabled and one does not. We shouldn't worry about those inconsistencies.

Waiwei8k commented 4 years ago

The JPG may well already have a lens correction applied in camera, so no need to apply that. An option to match the crop would be nice, but as a very low priority addition. Certainly not required.

github-actions[bot] commented 4 years ago

This issue did not get any activity in the past 30 days and will be closed in 365 days if no update occurs. Please check if the master branch has fixed it and report again or close the issue.

Waiwei8k commented 4 years ago

Pinging to stop auto-close. I would still like this feature.

johnny-bit commented 3 years ago

I think the best option here would be to use snapshot module for this and on opening image create snapshot from extracted JPEG preview from RAW file. Don't do ANY processing on it. Just thumbnail dump onto snapshot. And hide that behind some option. Would be usable enough IMO.

github-actions[bot] commented 3 years ago

This issue did not get any activity in the past 60 days and will be closed in 365 days if no update occurs. Please check if the master branch has fixed it and report again or close the issue.

Waiwei8k commented 3 years ago

Just pinging because I don't want this to time out.

github-actions[bot] commented 1 year ago

This issue did not get any activity in the past 60 days and will be closed in 365 days if no update occurs. Please check if the master branch has fixed it and report again or close the issue.

Waiwei8k commented 1 year ago

Another ping to keep this live.

github-actions[bot] commented 1 year ago

This issue has been marked as stale due to inactivity for the last 60 days. It will be automatically closed in 300 days if no update occurs. Please check if the master branch has fixed it and report again or close the issue.

afranke commented 7 months ago

I think the best option here would be to use snapshot module for this and on opening image create snapshot from extracted JPEG preview from RAW file. Don't do ANY processing on it. Just thumbnail dump onto snapshot. And hide that behind some option. Would be usable enough IMO

That sounds good and unobtrusive. In addition to that, it could be handy to have a side by side mode similar to culling in the lighttable, but just the snapshot idea would already be very useful.

TurboGit commented 7 months ago

I think the best option here would be to use snapshot module for this and on opening image create snapshot from extracted JPEG preview from RAW file.

This idea would fail short as it would be impossible to align properly the embedded jpeg preview with the RAW processed picture.

github-actions[bot] commented 5 months ago

This issue has been marked as stale due to inactivity for the last 60 days. It will be automatically closed in 300 days if no update occurs. Please check if the master branch has fixed it and report again or close the issue.

Waiwei8k commented 5 months ago

Pinging to stop auto-close. I would still like this feature.

ptilopteri commented 5 months ago

you already have the requested ability.

duplicate your image remove all edits from the dup view original and dup to compare

Waiwei8k commented 5 months ago

Do you mean duplicate and remove history stack? When you go into the darkroom view, the default stack gets processed and you get the RAW again, so there's no way to put the image on the snapshot viewer stack. Sorry if I've miss-understood your suggestion.

ptilopteri commented 5 months ago

Message ID: @.***>

open your image in dt take a snapshot open history panel select "O original" and take a snapshot

and you have both images

or I have no idea your purpose.

-- (paka)Patrick Shanahan Plainfield, Indiana, USA @ptilopteri facebook/ptilopteri Photos: http://wahoo.no-ip.org/piwigo paka @ IRCnet oftc

github-actions[bot] commented 3 months ago

This issue has been marked as stale due to inactivity for the last 60 days. It will be automatically closed in 300 days if no update occurs. Please check if the master branch has fixed it and report again or close the issue.

afranke commented 3 months ago

you already have the requested ability.

No. We are asking for the embedded jpeg, which is processed by the camera and stored in the RAW file, not the bare RAW with no edits as you are suggesting. It is shown in the lighttable before any edits are made, and then it is not available anymore. This issue is asking for a way to access it from the darkroom at any given moment, to compare with current edit, as the title says.

wpferguson commented 3 months ago

There is a lua-script that extracts the embedded jpg and groups it with the raw in lighttable, examples/multi_os.

The extracted jpg is not the same resolution as the raw, at least in recent cameras, so overlaying won't work.

afranke commented 3 months ago

I understand this may not be the case for all formats, but my camera (Canon EOS R6) has a full size JPG available (JpgFromRaw for exiftool). We are also not after extreme precision here. The point is to use it as a reference, not to match details.

wpferguson commented 3 months ago

So why not just shoot raw+jpeg?

Waiwei8k commented 3 months ago

Jump though enough hoops and you can do anything, but that misses the point. The real value is having the image easily available with minimum friction. Also, different resolutions could be resolved by scaling the embedded image.

victoryforce commented 3 months ago

The real value is having the image easily available with minimum friction

This will be done soon with the addition of system styles that replicate the processing of specific cameras.

Waiwei8k commented 3 months ago

If it respects the processing settings you have on the camera, that would be a reasonable alternative and a great addition. Sounds like a huge amount of work.

github-actions[bot] commented 1 month ago

This issue has been marked as stale due to inactivity for the last 60 days. It will be automatically closed in 300 days if no update occurs. Please check if the master branch has fixed it and report again or close the issue.

Waiwei8k commented 1 month ago

Ping to mark as not stale.