Files
lightcraft/crates/denoise
Dylan M. Taylor d8ceb3a6af security/meta,merge,raw,tiff,denoise: bound memory sized by attacker-shaped inputs
XMP flattening, sparse-focus EXIF decode (plus the maker-note and TIFF value
budgets), lossy-DNG chunk staging, panorama stitch frames, the reference ONNX
executor's tensors and the denoise product reader all now reject or cap what a
malformed file can make them allocate: each result is checked before the
memory behind it is reserved, every regression carrying a test that fails
without its bound.
2026-10-25 15:42:19 -04:00
..

lightcraft-denoise

L1 pure-Rust AI RAW denoise primitives and CPU inference. No weights are bundled. See user workflow and limitations.

lightcraft-denoise-core provides metadata, Bayer helpers and cache formats, re-exported here. manifest and known validate opt-in models; onnx reads a bounded operator subset into net; cpu executes it and reference supplies scalar checks. bayer, tiles and run pack sensor data and blend overlapping tiles while preserving clipped highlights. product reads/writes the disposable .lcdn cache. runtime supplies the installation self-test. Synthetic networks are generated in Rust for tests.

Run cargo test -p lightcraft-denoise --features runtime. The CPU backend is optional; featureless and web builds keep the model metadata and cache format without faer/GEMM. The rawnind-model feature enables the otherwise empty download catalog and requires an explicit release-policy decision. Real-model tests are ignored by default and require an explicitly supplied local model. The GPU twin is lightcraft-gpu::nn; model management, background jobs and export integration live in lightcraft-engine.