-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Maintenance and read more Dng exif colordata #17695
Maintenance and read more Dng exif colordata #17695
Conversation
|
Nice! Too bad RPU is down so we can recheck existing samples... One question, as I'm not too familiar w/ the WB nor CC internals: I noticed the iPhone 16 DNGs (needs JPEG XL support in rawspeed though) have 1 1 1 for |
I guess this pr would help for those images. Could you share one? |
Can't remember where I found a sample, couldn've been here... |
Needs a rebase and conflict resolution after the big code cleanup. |
47742c6
to
bfeeb91
Compare
@jenshannoschwalm That link doesn't seem to contain raws... I now remembered I got the one sample I have from here. |
bfeeb91
to
e5d0963
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, thanks!
Now also read Exif.Image.AnalogBalance and Exif.Image.ForwardMatrix. To allow easier checking of read exif data we initialize the matrixes with usable defaults instead of marking them as invalid and keep track about found data via gbooleans. Name all matrixes as used in the DNG specs to avoid confusion. For easy of maintenance all Illuminant specific data are kept in `struct dt_dng_illuminant_data_t illuminant_data` having `struct dt_dng_illuminant_data_t` per Illuminant. - temperature - human readable Illuminant name for better logs - the xy coordinate - the CA matrix to transform illuminant data to D65 Implemented usage of Exif.Image.AnalogBalance if provided. Added pretty extensive information about found tags and used matrixes via -d imageio. This all requires re-read exif data - done via user request button or fresh import - so no break of old edits. Note about currently unsupported dng features: 1. According to DNG specs we would have to interpolate between illuminants if there is no given D65 illuminant and at least 2 provided illuminant temperatures are one below and one above D65. 2. To improve quality the specs describe and favor the usage of ForwardMatrix if provided. There seems to be more maths involved (matrix diagonalisation ...). 3. The specs describe how to handle DT_LS_Other illuminant. 4. No support for 4 channel images Camera DNG files with (1) or (3) are still pretty rare, for (2) there are at least files from sigma. If we want to have dt progress in this field it would be very nice to get hold on such samples. Thus we check for these cases, report in log and ask the user for feedback via control log to have better chances to get hold on such images to investigate and test implementations. S S adfb
As commented in commit cf9d9f6 there a dng files still problematic for darktable. While reading exif data they now automatically are tagged with "darktable|issue|no-samples" so they can be found easily by the user.
e5d0963
to
d6dfb5e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
@jenshannoschwalm : Can you draft a release note entry please? TIA. |
Release note:
|
DNG Exif: Use AnalogBalance, read more tags and maintenance
Now also read Exif.Image.AnalogBalance and Exif.Image.ForwardMatrix.
To allow easier checking of read exif data we initialize the matrixes with usable defaults instead of marking them as invalid and keep track about found data via gbooleans.
Avoid reading all dng tags if no version has been provided.
Name all matrixes as used in the DNG specs to avoid confusion.
For easy of maintenance all Illuminant specific data are kept in
struct dt_dng_illuminant_data_t illuminant_data
havingstruct dt_dng_illuminant_data_t
per Illuminant.Implemented use of Exif.Image.AnalogBalance if provided.
Added pretty extensive information about found tags and used matrixes via -d imageio.
This all requires re-read exif data - done via user request button or fresh import - so no break of old edits.
Note about currently unsupported dng features:
Camera DNG files with (1) or (3) are still pretty rare, for (2) there are at least files from sigma.
If we want to have dt progress in this field it would be very nice to get hold on such samples. Thus we check for these cases, report in log and ask the user for feedback via control log to have better chances to get hold on such images to investigate and test implementations.
Tag problematic DNG image files
As commented in commit cf9d9f6 there a dng files still problematic for darktable.
While reading exif data they now automatically are tagged with "darktable|github|dng_issue"
so they can be found easily by the user.