Skip to content

Releases: rohanpandula/TriRGB

NegPy RGB-mode sample data — narrowband 3-exposure set (a7CR)

22 Jun 03:54
7ec5bdd

Choose a tag to compare

Narrowband RGB-separation set for testing NegPy's planned "RGB (3 separate exposures) mode" (see marcinz606/NegPy roadmap).

One 35mm frame, Sony a7CR (ILCE-7CR), 61 MP (9600×6376), on a copy stand with a narrowband RGB LED backlight. Camera and film are static across all three frames; only the LED changes, so they register to the pixel.

  • DSC00448.ARW — Red LED (raw channel means ≈ 84% R)
  • DSC00449.ARW — Green LED (≈ 74% G)
  • DSC00450.ARW — Blue LED (≈ 68% B)

All ISO 100, 1/25s, custom WB. Per-channel brightness is tuned on the LEDs, so at a fixed shutter the three raw channel means land within ~1.6× of each other (≈ 2190 / 2930 / 3580 for R/G/B). The residual cross-channel signal (84/74/68 vs a perfect 100) is normal Bayer CFA spectral overlap.

Sample data for a NegPy contribution proposal.

TriRGB v0.1.0 — trichromatic narrowband-RGB film scanner

15 Jun 18:14

Choose a tag to compare

Trichromatic narrowband-RGB color-negative film scanner for macOS. A color negative is captured as three R/G/B-lit exposures and composited into a 16-bit linear file for mask-free inversion — Sony a7CR + a Pico-based Scanlight RGB panel.

What's in v0.1.0

  • phase1sony-capture (C++ CLI over the Sony Camera Remote SDK: capture + live view) and scanlightctl (Python serial control for the Scanlight RGB panel).
  • phase2rgb-composite (channel extract / flat-field correction / inversion / QA, with embedded ICC color profiles: linear ProPhoto on the composite, ProPhoto on the rendered positive), triplet-capture (Flask backend + capture orchestrator + per-roll exposure & FFC calibration), batch-composite, and c41-core (shared data contracts).
  • phase3scanlight-app, the SwiftUI macOS operator app (Session · Calibrate · Scan · Develop · Set Up).

Build from source

No prebuilt binary is attached: the app launches local Python + the Sony SDK capture tool, and the Sony Camera Remote SDK is proprietary and not redistributable.

  • SwiftUI app (macOS 13+, Swift 5.9+): cd phase3/FilmScanner && swift build -c release --product scanlight-app (or swift run scanlight-app).
  • Python pipeline (3.11+): install numpy tifffile rawpy Pillow opencv-python flask, then pip install -e phase2/c41-core phase2/rgb-composite phase2/triplet-capture.
  • sony-capture (C++): obtain the Sony Camera Remote SDK — see phase1/sony-capture/third_party/sony_sdk/INSTALL.md — then build per phase1/sony-capture/README.md.

See the top-level README.md and each phase's README for full setup and the operator workflow.

Hardware

Sony a7CR (ILCE-7CR) + custom Scanlight v4 (Pico-based narrowband-RGB LED panel).