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.52k stars 1.13k forks source link

White balance presets for Panasonic Lumix DC-GX800/GX850/GF9 #14131

Open louiscarlier opened 1 year ago

louiscarlier commented 1 year ago

Fine tuned white balance presets for the Panasonic Lumix DC-GX800 (also known as GX850 (America) and GF9 (Japan)).

darktable-whitebalance-20230406.tar.gz

kmilos commented 1 year ago

Thanks for the data, I'll take a stab at it soon.

Btw, it is not guaranteed that regional variants will have identical WB presets, as it is possible they are tuned for different renditions due to cultural preferences...

louiscarlier commented 1 year ago

Many thanks!

Btw, it is not guaranteed that regional variants will have identical WB presets, as it is possible they are tuned for different renditions due to cultural preferences...

It makes sense; I could not find any reliable information on the differences.

kmilos commented 1 year ago

Unfortunately the lookup is done by "base" model (which is DC-GF9 in our database for this camera), and I'm a little bit weary adding this data as DC-GF9 until there is way to verify the presets are identical. Currently, I cannot find any DC-GF9 raw samples anywhere (or even JPEGs to check if there is something useful in their Exif).

@TurboGit Any ideas on how to proceed w/ handling model aliases for WB presets? We already identified this in https://github.com/darktable-org/darktable/issues/11230#issuecomment-1090412874

TurboGit commented 1 year ago

@TurboGit Any ideas on how to proceed w/ handling model aliases for WB presets? We already identified this in #11230 (comment)

What I would do is change the wb_preset.json this way:

  1. Add a new tag named : "model_alias"
  2. The new tag will contain a list of name (aliases)

"model_alias": [ "alias1", "alias2" ... ]

This new tag is of course optional.

We then need to modify the lookup code (wb_preset.c) to take into account this new tag and finally temperature.c to look for those alises if present.

How does that sound?

kmilos commented 1 year ago

What I would do is change the wb_preset.json this way:

  1. Add a new tag named : "model_alias"
  2. The new tag will contain a list of name (aliases)

"model alias": [ "alias1", "alias2" ... ]

This new tag is of course optional.

Why not just turn model into an array with at least one element?

The problem w/ model_alias is that is assumes the alias will have the same presets as the base model - fine for noise profiles, but not for WB as I mentioned above (and as we saw and the FZ300 vs FZ330 example). W/ extending model, one can put more into one group of presets if they are identical, or just list them as separate models.

The temperature.c changes are then more complicated, do we look up by camera_alias only (we'll have to verify and update wb_presets.json to include all the aliases that should be covered as identical as of today), or also fall back to camera_model as a close enough match?

TurboGit commented 1 year ago

Why not just turn model into an array with at least one element?

We can do that of course, but this will require to rewrite all the current json. No big deal, can be done automatically.

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.