Chiaro is an open-source toolkit for browsing and processing Light L16 captures. It is intended to provide a portable alternative to parts of the proprietary Lumen workflow. Linux is currently the primary supported platform.
- Chiaro Gallery browses local or camera-resident
.lricaptures, previews individual camera modules, and runs export pipelines. - Chiaro Hotpixel extracts corrected 16-bit per-camera frames for astrophotography and stacking workflows.
- Chiaro Fuse aligns the modules of a capture and synthesises one high-resolution frame.
- Chiaro Stack denoises every temporal camera burst and combines the resulting modules through calibrated multi-camera fusion.
✅ Available · 🟡 Limited/baseline · 🚧 Planned · ❌ Not available
| Feature | Chiaro | Light Lumen |
|---|---|---|
| Desktop support | ✅ Linux is primary; Windows and macOS release builds | ✅ Windows and macOS |
| Access to captures | ✅ Browse folders or a connected L16 directly over PTP/MTP | ✅ Import captures from the camera |
| Individual camera views | ✅ Contact sheet and full-resolution preview for every module | ❌ Not exposed |
Captures without companion .lris files |
✅ Builds a colour-calibrated preview from LRI RAW data | ❌ Not detected or processed |
| Local catalog | ✅ Inspectable SQLite capture, thumbnail, and export history | ✅ Proprietary imported-photo library |
| Per-camera batch export | ✅ Corrected 16-bit RGB or Bayer PNG stacks; five demosaicing methods | ❌ Not exposed |
| Night-mode denoising | 🟡 Gallery and CLI export with gyro-seeded, motion-aware temporal and multi-camera fusion | ✅ Integrated night processing |
| Computational fusion | 🟡 Calibrated global and dense depth alignment, locally verified multi-camera subpixel reconstruction, and up to 82 MP PNG synthesis | ✅ Depth-aware multi-camera fusion |
| Depth and focus editing | 🚧 Planned | ✅ Focus adjustment, depth effect, and depth-map repair |
| Finished-image formats | 🟡 Fused 16-bit PNG; JPG and DNG planned | ✅ JPG and DNG |
| Best fit | Open browsing, inspection, research, and per-module workflows | Finished-photo fusion and depth editing |
The fusion pipeline builds a calibrated multi-view cost field, uses semi-global matching to seed a finer direct-measurement pass, and accepts only finite depths reproduced by independent camera evidence. Distant, ambiguous, or unsupported regions safely retain the global warp rather than receiving completed depth. Per-camera local refinement and reference-guided robust blending protect object boundaries from double edges. Motion seen differently by every exposure can still lose detail. A classical, bounded-memory resolution stage matches modules at common bandwidth, selects the finest locally verified optical tier, and combines its multiscale coefficients. A denser tele observation can transfer real detail directly; same-resolution reconstruction still requires coherent subpixel phases. Night captures can be processed with temporal and multi-camera fusion in Gallery or Chiaro Stack.
Download a prebuilt Linux archive from GitHub Releases, or install individual applications with Cargo:
cargo install --git https://github.com/shinf1x/chiaro.git chiaro-gallery
cargo install --git https://github.com/shinf1x/chiaro.git chiaro-hotpixel
cargo install --git https://github.com/shinf1x/chiaro.git chiaro-fuse
cargo install --git https://github.com/shinf1x/chiaro.git chiaro-stack-appTo build the complete workspace:
cargo build --workspace --releaseThe resulting binaries are written to target/release/.
| Package | Purpose |
|---|---|
chiaro-gallery |
Native gallery and export application |
chiaro-hotpixel |
Per-camera extraction and correction CLI |
chiaro-fuse |
Multi-camera fusion CLI |
chiaro-stack |
Motion-aware night-frame stacking CLI |
chiaro |
Shared LRI parsing, metadata, and preview decoding |
chiaro-hotpixel-core |
Reusable RAW correction pipeline |
chiaro-fusion |
Alignment and synthesis library |
chiaro-stack |
Temporal RAW denoising library |
chiaro-proto |
Recovered Light metadata bindings |
Chiaro builds on Light L16 format research from
ookami125/lri-cpp,
gennyble/lri-rs, and
dllu/lri-rs. The latter recovered the
original Protocol Buffer definitions from Lumen.
