-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Commit 7dbd9e6
committed
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.
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
adfb1 parent ff2ef23 commit 7dbd9e6Copy full SHA for 7dbd9e6
0 commit comments