lightcraft/crates/raw/tests
Trey Reynolds 22c6aa6918 Issue #150: Raw: NEF colour from the camera JPEG; 12-bit NEF black level
LightCraft has no colour matrix for Nikon cameras. Because of this, NEF
files showed colours that were too gray and too green.

- Colour: LightCraft now calculates a colour matrix and a tone curve from
  the JPEG preview in each NEF file. Sony ARW files use the same
  procedure and the same quality checks. White balance is relative to
  the as-shot look, as for ARW files.
- One function, camera_preview::file_local_look, selects the formats for
  the fit and for the relative white balance. Photo::relative_wb in the
  catalog uses the same formats.
- Black level: Nikon stores the black level (maker note 0x003d) in
  14-bit units, also in 12-bit files. The decoder read it as a 12-bit
  value. Because of this, 12-bit files from the D750, D780, D850, D7500
  and Z 50 were too dark. Now the decoder divides the value by 4 for
  12-bit files.
- The corpus gets the D7500 12-bit and 14-bit lossless samples. A test
  compares their levels. The render cache version increases to 9.

Results on 13 NEF files that LightCraft can decode: LightCraft accepted
the fit for all 13 files. The mean colour difference from the camera
JPEG (CIE76 dE) decreased from 13-46 to 2.9-7.8. One file with mixed
light improved by a small quantity only (12.7 to 12.0).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 19:26:45 -05:00
..
corpus.rs Issue #150: Raw: NEF colour from the camera JPEG; 12-bit NEF black level 2026-10-06 19:26:45 -05:00
dng.rs Issue #138: DNG: apply the file's own camera-profile look (HueSatMap, LookTable, ToneCurve) 2026-10-06 10:36:30 -04:00
robust.proptest-regressions M5.4b: faster raw path — bin previews/thumbnails straight from the mosaic 2026-10-01 09:01:53 -04:00
robust.rs M3.2-M3.6: lightcraft-raw DNG, LJ92, demosaic, highlights, DNG colour 2026-09-30 11:33:19 -04:00
vendor_robust.rs Never crash: raw and tiff decoders free of panicking calls 2026-10-04 12:00:26 -04:00